Between revisions 171800 and 171957 many failures appeared in the obj-c++.dg test suite on *-apple-darwin*(see http://gcc.gnu.org/ml/gcc-testresults/2011-04/msg00442.html ): FAIL: obj-c++.dg/template-4.mm -fnext-runtime (internal compiler error) FAIL: obj-c++.dg/template-4.mm -fnext-runtime (test for excess errors) WARNING: obj-c++.dg/template-4.mm -fnext-runtime compilation failed to produce executable FAIL: obj-c++.dg/strings/const-str-12.mm -fnext-runtime (internal compiler error) FAIL: obj-c++.dg/strings/const-str-12.mm -fnext-runtime (test for excess errors) ... FAIL: obj-c++.dg/torture/strings/string1.mm -O2 -flto -fnext-runtime (internal compiler error) FAIL: obj-c++.dg/torture/strings/string1.mm -O2 -flto -fnext-runtime (test for excess errors) WARNING: obj-c++.dg/torture/strings/string1.mm -O2 -flto -fnext-runtime compilation failed to produce executable AFAICT they are all of the kind /opt/gcc/work/gcc/testsuite/obj-c++.dg/template-4.mm: In function 'int main()': /opt/gcc/work/gcc/testsuite/obj-c++.dg/template-4.mm:75:3: internal compiler error: tree check: expected tree that contains 'decl with RTL' structure, have 'const_decl' in cxx_mark_addressable, at cp/typeck.c:5378
Bleh, that would be my change. I think what's required is making the CONST_DECL its own case there.
Created attachment 23900 [details] untested patch
(In reply to comment #2) > Created attachment 23900 [details] > untested patch seems to do the trick on i686-darwin9 ... .. linux is still bootstrapping..
> seems to do the trick on i686-darwin9 ... On x86_64-apple-darwin10 too (incremental update with the patch in comment #2 on top of r172043 and regtesting of g++ and obj-c++ with -m32 and -m64). Thanks for the quick fix.
Author: froydnj Date: Thu Apr 14 18:46:34 2011 New Revision: 172441 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172441 Log: PR objc++/48479 * typeck.c (cxx_mark_addressable) [CONST_DECL]: Mark addressable and return immediately. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck.c
Fixed.