diff options
author | YamaArashi <shadow962@live.com> | 2016-01-06 01:47:28 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-01-06 01:47:28 -0800 |
commit | be8b04496302184c6e8f04d6179f9c3afc50aeb6 (patch) | |
tree | 726e2468c0c07add773c0dbd86ab6386844259ae /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-x | gcc/testsuite/consistency.vlad/layout/biggest-field-align.c | 153 |
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; +} |