------- Comment #25 from dodji at gcc dot gnu dot org 2010-06-04 19:36 ------- Created an attachment (id=20846) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20846&action=view) Fixes all regressions of C FE's testsuite
This update fixes all the regressions I have noticed in the test suite of the C FE. I have done the testing and debugging with bootstrap disabled. This patch merges Tom's initial patch and my additions and should apply to recent trunk. Next step is to bootstrap the C FE and see/fix the remaining bugs that I encounter there. Here is what the patch does at the moment: $ cat test.c 1 #define OPERATE(OPRD1, OPRT, OPRD2) \ 2 OPRD1 OPRT OPRD2; 3 4 #define SHIFTL(A,B) \ 5 OPERATE (A,<<,B) 6 7 #define MULT2(A) \ 8 SHIFTL (A,1) 9 10 void 11 g () 12 { 13 MULT2 (1.0);/* 1.0 << 1;*/ 14 } $ ./cc1 -quiet test.c While expanding macro OPERATE at test.c:2:8 While expanding macro SHIFTL at test.c:5:14 While expanding macro MULT2 at test.c:8:3 test.c: In function 'g': test.c:13:3: error: invalid operands to binary << (have 'double' and 'int') -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7263