This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


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: defining big types on avr-gcc


Massimiliano Cialdi wrote:
I use avr-gcc 4.4.4:

Using built-in specs.
Target: avr
Configured with: ../gcc-4.4.4/configure --target=avr
--enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2
--prefix=/usr/local/cross-gcc-avr-4.4.4 --disable-threads --with-gnu-as
--with-gnu-ld
Thread model: single
gcc version 4.4.4 (GCC)



and my target is an ATMega32

I tried to define a type (only define, without allocate any variable):



typedef struct dummy
{
  uint8_t data[9000];
} dummy_t;

typedef struct big_dummy
{
  dummy_t bigdata[4];
  dummy_t singledata;
} big_dummy_t;



I never allocate any big_dummy_t object. I use big_dummy_t only as
placeholder (I use offsetof() macro), only to calculate offsets of
object placed into a big extern serial flash memory.

I get the error from gcc:

error: size of array 'bigdata' is too large

it is 36000 bytes, bigger than 32KB.

odd, i tested that with the macintosh osx 10.4.11 using a quad core g5
machine and gcc version 4.0 and apple's xcode frontend and it compiled and linked with 0 errors.



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