summaryrefslogtreecommitdiff
path: root/gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-01-06 01:47:28 -0800
committerYamaArashi <shadow962@live.com>2016-01-06 01:47:28 -0800
commitbe8b04496302184c6e8f04d6179f9c3afc50aeb6 (patch)
tree726e2468c0c07add773c0dbd86ab6386844259ae /gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c
initial commit
Diffstat (limited to 'gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c')
-rwxr-xr-xgcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c551
1 files changed, 551 insertions, 0 deletions
diff --git a/gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c b/gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c
new file mode 100755
index 0000000..131ea4d
--- /dev/null
+++ b/gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c
@@ -0,0 +1,551 @@
+#include <stdio.h>
+#include <stddef.h>
+
+static struct {} s0;
+static union {} u0;
+static struct {int :0;} s1;
+static union {int :0;} u1;
+static struct {char m;} s2;
+static union {char m;} u2;
+static struct {short m;} s3;
+static union {short m;} u3;
+static struct {int m;} s4;
+static union {int m;} u4;
+static struct {long m;} s5;
+static union {long m;} u5;
+static struct {long long m;} s6;
+static union {long long m;} u6;
+static struct {char * m;} s7;
+static union {char * m;} u7;
+static struct {float m;} s8;
+static union {float m;} u8;
+static struct {double m;} s9;
+static union {double m;} u9;
+static struct {long double m;} s10;
+static union {long double m;} u10;
+static struct {ptrdiff_t m;} s11;
+static union {ptrdiff_t m;} u11;
+static struct {size_t m;} s12;
+static union {size_t m;} u12;
+static struct {wchar_t m;} s13;
+static union {wchar_t m;} u13;
+static struct {struct {char m;}m;} s14;
+static union {struct {char m;}m;} u14;
+static struct {union {char m;}m;} s15;
+static union {union {char m;}m;} u15;
+static struct {struct {short m;}m;} s16;
+static union {struct {short m;}m;} u16;
+static struct {union {short m;}m;} s17;
+static union {union {short m;}m;} u17;
+static struct {struct {int m;}m;} s18;
+static union {struct {int m;}m;} u18;
+static struct {union {int m;}m;} s19;
+static union {union {int m;}m;} u19;
+static struct {struct {long m;}m;} s20;
+static union {struct {long m;}m;} u20;
+static struct {union {long m;}m;} s21;
+static union {union {long m;}m;} u21;
+static struct {struct {long long m;}m;} s22;
+static union {struct {long long m;}m;} u22;
+static struct {union {long long m;}m;} s23;
+static union {union {long long m;}m;} u23;
+static struct {struct {char * m;}m;} s24;
+static union {struct {char * m;}m;} u24;
+static struct {union {char * m;}m;} s25;
+static union {union {char * m;}m;} u25;
+static struct {struct {float m;}m;} s26;
+static union {struct {float m;}m;} u26;
+static struct {union {float m;}m;} s27;
+static union {union {float m;}m;} u27;
+static struct {struct {double m;}m;} s28;
+static union {struct {double m;}m;} u28;
+static struct {union {double m;}m;} s29;
+static union {union {double m;}m;} u29;
+static struct {struct {long double m;}m;} s30;
+static union {struct {long double m;}m;} u30;
+static struct {union {long double m;}m;} s31;
+static union {union {long double m;}m;} u31;
+static struct {struct {ptrdiff_t m;}m;} s32;
+static union {struct {ptrdiff_t m;}m;} u32;
+static struct {union {ptrdiff_t m;}m;} s33;
+static union {union {ptrdiff_t m;}m;} u33;
+static struct {struct {size_t m;}m;} s34;
+static union {struct {size_t m;}m;} u34;
+static struct {union {size_t m;}m;} s35;
+static union {union {size_t m;}m;} u35;
+static struct {struct {wchar_t m;}m;} s36;
+static union {struct {wchar_t m;}m;} u36;
+static struct {union {wchar_t m;}m;} s37;
+static union {union {wchar_t m;}m;} u37;
+static struct {struct {}m;} s38;
+static union {struct {}m;} u38;
+static struct {union {}m;} s39;
+static union {union {}m;} u39;
+static struct {struct {int :0;}m;} s40;
+static union {struct {int :0;}m;} u40;
+static struct {union {int :0;}m;} s41;
+static union {union {int :0;}m;} u41;
+static struct {char m [0];} s42;
+static union {char m [0];} u42;
+static struct {short m [0];} s43;
+static union {short m [0];} u43;
+static struct {int m [0];} s44;
+static union {int m [0];} u44;
+static struct {long m [0];} s45;
+static union {long m [0];} u45;
+static struct {long long m [0];} s46;
+static union {long long m [0];} u46;
+static struct {char * m [0];} s47;
+static union {char * m [0];} u47;
+static struct {float m [0];} s48;
+static union {float m [0];} u48;
+static struct {double m [0];} s49;
+static union {double m [0];} u49;
+static struct {long double m [0];} s50;
+static union {long double m [0];} u50;
+static struct {ptrdiff_t m [0];} s51;
+static union {ptrdiff_t m [0];} u51;
+static struct {size_t m [0];} s52;
+static union {size_t m [0];} u52;
+static struct {wchar_t m [0];} s53;
+static union {wchar_t m [0];} u53;
+int main (void) {
+ int min_size = 0;
+ int min_align = 0;
+ printf ("+++Minimal struct size/alignment:\n");
+ if (min_size > sizeof (s0))
+ min_size = sizeof (s0);
+ if (min_align > __alignof__ (s0))
+ min_align = __alignof__ (s0);
+ if (min_size > sizeof (u0))
+ min_size = sizeof (u0);
+ if (min_align > __alignof__ (u0))
+ min_align = __alignof__ (u0);
+ if (min_size > sizeof (s1))
+ min_size = sizeof (s1);
+ if (min_align > __alignof__ (s1))
+ min_align = __alignof__ (s1);
+ if (min_size > sizeof (u1))
+ min_size = sizeof (u1);
+ if (min_align > __alignof__ (u1))
+ min_align = __alignof__ (u1);
+ if (min_size > sizeof (s2))
+ min_size = sizeof (s2);
+ if (min_align > __alignof__ (s2))
+ min_align = __alignof__ (s2);
+ if (min_size > sizeof (u2))
+ min_size = sizeof (u2);
+ if (min_align > __alignof__ (u2))
+ min_align = __alignof__ (u2);
+ if (min_size > sizeof (s3))
+ min_size = sizeof (s3);
+ if (min_align > __alignof__ (s3))
+ min_align = __alignof__ (s3);
+ if (min_size > sizeof (u3))
+ min_size = sizeof (u3);
+ if (min_align > __alignof__ (u3))
+ min_align = __alignof__ (u3);
+ if (min_size > sizeof (s4))
+ min_size = sizeof (s4);
+ if (min_align > __alignof__ (s4))
+ min_align = __alignof__ (s4);
+ if (min_size > sizeof (u4))
+ min_size = sizeof (u4);
+ if (min_align > __alignof__ (u4))
+ min_align = __alignof__ (u4);
+ if (min_size > sizeof (s5))
+ min_size = sizeof (s5);
+ if (min_align > __alignof__ (s5))
+ min_align = __alignof__ (s5);
+ if (min_size > sizeof (u5))
+ min_size = sizeof (u5);
+ if (min_align > __alignof__ (u5))
+ min_align = __alignof__ (u5);
+ if (min_size > sizeof (s6))
+ min_size = sizeof (s6);
+ if (min_align > __alignof__ (s6))
+ min_align = __alignof__ (s6);
+ if (min_size > sizeof (u6))
+ min_size = sizeof (u6);
+ if (min_align > __alignof__ (u6))
+ min_align = __alignof__ (u6);
+ if (min_size > sizeof (s7))
+ min_size = sizeof (s7);
+ if (min_align > __alignof__ (s7))
+ min_align = __alignof__ (s7);
+ if (min_size > sizeof (u7))
+ min_size = sizeof (u7);
+ if (min_align > __alignof__ (u7))
+ min_align = __alignof__ (u7);
+ if (min_size > sizeof (s8))
+ min_size = sizeof (s8);
+ if (min_align > __alignof__ (s8))
+ min_align = __alignof__ (s8);
+ if (min_size > sizeof (u8))
+ min_size = sizeof (u8);
+ if (min_align > __alignof__ (u8))
+ min_align = __alignof__ (u8);
+ if (min_size > sizeof (s9))
+ min_size = sizeof (s9);
+ if (min_align > __alignof__ (s9))
+ min_align = __alignof__ (s9);
+ if (min_size > sizeof (u9))
+ min_size = sizeof (u9);
+ if (min_align > __alignof__ (u9))
+ min_align = __alignof__ (u9);
+ if (min_size > sizeof (s10))
+ min_size = sizeof (s10);
+ if (min_align > __alignof__ (s10))
+ min_align = __alignof__ (s10);
+ if (min_size > sizeof (u10))
+ min_size = sizeof (u10);
+ if (min_align > __alignof__ (u10))
+ min_align = __alignof__ (u10);
+ if (min_size > sizeof (s11))
+ min_size = sizeof (s11);
+ if (min_align > __alignof__ (s11))
+ min_align = __alignof__ (s11);
+ if (min_size > sizeof (u11))
+ min_size = sizeof (u11);
+ if (min_align > __alignof__ (u11))
+ min_align = __alignof__ (u11);
+ if (min_size > sizeof (s12))
+ min_size = sizeof (s12);
+ if (min_align > __alignof__ (s12))
+ min_align = __alignof__ (s12);
+ if (min_size > sizeof (u12))
+ min_size = sizeof (u12);
+ if (min_align > __alignof__ (u12))
+ min_align = __alignof__ (u12);
+ if (min_size > sizeof (s13))
+ min_size = sizeof (s13);
+ if (min_align > __alignof__ (s13))
+ min_align = __alignof__ (s13);
+ if (min_size > sizeof (u13))
+ min_size = sizeof (u13);
+ if (min_align > __alignof__ (u13))
+ min_align = __alignof__ (u13);
+ if (min_size > sizeof (s14))
+ min_size = sizeof (s14);
+ if (min_align > __alignof__ (s14))
+ min_align = __alignof__ (s14);
+ if (min_size > sizeof (u14))
+ min_size = sizeof (u14);
+ if (min_align > __alignof__ (u14))
+ min_align = __alignof__ (u14);
+ if (min_size > sizeof (s15))
+ min_size = sizeof (s15);
+ if (min_align > __alignof__ (s15))
+ min_align = __alignof__ (s15);
+ if (min_size > sizeof (u15))
+ min_size = sizeof (u15);
+ if (min_align > __alignof__ (u15))
+ min_align = __alignof__ (u15);
+ if (min_size > sizeof (s16))
+ min_size = sizeof (s16);
+ if (min_align > __alignof__ (s16))
+ min_align = __alignof__ (s16);
+ if (min_size > sizeof (u16))
+ min_size = sizeof (u16);
+ if (min_align > __alignof__ (u16))
+ min_align = __alignof__ (u16);
+ if (min_size > sizeof (s17))
+ min_size = sizeof (s17);
+ if (min_align > __alignof__ (s17))
+ min_align = __alignof__ (s17);
+ if (min_size > sizeof (u17))
+ min_size = sizeof (u17);
+ if (min_align > __alignof__ (u17))
+ min_align = __alignof__ (u17);
+ if (min_size > sizeof (s18))
+ min_size = sizeof (s18);
+ if (min_align > __alignof__ (s18))
+ min_align = __alignof__ (s18);
+ if (min_size > sizeof (u18))
+ min_size = sizeof (u18);
+ if (min_align > __alignof__ (u18))
+ min_align = __alignof__ (u18);
+ if (min_size > sizeof (s19))
+ min_size = sizeof (s19);
+ if (min_align > __alignof__ (s19))
+ min_align = __alignof__ (s19);
+ if (min_size > sizeof (u19))
+ min_size = sizeof (u19);
+ if (min_align > __alignof__ (u19))
+ min_align = __alignof__ (u19);
+ if (min_size > sizeof (s20))
+ min_size = sizeof (s20);
+ if (min_align > __alignof__ (s20))
+ min_align = __alignof__ (s20);
+ if (min_size > sizeof (u20))
+ min_size = sizeof (u20);
+ if (min_align > __alignof__ (u20))
+ min_align = __alignof__ (u20);
+ if (min_size > sizeof (s21))
+ min_size = sizeof (s21);
+ if (min_align > __alignof__ (s21))
+ min_align = __alignof__ (s21);
+ if (min_size > sizeof (u21))
+ min_size = sizeof (u21);
+ if (min_align > __alignof__ (u21))
+ min_align = __alignof__ (u21);
+ if (min_size > sizeof (s22))
+ min_size = sizeof (s22);
+ if (min_align > __alignof__ (s22))
+ min_align = __alignof__ (s22);
+ if (min_size > sizeof (u22))
+ min_size = sizeof (u22);
+ if (min_align > __alignof__ (u22))
+ min_align = __alignof__ (u22);
+ if (min_size > sizeof (s23))
+ min_size = sizeof (s23);
+ if (min_align > __alignof__ (s23))
+ min_align = __alignof__ (s23);
+ if (min_size > sizeof (u23))
+ min_size = sizeof (u23);
+ if (min_align > __alignof__ (u23))
+ min_align = __alignof__ (u23);
+ if (min_size > sizeof (s24))
+ min_size = sizeof (s24);
+ if (min_align > __alignof__ (s24))
+ min_align = __alignof__ (s24);
+ if (min_size > sizeof (u24))
+ min_size = sizeof (u24);
+ if (min_align > __alignof__ (u24))
+ min_align = __alignof__ (u24);
+ if (min_size > sizeof (s25))
+ min_size = sizeof (s25);
+ if (min_align > __alignof__ (s25))
+ min_align = __alignof__ (s25);
+ if (min_size > sizeof (u25))
+ min_size = sizeof (u25);
+ if (min_align > __alignof__ (u25))
+ min_align = __alignof__ (u25);
+ if (min_size > sizeof (s26))
+ min_size = sizeof (s26);
+ if (min_align > __alignof__ (s26))
+ min_align = __alignof__ (s26);
+ if (min_size > sizeof (u26))
+ min_size = sizeof (u26);
+ if (min_align > __alignof__ (u26))
+ min_align = __alignof__ (u26);
+ if (min_size > sizeof (s27))
+ min_size = sizeof (s27);
+ if (min_align > __alignof__ (s27))
+ min_align = __alignof__ (s27);
+ if (min_size > sizeof (u27))
+ min_size = sizeof (u27);
+ if (min_align > __alignof__ (u27))
+ min_align = __alignof__ (u27);
+ if (min_size > sizeof (s28))
+ min_size = sizeof (s28);
+ if (min_align > __alignof__ (s28))
+ min_align = __alignof__ (s28);
+ if (min_size > sizeof (u28))
+ min_size = sizeof (u28);
+ if (min_align > __alignof__ (u28))
+ min_align = __alignof__ (u28);
+ if (min_size > sizeof (s29))
+ min_size = sizeof (s29);
+ if (min_align > __alignof__ (s29))
+ min_align = __alignof__ (s29);
+ if (min_size > sizeof (u29))
+ min_size = sizeof (u29);
+ if (min_align > __alignof__ (u29))
+ min_align = __alignof__ (u29);
+ if (min_size > sizeof (s30))
+ min_size = sizeof (s30);
+ if (min_align > __alignof__ (s30))
+ min_align = __alignof__ (s30);
+ if (min_size > sizeof (u30))
+ min_size = sizeof (u30);
+ if (min_align > __alignof__ (u30))
+ min_align = __alignof__ (u30);
+ if (min_size > sizeof (s31))
+ min_size = sizeof (s31);
+ if (min_align > __alignof__ (s31))
+ min_align = __alignof__ (s31);
+ if (min_size > sizeof (u31))
+ min_size = sizeof (u31);
+ if (min_align > __alignof__ (u31))
+ min_align = __alignof__ (u31);
+ if (min_size > sizeof (s32))
+ min_size = sizeof (s32);
+ if (min_align > __alignof__ (s32))
+ min_align = __alignof__ (s32);
+ if (min_size > sizeof (u32))
+ min_size = sizeof (u32);
+ if (min_align > __alignof__ (u32))
+ min_align = __alignof__ (u32);
+ if (min_size > sizeof (s33))
+ min_size = sizeof (s33);
+ if (min_align > __alignof__ (s33))
+ min_align = __alignof__ (s33);
+ if (min_size > sizeof (u33))
+ min_size = sizeof (u33);
+ if (min_align > __alignof__ (u33))
+ min_align = __alignof__ (u33);
+ if (min_size > sizeof (s34))
+ min_size = sizeof (s34);
+ if (min_align > __alignof__ (s34))
+ min_align = __alignof__ (s34);
+ if (min_size > sizeof (u34))
+ min_size = sizeof (u34);
+ if (min_align > __alignof__ (u34))
+ min_align = __alignof__ (u34);
+ if (min_size > sizeof (s35))
+ min_size = sizeof (s35);
+ if (min_align > __alignof__ (s35))
+ min_align = __alignof__ (s35);
+ if (min_size > sizeof (u35))
+ min_size = sizeof (u35);
+ if (min_align > __alignof__ (u35))
+ min_align = __alignof__ (u35);
+ if (min_size > sizeof (s36))
+ min_size = sizeof (s36);
+ if (min_align > __alignof__ (s36))
+ min_align = __alignof__ (s36);
+ if (min_size > sizeof (u36))
+ min_size = sizeof (u36);
+ if (min_align > __alignof__ (u36))
+ min_align = __alignof__ (u36);
+ if (min_size > sizeof (s37))
+ min_size = sizeof (s37);
+ if (min_align > __alignof__ (s37))
+ min_align = __alignof__ (s37);
+ if (min_size > sizeof (u37))
+ min_size = sizeof (u37);
+ if (min_align > __alignof__ (u37))
+ min_align = __alignof__ (u37);
+ if (min_size > sizeof (s38))
+ min_size = sizeof (s38);
+ if (min_align > __alignof__ (s38))
+ min_align = __alignof__ (s38);
+ if (min_size > sizeof (u38))
+ min_size = sizeof (u38);
+ if (min_align > __alignof__ (u38))
+ min_align = __alignof__ (u38);
+ if (min_size > sizeof (s39))
+ min_size = sizeof (s39);
+ if (min_align > __alignof__ (s39))
+ min_align = __alignof__ (s39);
+ if (min_size > sizeof (u39))
+ min_size = sizeof (u39);
+ if (min_align > __alignof__ (u39))
+ min_align = __alignof__ (u39);
+ if (min_size > sizeof (s40))
+ min_size = sizeof (s40);
+ if (min_align > __alignof__ (s40))
+ min_align = __alignof__ (s40);
+ if (min_size > sizeof (u40))
+ min_size = sizeof (u40);
+ if (min_align > __alignof__ (u40))
+ min_align = __alignof__ (u40);
+ if (min_size > sizeof (s41))
+ min_size = sizeof (s41);
+ if (min_align > __alignof__ (s41))
+ min_align = __alignof__ (s41);
+ if (min_size > sizeof (u41))
+ min_size = sizeof (u41);
+ if (min_align > __alignof__ (u41))
+ min_align = __alignof__ (u41);
+ if (min_size > sizeof (s42))
+ min_size = sizeof (s42);
+ if (min_align > __alignof__ (s42))
+ min_align = __alignof__ (s42);
+ if (min_size > sizeof (u42))
+ min_size = sizeof (u42);
+ if (min_align > __alignof__ (u42))
+ min_align = __alignof__ (u42);
+ if (min_size > sizeof (s43))
+ min_size = sizeof (s43);
+ if (min_align > __alignof__ (s43))
+ min_align = __alignof__ (s43);
+ if (min_size > sizeof (u43))
+ min_size = sizeof (u43);
+ if (min_align > __alignof__ (u43))
+ min_align = __alignof__ (u43);
+ if (min_size > sizeof (s44))
+ min_size = sizeof (s44);
+ if (min_align > __alignof__ (s44))
+ min_align = __alignof__ (s44);
+ if (min_size > sizeof (u44))
+ min_size = sizeof (u44);
+ if (min_align > __alignof__ (u44))
+ min_align = __alignof__ (u44);
+ if (min_size > sizeof (s45))
+ min_size = sizeof (s45);
+ if (min_align > __alignof__ (s45))
+ min_align = __alignof__ (s45);
+ if (min_size > sizeof (u45))
+ min_size = sizeof (u45);
+ if (min_align > __alignof__ (u45))
+ min_align = __alignof__ (u45);
+ if (min_size > sizeof (s46))
+ min_size = sizeof (s46);
+ if (min_align > __alignof__ (s46))
+ min_align = __alignof__ (s46);
+ if (min_size > sizeof (u46))
+ min_size = sizeof (u46);
+ if (min_align > __alignof__ (u46))
+ min_align = __alignof__ (u46);
+ if (min_size > sizeof (s47))
+ min_size = sizeof (s47);
+ if (min_align > __alignof__ (s47))
+ min_align = __alignof__ (s47);
+ if (min_size > sizeof (u47))
+ min_size = sizeof (u47);
+ if (min_align > __alignof__ (u47))
+ min_align = __alignof__ (u47);
+ if (min_size > sizeof (s48))
+ min_size = sizeof (s48);
+ if (min_align > __alignof__ (s48))
+ min_align = __alignof__ (s48);
+ if (min_size > sizeof (u48))
+ min_size = sizeof (u48);
+ if (min_align > __alignof__ (u48))
+ min_align = __alignof__ (u48);
+ if (min_size > sizeof (s49))
+ min_size = sizeof (s49);
+ if (min_align > __alignof__ (s49))
+ min_align = __alignof__ (s49);
+ if (min_size > sizeof (u49))
+ min_size = sizeof (u49);
+ if (min_align > __alignof__ (u49))
+ min_align = __alignof__ (u49);
+ if (min_size > sizeof (s50))
+ min_size = sizeof (s50);
+ if (min_align > __alignof__ (s50))
+ min_align = __alignof__ (s50);
+ if (min_size > sizeof (u50))
+ min_size = sizeof (u50);
+ if (min_align > __alignof__ (u50))
+ min_align = __alignof__ (u50);
+ if (min_size > sizeof (s51))
+ min_size = sizeof (s51);
+ if (min_align > __alignof__ (s51))
+ min_align = __alignof__ (s51);
+ if (min_size > sizeof (u51))
+ min_size = sizeof (u51);
+ if (min_align > __alignof__ (u51))
+ min_align = __alignof__ (u51);
+ if (min_size > sizeof (s52))
+ min_size = sizeof (s52);
+ if (min_align > __alignof__ (s52))
+ min_align = __alignof__ (s52);
+ if (min_size > sizeof (u52))
+ min_size = sizeof (u52);
+ if (min_align > __alignof__ (u52))
+ min_align = __alignof__ (u52);
+ if (min_size > sizeof (s53))
+ min_size = sizeof (s53);
+ if (min_align > __alignof__ (s53))
+ min_align = __alignof__ (s53);
+ if (min_size > sizeof (u53))
+ min_size = sizeof (u53);
+ if (min_align > __alignof__ (u53))
+ min_align = __alignof__ (u53);
+ printf ("min struct/union size =%d\n", min_size);
+ printf ("min struct/union align=%d\n", min_align);
+ return 0;
+}