2012/8/18 Jan-Benedict Glaw <jbg...@lug-owl.de>: > Hi! > > I see these warnings/errors right now: > > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing > -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes > -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros > -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common > -DHAVE_CONFIG_H -I. -I. -I../../../../gcc/gcc -I../../../../gcc/gcc/. > -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include > -I../../../../gcc/gcc/../libdecnumber > -I../../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I. -I. > -I../../../../gcc/gcc -I../../../../gcc/gcc/. > -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include > -I../../../../gcc/gcc/../libdecnumber > -I../../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber > ../../../../gcc/gcc/config/avr/avr-log.c > cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for > C/ObjC but not for C++ [enabled by default] > cc1plus: warning: command line option ‘-Wmissing-prototypes’ is valid for > C/ObjC but not for C++ [enabled by default] > cc1plus: warning: command line option ‘-Wold-style-definition’ is valid for > C/ObjC but not for C++ [enabled by default] > cc1plus: warning: command line option ‘-Wc++-compat’ is valid for C/ObjC but > not for C++ [enabled by default] > ../../../../gcc/gcc/config/avr/avr-log.c: In function ‘void > avr_log_vadump(FILE*, const char*, va_list)’: > ../../../../gcc/gcc/config/avr/avr-log.c:287:22: warning: ‘machine_mode’ is > promoted to ‘int’ when passed through ‘...’ [enabled by default] > ../../../../gcc/gcc/config/avr/avr-log.c:287:22: note: (so you should pass > ‘int’ not ‘machine_mode’ to ‘va_arg’) > ../../../../gcc/gcc/config/avr/avr-log.c:287:22: note: if this code is > reached, the program will abort > ../../../../gcc/gcc/config/avr/avr-log.c:291:31: warning: ‘rtx_code’ is > promoted to ‘int’ when passed through ‘...’ [enabled by default] > ../../../../gcc/gcc/config/avr/avr-log.c:291:31: note: if this code is > reached, the program will abort > ../../../../gcc/gcc/config/avr/avr-log.c:295:38: warning: ‘reg_class’ is > promoted to ‘int’ when passed through ‘...’ [enabled by default] > ../../../../gcc/gcc/config/avr/avr-log.c:295:38: note: if this code is > reached, the program will abort > > [...] > > g++ -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing > -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes > -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros > -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common > -DHAVE_CONFIG_H -I. -I. -I../../../../gcc/gcc -I../../../../gcc/gcc/. > -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include > -I../../../../gcc/gcc/../libdecnumber > -I../../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I. -I. > -I../../../../gcc/gcc -I../../../../gcc/gcc/. > -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include > -I../../../../gcc/gcc/../libdecnumber > -I../../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber > ../../../../gcc/gcc/config/avr/gen-avr-mmcu-texi.c -o gen-avr-mmcu-texi > cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for > C/ObjC but not for C++ [enabled by default] > cc1plus: warning: command line option ‘-Wmissing-prototypes’ is valid for > C/ObjC but not for C++ [enabled by default] > cc1plus: warning: command line option ‘-Wold-style-definition’ is valid for > C/ObjC but not for C++ [enabled by default] > cc1plus: warning: command line option ‘-Wc++-compat’ is valid for C/ObjC but > not for C++ [enabled by default] > ../../../../gcc/gcc/config/avr/gen-avr-mmcu-texi.c: In function ‘int main()’: > ../../../../gcc/gcc/config/avr/gen-avr-mmcu-texi.c:53:24: error: invalid > conversion from ‘int’ to ‘avr_arch’ [-fpermissive] > ../../../../gcc/gcc/config/avr/gen-avr-mmcu-texi.c:75:23: error: invalid > conversion from ‘int’ to ‘avr_arch’ [-fpermissive] > make[3]: *** [gen-avr-mmcu-texi] Error 1 > make[3]: Leaving directory `/mnt/devel/src/linux/build/avr/gcc-stage1/gcc' > make[2]: *** [all-gcc] Error 2 > make[2]: Leaving directory `/mnt/devel/src/linux/build/avr/gcc-stage1' > > > I suggest this patch. Okay? > > > > 2012-08-17 Jan-Benedict Glaw <jbg...@lug-owl.de> > > gcc/Changelog: > * config/avr/avr-log.c (avr_log_vadump): Properly use > int-promoted enum values. > * config/avr/avr.h (struct mcu_type_s): Change `arch' from > int to enum avr_arch. > * config/avr/gen-avr-mmcu-texi.c (main): Use correct initializer. > >
Thank you for the fix. Committed. Denis.