Open GoogleCodeExporter opened 8 years ago
Sorry, that's a bug in the compiler not this software.
http://arduino.cc/forum/index.php?action=printpage;topic=66710.0
Original comment by fabio.va...@gmail.com
on 10 Sep 2011 at 11:50
Main issue was caused by the compiler, but version 4.6.2 should be working and
there are still problems with the code. Together with new avr-libc, problem is
even bigger.
Now you get:
lcd.h:73:63: error: 'prog_char' does not name a type
gruvin9x.h:275:14: error: 'prog_uint8_t' does not name a type
and other alike. There is a change in pgmspace.h:
==============
This typedef is now deprecated because the usage of the __progmem__
attribute on a type is not supported in GCC. However, the use of the
__progmem__ attribute on a variable declaration is supported, and this is
now the recommended usage.
The typedef is only visible if the macro __PROG_TYPES_COMPAT__
has been defined before including <avr/pgmspace.h> (either by a
#define directive, or by a -D compiler option.)
==============
using that #define changes errors to warnings "prog_char is deprecated".
It still does not help, because PSTR definition is not compatible with new gcc
(4.6.2, containing The Fix). It was fixed in avr-libc, but your copy of that
definition needs the fix:
-#define PSTR(s) (__extension__({static prog_char APM __c[] = (s);&__c[0];}))
+#define PSTR(s) (__extension__({static const prog_char APM __c[] =
(s);&__c[0];}))
Also I had to remove --combine option. From gcc upstream (4.6 changes):
unrecognized option '-combine':
The -combine option has been removed, it has been very buggy and has
been superceeded by -flto. Either drop it, or build with -flto.
Anyway, to compile this, I had to add const on several places. This is with gcc
4.6.2, so with original issue fixed. It's not going to be better without
changes in the code.
Original comment by mih...@mihlit.cz
on 16 Jan 2012 at 1:40
> lcd.h:73:63: error: 'prog_char' does not name a type
> gruvin9x.h:275:14: error: 'prog_uint8_t' does not name a type
these are from gruvin9x, but everything I wrote is valid for er9x
Original comment by mih...@mihlit.cz
on 17 Jan 2012 at 10:17
Original issue reported on code.google.com by
fabio.va...@gmail.com
on 10 Sep 2011 at 10:22