This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: QUESTION: strange behaviour of typedef enum and __attribute__((packed)) using sh-hms-g++ 3.0.3


Fabio:


What does this do (works fine on arm-elf gcc-3.2.1)?


   enum em_e {em_f1 = 0, em_f2, em_f3} __attribute__((packed));
   typedef enum em_e em_t;

   enum em_e e;
   em_t t;

   void foo(void)
   {
      e = em_f1;
      t = em_f2;
   }


[I'm suspicious of the C syntax for your declaration.]

Also: if gcc can express an enumeration in one byte, I think the
aligned(1) is redundant.  I would also expect misaligned allocations,
since the SH doesn't care about alignment for chars.


b.g.
-- 
Bill Gatliff
Do you do embedded GNU?  I do!
http://billgatliff.com

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]