91 lines · c
1// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-apple-darwin9 %s2 3#define ATTR __attribute__((__ms_struct__))4 5struct {6 unsigned int bf_1 : 12;7 unsigned int : 0;8 unsigned int bf_2 : 12;9} ATTR t1;10static int a1[(sizeof(t1) == 8) -1];11 12struct13{14 char foo : 4;15 short : 0;16 char bar;17} ATTR t2;18static int a2[(sizeof(t2) == 4) -1];19 20#pragma ms_struct on21struct22{23 char foo : 4;24 short : 0;25 char bar;26} t3;27#pragma ms_struct off28static int a3[(sizeof(t3) == 4) -1];29 30struct31{32 char foo : 6;33 long : 0;34} ATTR t4;35static int a4[(sizeof(t4) == 8) -1];36 37struct38{39 char foo : 4;40 short : 0;41 char bar : 8;42} ATTR t5;43static int a5[(sizeof(t5) == 4) -1];44 45struct46{47 char foo : 4;48 short : 0;49 long : 0;50 char bar;51} ATTR t6;52static int a6[(sizeof(t6) == 4) -1];53 54struct55{56 char foo : 4;57 long : 0;58 short : 0;59 char bar;60} ATTR t7;61static int a7[(sizeof(t7) == 16) -1];62 63struct64{65 char foo : 4;66 short : 0;67 long : 0;68 char bar:7;69} ATTR t8;70static int a8[(sizeof(t8) == 4) -1];71 72struct73{74 char foo : 4;75 long : 0;76 short : 0;77 char bar: 8;78} ATTR t9;79static int a9[(sizeof(t9) == 16) -1];80 81struct82{83 char foo : 4;84 char : 0;85 short : 0;86 int : 0;87 long :0;88 char bar;89} ATTR t10;90static int a10[(sizeof(t10) == 2) -1];91