1 // RUN: %clang_cc1 -verify -triple powerpc-unknown-unknown -emit-llvm -o - %s | \
2 // RUN:   FileCheck %s --check-prefixes=PPC,PPC32
3 // RUN: %clang_cc1 -verify -triple powerpc64le-unknown-linux -emit-llvm -o - %s | \
4 // RUN:   FileCheck %s --check-prefixes=PPC,PPC64
5 // RUN: %clang_cc1 -verify -triple powerpc64-unknown-aix -emit-llvm -o - %s | \
6 // RUN:   FileCheck %s --check-prefixes=PPC,PPC64
7 
8 // PPC: @c = global i8 0, align 1{{$}}
9 _Atomic(char) c; // expected-no-diagnostics
10 
11 // PPC: @s = global i16 0, align 2{{$}}
12 _Atomic(short) s; // expected-no-diagnostics
13 
14 // PPC: @i = global i32 0, align 4{{$}}
15 _Atomic(int) i; // expected-no-diagnostics
16 
17 // PPC32: @l = global i32 0, align 4{{$}}
18 // PPC64: @l = global i64 0, align 8{{$}}
19 _Atomic(long) l; // expected-no-diagnostics
20 
21 // PPC: @ll = global i64 0, align 8{{$}}
22 _Atomic(long long) ll; // expected-no-diagnostics
23 
24 typedef struct {
25   char x[8];
26 } O;
27 
28 // PPC32: @o = global %struct.O zeroinitializer, align 1{{$}}
29 // PPC64: @o = global %struct.O zeroinitializer, align 8{{$}}
30 _Atomic(O) o; // expected-no-diagnostics
31 
32 typedef struct {
33   char x[16];
34 } Q;
35 
36 // PPC: @q = global %struct.Q zeroinitializer, align 1{{$}}
37 _Atomic(Q) q; // expected-no-diagnostics
38