@philmozhi,
checked for errors/warnings while compiling r5665 for a set of my cams representing digic 1 ~ 6
(including 1 w/ GPS) using gcc 6, 7, 8, and 9.
Interestingly, "odd" compilers (gcc 7 & 9) still produce a few warnings when OPT_WARNINGS is
activated, while "even" compilers show none.
Just showing the gcc 7 warnings here (hmmm...there's 3 sections like this for a 7 cam compile ? )
games/gui_sudoku.c: In function 'sudoku_search_candidates':
games/gui_sudoku.c:1118:1: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
};
^
games/gui_sudoku.c:1118:1: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
games/gui_sudoku.c:1118:1: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
games/gui_sudoku.c:1118:1: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
games/gui_sudoku.c:422:5: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
int sudoku_search_candidates()
^~~~~~~~~~~~~~~~~~~~~~~~
games/gui_sudoku.c:422:5: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
games/gui_sudoku.c:422:5: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
games/gui_sudoku.c:422:5: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
games/gui_sudoku.c: At top level:
cc1.exe: warning: unrecognized command line option '-Wno-cast-function-type'
DISKBOOT.BIN size tends to decrease with higher numbered gcc releases, but on the cams tested
here I got 950~1050 bytes larger files with gcc 9 as compared to those from gcc 8.
Also, happy to report that r5665 compiles fine with gcc 10.1.1 - and seems to run OK,
with only a minor tweak to CFLAGS; according to the doc gcc 10 now defaults to '-fno-common',
had to add '-fcommon' to keep the linker from complaining about multiply defined globals.
It's still experimental (not released for production code by developer.arm.com)
Apart from the gps-related 'abs' warnings found with gcc 9, it came up with an interesting
implicit conversion warning in usb_remote.c:
../../core/usb_remote.c: In function 'set_usb_remote_state':
../../core/usb_remote.c:395:62: warning: implicit conversion from 'enum VIRTUAL_REMOTE_STATE' to 'enum LOGIC_MODULE_STATE' [-Wenum-conversion]
395 | virtual_remote_state = driver_state = logic_module_state = REMOTE_RESET ;
| ^
../../core/usb_remote.c:395:41: warning: implicit conversion from 'enum LOGIC_MODULE_STATE' to 'enum DRIVER_STATE' [-Wenum-conversion]
395 | virtual_remote_state = driver_state = logic_module_state = REMOTE_RESET ;
| ^
../../core/usb_remote.c:395:26: warning: implicit conversion from 'enum DRIVER_STATE' to 'enum VIRTUAL_REMOTE_STATE' [-Wenum-conversion]
395 | virtual_remote_state = driver_state = logic_module_state = REMOTE_RESET ;
| ^
BTW IIRC the gps code was contributed by our CHDK-DE friends
@msl and/or
@rudi ?
cheers, 1.6.0 seems off to a great start !
whim