--- In AVR-Chat@yahoogroups.com, Russell Shaw <rjshaw@...> wrote:
>
> john wrote:
> > I'm trying to declare a structure but I keep getting an error
like this
> > or similar depending on were I try to put __attribute__.
> >
> > error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'struct'
> >
> > Does avr-gcc allow plain-old structures? How should I write this
to get
> > it to compile?
> >
> > struct __attribute__ ((__packed__)) rb_fifo_struct_type
> > {
> > uint8_t *head;
> > uint8_t *tail;
> > uint8_t *dptr;
> > };
> > typedef struct rb_fifo_struct_type rbuff_t;
>
> Try: __attribute__ ((packed));
>
> I think you should be doing:
>
> struct rb_fifo_struct_type
> {
> uint8_t *head __attribute__ ((packed));
> uint8_t *tail __attribute__ ((packed));
> uint8_t *dptr __attribute__ ((packed));
> };
> typedef struct rb_fifo_struct_type rbuff_t;
>
I get the same error with the __attribute__ assigned to the member
vairables.
For some reason if I put a semi colon in front of the structure the
error goes away.
; //<------------
struct rb_fifo_struct_type
{
uint8_t *head;
uint8_t *tail;
uint8_t *dptr;
};
typedef struct rb_fifo_struct_type rbuff_t;Message
Re: structures in gcc
2008-01-24 by john
Attachments
- No local attachments were found for this message.