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] | |
Hi everybody,
that's my problem:
if I define
typedef struct ms{
unsigned long f1;
unsigned long f2;
unsigned char f3;
} __attribute__((packed)) ms_t;
unsigned char test;
...
...
test = sizeof(ms_t);
...
...
i see test == 9;
if I delete attribure specifier, i see test = 12.
This is the expected behaviour !!!!
If I define
typedef enum en {em_f1 = 0, em_f2, em_f3} __attribute__(((packed),aligned(1)))
em_t;
compiling with sh-hms-g++ 3.0.3 I have an error: missing semicolon ....
instead compiling with sh-hms-gcc 3.0.3 everything works fine and the size is
the expected size.
If I define
typedef enum en {em_f1 = 0, em_f2, em_f3} em_t
__attribute__(((packed),aligned(1)));
no compiler error I see with sh-hms-g++ but the size is 4 that's unexpected
size for this enum type if we suppose the __attribute__ keyword has been
working.
So I dedice the __attribute__ working in thuis sintax is not working, as
someone said some time ago.
Does anyone have some tips to understand and solve this problem?
Regards.
------
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] |