move handling of pr21419 in the front-ends, fix pr21451

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Sun Oct 2 21:19:00 GMT 2005


This patch moves the fix for pr21419 in the front-end, and fixes pr21451 
in the process.  I added a pr21419 testcase for C++, since the code path 
handling it is different now.

The checks for reporting an invalid lvalue are the same that are done 
for MODIFY_EXPRs.

The C++ diagnostic is not ideal, but it is not possible to improve it 
until the C++ front-end stops using %s to compose diagnostics.

(I can "approve" the gimplify.c bits myself, because they are a 
reversion, but I need buy-in from C and C++ front-end maintainers).

Results of bootstrapping/regtesting on i686-pc-linux-gnu are as follows:

Tests that now work, but failed before:
  ./gcc/testsuite/gcc.sum:gcc.dg/asm-1.c (test for excess errors)

New tests that PASS:
  ./gcc/testsuite/g++.sum:g++.dg/ext/asm7.C (test for errors, line 11)
  ./gcc/testsuite/g++.sum:g++.dg/ext/asm7.C (test for errors, line 6)
  ./gcc/testsuite/g++.sum:g++.dg/ext/asm7.C (test for excess errors)

Paolo

:ADDPATCH C/C++ front-ends:
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr21419-pr21451.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20051002/6f6727a2/attachment.ksh>


More information about the Gcc-patches mailing list