GCC 4.7.0

Hello,

I tried today to build arduino 1.0.1 core lib and the servo lib with gcc 4.7.0 and so far it's pretty straigth forward.
I only had to fix 2 issues:
1/ In Print.cpp: line 44
From
const prog_char *p = (const prog_char *)ifsh;
To
const char *p = (const char *)ifsh;

As you all know gcc is no more allowing typedef to carry data attributes ...

2/ Few defines have been 'poisoned' so they have just to be removed from HardwareSerial.cpp
SIG_USART0_RECV, SIG_USART1_RECV, SIG_USART2_RECV, SIG_USART3_RECV

I don't know what are the plan for the future but as 4.7.x will be the default gcc package for ubuntu 12.10, it could be good to anticipate.
I can provide patches if needed.

Hope it helps,
Fred

Of course speaking of GCC 4.7.x (4.7.1 was recently released in June), it might be nice if the Arduino team upgrades the avr-gcc it puts out in the releases. I downloaded the 1.0.1 tarball for Linux, and it is still using 4.3.2 of the compiler. FWIW, the last release of GCC 4.5 (4.5.4) was recently released and going forward there will only be new releases for 4.6, 4.7 (and eventually 4.8 when it is released).