Beispiel #1
0
// CHECK: CompoundStmt
void test1() {
  // CHECK-NEXT:     DeclStmt
  // CHECK-NEXT:       VarDecl
  // CHECK-NEXT:         DeclarationName i
  // CHECK-NEXT:         AtomicType
  // CHECK-NEXT:           BuiltinType int
  _Atomic(int) i;

  // CHECK-NEXT:     AtomicExpr __c11_atomic_init
  // CHECK-NEXT:       UnaryOperator &
  // CHECK-NEXT:         DeclRefExpr
  // CHECK-NEXT:           DeclarationName i
  // CHECK-NEXT:       IntegerLiteral 0
  __c11_atomic_init(&i, 0);
}
// CHECK-LABEL: define void @_Z11atomic_initR1Ai
void atomic_init(A& a, int i) {
  // CHECK-NOT: atomic
  // CHECK: tail call void @_ZN1BC1Ei
  __c11_atomic_init(&b, B(i));
  // CHECK-NEXT: ret void
}
 sp_counted_base()
 {
     __c11_atomic_init( &use_count_, 1 );
     __c11_atomic_init( &weak_count_, 1 );
 }
Beispiel #4
0
// CHECK: void test13() {
// CHECK:   _Atomic(int) i;
// CHECK:   __c11_atomic_init(&i, 0);
// CHECK:   __c11_atomic_load(&i, 0);
// CHECK: }
void test13() {
  _Atomic(int) i;
  __c11_atomic_init(&i, 0);
  __c11_atomic_load(&i, 0);
}