1-- { dg-do compile } 2 3with Interfaces; use Interfaces; 4 5package Alignment2 is 6 7 -- warning 8 type R1 is record 9 A, B, C, D : Integer_8; 10 end record; 11 for R1'Size use 32; 12 for R1'Alignment use 32; -- { dg-warning "suspiciously large alignment" } 13 14 -- warning 15 type R2 is record 16 A, B, C, D : Integer_8; 17 end record; 18 for R2'Alignment use 32; -- { dg-warning "suspiciously large alignment" } 19 20 -- OK, big size 21 type R3 is record 22 A, B, C, D : Integer_8; 23 end record; 24 for R3'Size use 32 * 8; 25 for R3'Alignment use 32; 26 27 -- OK, big size 28 type R4 is record 29 A, B, C, D, E, F, G, H : Integer_32; 30 end record; 31 for R4'Alignment use 32; 32 33 -- warning 34 type I1 is new Integer_32; 35 for I1'Size use 32; 36 for I1'Alignment use 32; -- { dg-warning "suspiciously large alignment" } 37 38 -- warning 39 type I2 is new Integer_32; 40 for I2'Alignment use 32; -- { dg-warning "suspiciously large alignment" } 41 42 -- OK, big size 43 type I3 is new Integer_32; 44 for I3'Size use 32 * 8; 45 for I3'Alignment use 32; 46 47end Alignment2; 48