1 // RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-unknown-nacl | FileCheck %s 2 // Check that i686-nacl essentially has -malign-double, which aligns 3 // double, long double, and long long to 64-bits. 4 5 int checksize[sizeof(long double) == 8 ? 1 : -1]; 6 int checkalign[__alignof(long double) == 8 ? 1 : -1]; 7 8 // CHECK-LABEL: define void @s1(double %a) s1(long double a)9void s1(long double a) {} 10 11 struct st_ld { 12 char c; 13 long double ld; 14 }; 15 int checksize2[sizeof(struct st_ld) == 16 ? 1 : -1]; 16 int checkalign2[__alignof(struct st_ld) == 8 ? 1 : -1]; 17 18 int checksize3[sizeof(double) == 8 ? 1 : -1]; 19 int checkalign3[__alignof(double) == 8 ? 1 : -1]; 20 21 // CHECK-LABEL: define void @s2(double %a) s2(double a)22void s2(double a) {} 23 24 struct st_d { 25 char c; 26 double d; 27 }; 28 int checksize4[sizeof(struct st_d) == 16 ? 1 : -1]; 29 int checkalign4[__alignof(struct st_d) == 8 ? 1 : -1]; 30 31 32 int checksize5[sizeof(long long) == 8 ? 1 : -1]; 33 int checkalign5[__alignof(long long) == 8 ? 1 : -1]; 34 35 // CHECK-LABEL: define void @s3(i64 %a) s3(long long a)36void s3(long long a) {} 37 38 struct st_ll { 39 char c; 40 long long ll; 41 }; 42 int checksize6[sizeof(struct st_ll) == 16 ? 1 : -1]; 43 int checkalign6[__alignof(struct st_ll) == 8 ? 1 : -1]; 44