51 lines
2.9 KiB
C
51 lines
2.9 KiB
C
#включить "тест.з"
|
||
#включить "stdvv.c"
|
||
|
||
цел _Выравнивание(512) г1;
|
||
цел _Выравнивание(512) г2;
|
||
символ г3;
|
||
цел г4;
|
||
длин г5;
|
||
символ г6;
|
||
|
||
цел главн() {
|
||
ПРОВЕРИТЬ(1, _Выравнивание_типа(символ));
|
||
ПРОВЕРИТЬ(2, _Выравнивание_типа(short));
|
||
ПРОВЕРИТЬ(4, _Выравнивание_типа(цел));
|
||
ПРОВЕРИТЬ(8, _Выравнивание_типа(длин));
|
||
ПРОВЕРИТЬ(8, _Выравнивание_типа(длин длин));
|
||
ПРОВЕРИТЬ(1, _Выравнивание_типа(символ[3]));
|
||
ПРОВЕРИТЬ(4, _Выравнивание_типа(цел[3]));
|
||
ПРОВЕРИТЬ(1, _Выравнивание_типа(структ {символ а; символ б;}[2]));
|
||
ПРОВЕРИТЬ(8, _Выравнивание_типа(структ {символ а; длин б;}[2]));
|
||
|
||
ПРОВЕРИТЬ(1, ({ _Выравнивание(символ) символ х, у; &у-&х; }));
|
||
ПРОВЕРИТЬ(8, ({ _Выравнивание(длин) символ х, у; &у-&х; }));
|
||
ПРОВЕРИТЬ(32, ({ _Выравнивание(32) символ х, у; &у-&х; }));
|
||
ПРОВЕРИТЬ(32, ({ _Выравнивание(32) цел *х, *у; ((символ *)&у)-((символ *)&х); }));
|
||
ПРОВЕРИТЬ(16, ({ структ { _Выравнивание(16) символ х, у; } а; &а.у-&а.х; }));
|
||
ПРОВЕРИТЬ(8, ({ структ T { _Выравнивание(8) символ а; }; _Выравнивание_типа(структ T); }));
|
||
|
||
ПРОВЕРИТЬ(0, (длин)(символ *)&г1 % 512);
|
||
ПРОВЕРИТЬ(0, (длин)(символ *)&г2 % 512);
|
||
ПРОВЕРИТЬ(0, (длин)(символ *)&г4 % 4);
|
||
ПРОВЕРИТЬ(0, (длин)(символ *)&г5 % 8);
|
||
|
||
ПРОВЕРИТЬ(1, ({ символ х; _Выравнивание_типа(х); }));
|
||
ПРОВЕРИТЬ(4, ({ цел х; _Выравнивание_типа(х); }));
|
||
ПРОВЕРИТЬ(1, ({ символ х; _Выравнивание_типа х; }));
|
||
ПРОВЕРИТЬ(4, ({ цел х; _Выравнивание_типа х; }));
|
||
|
||
ПРОВЕРИТЬ(1, _Выравнивание_типа(символ) << 31 >> 31);
|
||
ПРОВЕРИТЬ(1, _Выравнивание_типа(символ) << 63 >> 63);
|
||
ПРОВЕРИТЬ(1, ({ символ х; _Выравнивание_типа(х) << 63 >> 63; }));
|
||
|
||
ПРОВЕРИТЬ(0, ({ символ х[16]; (беззнак длин)&х % 16; }));
|
||
ПРОВЕРИТЬ(0, ({ символ х[17]; (беззнак длин)&х % 16; }));
|
||
ПРОВЕРИТЬ(0, ({ символ х[100]; (беззнак длин)&х % 16; }));
|
||
ПРОВЕРИТЬ(0, ({ символ х[101]; (беззнак длин)&х % 16; }));
|
||
|
||
печатьф("OK\n");
|
||
возврат 0;
|
||
}
|