From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8562 invoked by alias); 29 Jun 2010 05:24:19 -0000 Received: (qmail 8509 invoked by uid 48); 29 Jun 2010 05:23:59 -0000 Date: Tue, 29 Jun 2010 05:24:00 -0000 Message-ID: <20100629052359.8508.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/44706] [4.6 regression] Failed to build 483.xalancbmk in SPEC CPU 2006 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl dot tools at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-06/txt/msg02767.txt.bz2 ------- Comment #2 from hjl dot tools at gmail dot com 2010-06-29 05:23 ------- [hjl@gnu-34 delta]$ cat testcase.cc class MemoryManager; class XMLExcepts { public : enum Codes { AttrList_BadIndex }; }; class XMLException { public: XMLException(const char* const srcFile, const unsigned int srcLine, MemoryManager* const memoryManager = 0); }; class ArrayIndexOutOfBoundsException : public XMLException { public: ArrayIndexOutOfBoundsException(const char* const srcFile , const unsigned int srcLine , const XMLExcepts::Codes toThrow , MemoryManager* memoryManager = 0) : XMLException(srcFile, srcLine, memoryManager) { } }; class XMLAttDef { bool fExternalAttribute; }; class XMLAttDefList { public: MemoryManager* getMemoryManager() const; }; class DTDAttDef : public XMLAttDef { }; class DTDAttDefList : public XMLAttDefList { virtual const XMLAttDef &getAttDef(unsigned int index) const ; DTDAttDef** fArray; unsigned int fCount; }; const XMLAttDef &DTDAttDefList::getAttDef(unsigned int index) const { if(index >= fCount) throw ArrayIndexOutOfBoundsException("foo.cpp", 0, XMLExcepts::AttrList_BadIndex, getMemoryManager()); return *(fArray[index]); } [hjl@gnu-34 delta]$ /export/build/gnu/gcc/release/usr/gcc-4.6.0/bin/gcc -S -O2 testcase.cc testcase.cc: In member function \u2018virtual const XMLAttDef& DTDAttDefList::getAttDef(unsigned int) const\u2019: testcase.cc:31:18: internal compiler error: tree check: expected var_decl or parm_decl, have result_decl in expand_one_var, at cfgexpand.c:967 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. [hjl@gnu-34 delta]$ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44706