Go Down

Topic: warnings in 1.01 compile time (Read 2 times) previous topic - next topic

drjiohnsmith

Under 1.0 ,
   the tone library reported a warning when compiling,

the 1.01 , seems to have added more warnings.

are these reported here ?
   are they fixed , or as 'just' warnings are they ignored ?

SurferTim

I just compiled the following example tone sketches on IDE v1.0.1 with no warnings or errors.
toneKeyboard
toneMelody
toneMultiple
tonePitchFollower

If you are using pre-v1.0 sketches on the newer releases (v1.0 or v1.0.1), you may need to modify that sketch code.

I hope the "dr" in your username means doctor. I have a pain right here. What should I do about it?

drjiohnsmith

have you the verbose warnings turned on ?

I still have the following popping up in the verbose warning list.

C:\Program Files\Arduino\arduino-1.0.1\hardware\arduino\cores\arduino\Tone.cpp:93: warning: only initialized variables can be placed into program memory area

cwrose

The Arduino libraries are pretty flakey - you have to compile them with all
warnings off.  To fix the "initialized variables" error, add:

// Re-define PROGMEM (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34734)
#undef PROGMEM
#define PROGMEM __attribute__((section(".progmem.data")))

to the top of Arduino.h.

I'm not sure if this caused by a new version of GCC, or just an old bug
recently exposed.  Anyhow, if you have doubts about where the strings
are actually going, check with avr-objdump.

Will

drjiohnsmith

being new to arduino
   I'm an asic engineer,
      I'm sad that the libraries of a well established item like the arduino , are considered less than solid.

how do we get the fix's into the next release ?

SurferTim

Quote
how do we get the fix's into the next release ?

File a report here. Having the fix included will speed up things.
http://code.google.com/p/arduino/

drjiohnsmith

thank you

issue 963 raised !

I hope the warngings are fixed as its very off putting and over time  saps confidence in Arduino

SurferTim

Have faith! Every bug and fix I have filed has been fixed.  :)

westfw

Quote
warning: only initialized variables can be placed into program memory area

This one is actually a bug in the compiler.  Alas, one that ended up being "fixed" by having the compiler people declare that most of the avr-libc "pgmspace" implementation was "invalid."

drjiohnsmith

oh dear
   a can of worms,

any chance the other warnings can be fixed ?

for this warning, could we initialise the variable like the warning asks ?


SurferTim

I'm not sure if this caused by a new version of GCC, or just an old bug
recently exposed.


I think it is an old bug exposed. My version of avr-gcc in my Ubuntu install shows 4.5.3 with Ubuntu patches. However, that is not the version that is used by the Arduino IDE. That is avr-gcc v4.3.2. Here is the thread that enlightened me:
http://arduino.cc/forum/index.php/topic,108211.0.html
I would try to help, but I will not waste my time on antique gcc versions.

drjiohnsmith

appreciate your comment

what is  avr-gcc  might be a good question,

OK, I do know about gcc,

but did I not just install arduino on windows and I guess gcc came with it ,
  or did I have to install gcc seperatly ,
    does the team need to include a new gcc in the arduino distribution
        or do we need a way to upgrade gcc on windows machines.

and is this true of all the warnings that pop up in the compile windows  ?


SurferTim

I'm not a big Windoze fan, so that part I will presume. I think the Arduino crew is trying to get a stable version working on all operating systems. Can't blame them for that, but I think that version is a bit out of date.

WinAVR uses avr-gcc 4.3.2 and avr-libc v1.6.4. I believe that was a new release in 2008. Before upgrading (downgrading?) to IDE v1.0, I was using avr-gcc v4.5.3 and avr-libc v1.7.1 with IDE v0022. ??

As I understand, avr-gcc uses GCC with AVR code and the AVR library (avr-libc).

drjiohnsmith

hi

won't get into the windows v linux v mac v what ever you want

thats like asking what is your fav editor !!!!

I always liked Vi and ed, but there you go,
   I now use a windows based editor,

so,

is avr-gcc 4.3.2 quite old then ?
   does the team up grade this or is it possible / practical for the user to do so ?

hay, I could always run a VM under windows to run Ubunto on,
    is that the way around the problem :->


SurferTim

I'm with you. I don't care what OS you prefer, and that is why I understand the Arduino crew's quest to get a standard IDE version working.

Those versions are about 4 years old if they used them to build WinAVR in 2008. What Arduino IDE version was current in 2008? What Arduino hardware was available then?


Go Up