@@ -61,23 +61,6 @@ enum ExtremumOperation {
6161 Min ,
6262}
6363
64- trait EnumClone {
65- fn clone ( & self ) -> Self ;
66- }
67-
68- impl EnumClone for AtomicOrdering {
69- fn clone ( & self ) -> Self {
70- match * self {
71- AtomicOrdering :: Unordered => AtomicOrdering :: Unordered ,
72- AtomicOrdering :: Relaxed => AtomicOrdering :: Relaxed ,
73- AtomicOrdering :: Acquire => AtomicOrdering :: Acquire ,
74- AtomicOrdering :: Release => AtomicOrdering :: Release ,
75- AtomicOrdering :: AcquireRelease => AtomicOrdering :: AcquireRelease ,
76- AtomicOrdering :: SequentiallyConsistent => AtomicOrdering :: SequentiallyConsistent ,
77- }
78- }
79- }
80-
8164pub struct Builder < ' a : ' gcc , ' gcc , ' tcx > {
8265 pub cx : & ' a CodegenCx < ' gcc , ' tcx > ,
8366 pub block : Block < ' gcc > ,
@@ -102,9 +85,9 @@ impl<'a, 'gcc, 'tcx> Builder<'a, 'gcc, 'tcx> {
10285 match order {
10386 // TODO(antoyo): does this make sense?
10487 AtomicOrdering :: AcquireRelease | AtomicOrdering :: Release => AtomicOrdering :: Acquire ,
105- _ => order. clone ( ) ,
88+ _ => order,
10689 } ;
107- let previous_value = self . atomic_load ( dst. get_type ( ) , dst, load_ordering. clone ( ) , Size :: from_bytes ( size) ) ;
90+ let previous_value = self . atomic_load ( dst. get_type ( ) , dst, load_ordering, Size :: from_bytes ( size) ) ;
10891 let previous_var = func. new_local ( None , previous_value. get_type ( ) , "previous_value" ) ;
10992 let return_value = func. new_local ( None , previous_value. get_type ( ) , "return_value" ) ;
11093 self . llbb ( ) . add_assignment ( None , previous_var, previous_value) ;
0 commit comments