summaryrefslogtreecommitdiff
path: root/gcc/testsuite/consistency.vlad/layout/biggest-field-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/biggest-field-align.c
initial commit
Diffstat (limited to 'gcc/testsuite/consistency.vlad/layout/biggest-field-align.c')
-rwxr-xr-xgcc/testsuite/consistency.vlad/layout/biggest-field-align.c153
1 files changed, 153 insertions, 0 deletions
diff --git a/gcc/testsuite/consistency.vlad/layout/biggest-field-align.c b/gcc/testsuite/consistency.vlad/layout/biggest-field-align.c
new file mode 100755
index 0000000..f49dcf3
--- /dev/null
+++ b/gcc/testsuite/consistency.vlad/layout/biggest-field-align.c
@@ -0,0 +1,153 @@
+#include <stdio.h>
+#include <stddef.h>
+
+static struct {char m;} s0;
+static struct {short m;} s1;
+static struct {int m;} s2;
+static struct {long m;} s3;
+static struct {long long m;} s4;
+static struct {char * m;} s5;
+static struct {float m;} s6;
+static struct {double m;} s7;
+static struct {long double m;} s8;
+static struct {ptrdiff_t m;} s9;
+static struct {size_t m;} s10;
+static struct {wchar_t m;} s11;
+static struct {struct {char m;}m;} s12;
+static struct {struct {short m;}m;} s13;
+static struct {struct {int m;}m;} s14;
+static struct {struct {long m;}m;} s15;
+static struct {struct {long long m;}m;} s16;
+static struct {struct {char * m;}m;} s17;
+static struct {struct {float m;}m;} s18;
+static struct {struct {double m;}m;} s19;
+static struct {struct {long double m;}m;} s20;
+static struct {struct {ptrdiff_t m;}m;} s21;
+static struct {struct {size_t m;}m;} s22;
+static struct {struct {wchar_t m;}m;} s23;
+static struct {char m [10];} s24;
+static struct {short m [10];} s25;
+static struct {int m [10];} s26;
+static struct {long m [10];} s27;
+static struct {long long m [10];} s28;
+static struct {char * m [10];} s29;
+static struct {float m [10];} s30;
+static struct {double m [10];} s31;
+static struct {long double m [10];} s32;
+static struct {ptrdiff_t m [10];} s33;
+static struct {size_t m [10];} s34;
+static struct {wchar_t m [10];} s35;
+static struct {int :0; char m;} s36;
+static struct {int :0; short m;} s37;
+static struct {int :0; int m;} s38;
+static struct {int :0; long m;} s39;
+static struct {int :0; long long m;} s40;
+static struct {int :0; char * m;} s41;
+static struct {int :0; float m;} s42;
+static struct {int :0; double m;} s43;
+static struct {int :0; long double m;} s44;
+static struct {int :0; ptrdiff_t m;} s45;
+static struct {int :0; size_t m;} s46;
+static struct {int :0; wchar_t m;} s47;
+int main (void) {
+ int max_align = 0;
+ printf ("+++Biggest field alignment:\n");
+ if (max_align < __alignof__ (s0.m))
+ max_align = __alignof__ (s0.m);
+ if (max_align < __alignof__ (s1.m))
+ max_align = __alignof__ (s1.m);
+ if (max_align < __alignof__ (s2.m))
+ max_align = __alignof__ (s2.m);
+ if (max_align < __alignof__ (s3.m))
+ max_align = __alignof__ (s3.m);
+ if (max_align < __alignof__ (s4.m))
+ max_align = __alignof__ (s4.m);
+ if (max_align < __alignof__ (s5.m))
+ max_align = __alignof__ (s5.m);
+ if (max_align < __alignof__ (s6.m))
+ max_align = __alignof__ (s6.m);
+ if (max_align < __alignof__ (s7.m))
+ max_align = __alignof__ (s7.m);
+ if (max_align < __alignof__ (s8.m))
+ max_align = __alignof__ (s8.m);
+ if (max_align < __alignof__ (s9.m))
+ max_align = __alignof__ (s9.m);
+ if (max_align < __alignof__ (s10.m))
+ max_align = __alignof__ (s10.m);
+ if (max_align < __alignof__ (s11.m))
+ max_align = __alignof__ (s11.m);
+ if (max_align < __alignof__ (s12.m))
+ max_align = __alignof__ (s12.m);
+ if (max_align < __alignof__ (s13.m))
+ max_align = __alignof__ (s13.m);
+ if (max_align < __alignof__ (s14.m))
+ max_align = __alignof__ (s14.m);
+ if (max_align < __alignof__ (s15.m))
+ max_align = __alignof__ (s15.m);
+ if (max_align < __alignof__ (s16.m))
+ max_align = __alignof__ (s16.m);
+ if (max_align < __alignof__ (s17.m))
+ max_align = __alignof__ (s17.m);
+ if (max_align < __alignof__ (s18.m))
+ max_align = __alignof__ (s18.m);
+ if (max_align < __alignof__ (s19.m))
+ max_align = __alignof__ (s19.m);
+ if (max_align < __alignof__ (s20.m))
+ max_align = __alignof__ (s20.m);
+ if (max_align < __alignof__ (s21.m))
+ max_align = __alignof__ (s21.m);
+ if (max_align < __alignof__ (s22.m))
+ max_align = __alignof__ (s22.m);
+ if (max_align < __alignof__ (s23.m))
+ max_align = __alignof__ (s23.m);
+ if (max_align < __alignof__ (s24.m))
+ max_align = __alignof__ (s24.m);
+ if (max_align < __alignof__ (s25.m))
+ max_align = __alignof__ (s25.m);
+ if (max_align < __alignof__ (s26.m))
+ max_align = __alignof__ (s26.m);
+ if (max_align < __alignof__ (s27.m))
+ max_align = __alignof__ (s27.m);
+ if (max_align < __alignof__ (s28.m))
+ max_align = __alignof__ (s28.m);
+ if (max_align < __alignof__ (s29.m))
+ max_align = __alignof__ (s29.m);
+ if (max_align < __alignof__ (s30.m))
+ max_align = __alignof__ (s30.m);
+ if (max_align < __alignof__ (s31.m))
+ max_align = __alignof__ (s31.m);
+ if (max_align < __alignof__ (s32.m))
+ max_align = __alignof__ (s32.m);
+ if (max_align < __alignof__ (s33.m))
+ max_align = __alignof__ (s33.m);
+ if (max_align < __alignof__ (s34.m))
+ max_align = __alignof__ (s34.m);
+ if (max_align < __alignof__ (s35.m))
+ max_align = __alignof__ (s35.m);
+ if (max_align < __alignof__ (s36.m))
+ max_align = __alignof__ (s36.m);
+ if (max_align < __alignof__ (s37.m))
+ max_align = __alignof__ (s37.m);
+ if (max_align < __alignof__ (s38.m))
+ max_align = __alignof__ (s38.m);
+ if (max_align < __alignof__ (s39.m))
+ max_align = __alignof__ (s39.m);
+ if (max_align < __alignof__ (s40.m))
+ max_align = __alignof__ (s40.m);
+ if (max_align < __alignof__ (s41.m))
+ max_align = __alignof__ (s41.m);
+ if (max_align < __alignof__ (s42.m))
+ max_align = __alignof__ (s42.m);
+ if (max_align < __alignof__ (s43.m))
+ max_align = __alignof__ (s43.m);
+ if (max_align < __alignof__ (s44.m))
+ max_align = __alignof__ (s44.m);
+ if (max_align < __alignof__ (s45.m))
+ max_align = __alignof__ (s45.m);
+ if (max_align < __alignof__ (s46.m))
+ max_align = __alignof__ (s46.m);
+ if (max_align < __alignof__ (s47.m))
+ max_align = __alignof__ (s47.m);
+ printf ("max field align=%d\n", max_align);
+ return 0;
+}