On Thu, Apr 07, 2011 at 09:37:17AM -0400, Nathan Froyd wrote: > My recent patch removing DECL_RTL from CONST_DECLs caused regressions in > the ObjC++ testsuite on Darwin targets. The problem is that > DECL_REGISTER was being called on CONST_DECLs; DECL_REGISTER says: > > /* In VAR_DECL and PARM_DECL nodes, nonzero means declared `register'. */ > #define DECL_REGISTER(NODE) (DECL_WRTL_CHECK (NODE)->decl_common.decl_flag_0) > > Previously, the DECL_WRTL_CHECK was succeeding when given CONST_DECLs; > it no longer does. > > The suggested fix is to simply move the CONST_DECL case in > cxx_mark_addressable; since DECL_REGISTER would have always returned > false for CONST_DECLs, there's no change in functionality. Fixing > DECL_REGISTER to accurately reflect its comment would be helpful, but > there are other ICEs to fix if DECL_REGISTER only takes PARM_DECL and > VAR_DECL; I thought it best to submit that as a separate fix, if at all. > > Patch was tested on Darwin targets via IainS and Dominique and fixed the > regression. OK to commit?
Ping. http://gcc.gnu.org/ml/gcc-patches/2011-04/msg00548.html -Nathan