[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] strange c++ obiect initialization problems (full code
From: |
Georg-Johann Lay |
Subject: |
Re: [avr-gcc-list] strange c++ obiect initialization problems (full code included) |
Date: |
Thu, 09 Jun 2011 11:21:48 +0200 |
User-agent: |
Thunderbird 2.0.0.24 (X11/20100302) |
Marcin S schrieb:
> Hello there,
>
> from time to time i have a strange problems when initializing class
> objects in file range by their respective constructors, i noted that
> problem occurs only when that constructors takes pointers to other
> global objects, tables or something else.
>
> Whats the problem? in best scenario object pointer are wrongly set and
> pointing to some random locations, at worst my program does not start
> at all (event with my main() func empty) it just hangs
>
> here is link to my code
> http://dl.dropbox.com/u/6883398/Lays.tar.bz2
> its and eclipse project, simple "make" in project directory should
> work too. Note that archive contains already compiled program in
> "Release" directory, this compilation does not work at all! (worst
> case scenario described above).
>
> As I wrote this program incrementaly it stopped working after i added
> 2 objects inits in layouts.cpp
>
> CLayPGMString minTag(minTagData,strMin,true,CLayPGMString::XSMALL);
> CLayPGMString maxTag(maxTagData,strMax,true,CLayPGMString::XSMALL);
>
> strMin and strMax params are pointers to strings in PROGMEM, if i
> replace it with zeros like
>
> CLayPGMString minTag(minTagData,0,true,CLayPGMString::XSMALL);
> CLayPGMString maxTag(maxTagData,0,true,CLayPGMString::XSMALL);
>
> program starts again.
>
> Other important thing noted is, when I initialise those objects in
> file range with their default, empty constructors and then set needed
> pointers at run time (for example right after main() function)
> everything works too.
> I ran out of ideas what could be wrong, maybe wrong code, I'm open to
> any suggestions.
>
> I'm using avr-gcc-4.5.2 on gentoo linux, also checked on stable 4.4
> and it behaves exactly the same way.
>
> Marcin
Do you see r20 used in one of the functions? Reminds me of
http://gcc.gnu.org/PR45263
which is not yet backported to avr-gcc < 4.6
Johann