------- Comment #42 from matz at suse dot de  2006-01-23 11:28 -------
Created an attachment (id=10711)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10711&action=view)
Testprogram

This program generates the following output for 3.3-hammer-branch on x86-64:
          S_normal_i size 8 align 4 ofs 4
          S_pragma_i size 8 align 1 ofs 4
          S_packed_i size 12 align 1 ofs 8
   S_pragma_packed_i size 12 align 1 ofs 8
         S_normal_ll size 16 align 8 ofs 8
         S_pragma_ll size 16 align 1 ofs 8
         S_packed_ll size 16 align 1 ofs 8
  S_pragma_packed_ll size 16 align 1 ofs 8

With -m32 it's:
          S_normal_i size 8 align 4 ofs 4
          S_pragma_i size 8 align 1 ofs 4
          S_packed_i size 8 align 1 ofs 4
   S_pragma_packed_i size 8 align 1 ofs 4
         S_normal_ll size 16 align 4 ofs 8
         S_pragma_ll size 16 align 1 ofs 8
         S_packed_ll size 12 align 1 ofs 4
  S_pragma_packed_ll size 12 align 1 ofs 4

Note how 3.3 handled packed structs (in difference to those under #pragma)
really strange.

With 4.1 plus patch on x86-64:
          S_normal_i size 8 align 4 ofs 4
          S_pragma_i size 8 align 1 ofs 4
          S_packed_i size 8 align 1 ofs 4
   S_pragma_packed_i size 8 align 1 ofs 4
         S_normal_ll size 16 align 8 ofs 8
         S_pragma_ll size 16 align 1 ofs 8
         S_packed_ll size 16 align 1 ofs 8
  S_pragma_packed_ll size 16 align 1 ofs 8

With -m32:
          S_normal_i size 8 align 4 ofs 4
          S_pragma_i size 8 align 1 ofs 4
          S_packed_i size 8 align 1 ofs 4
   S_pragma_packed_i size 8 align 1 ofs 4
         S_normal_ll size 12 align 4 ofs 4
         S_pragma_ll size 12 align 1 ofs 4
         S_packed_ll size 12 align 1 ofs 4
  S_pragma_packed_ll size 12 align 1 ofs 4

So, it's at least consistent, and maybe even senseful


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22275

Reply via email to