This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/7639: g++ 3.3 ICE in operand_subword
- From: snyder at fnal dot gov
- To: gcc-gnats at gcc dot gnu dot org
- Date: Mon, 19 Aug 2002 16:56:26 CDT
- Subject: c++/7639: g++ 3.3 ICE in operand_subword
- Reply-to: snyder at fnal dot gov
>Number: 7639
>Category: c++
>Synopsis: g++ 3.3 ICE in operand_subword
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Mon Aug 19 15:05:59 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: scott snyder
>Release: 3.3 20020819 (experimental)
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: Linux karma 2.4.9-13 #1 Tue Oct 30 20:11:04 EST 2001 i686 unknown
Architecture: i686
<machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../egcs/configure --prefix=/usr/local/egcs --enable-threads=posix --enable-long-long : (reconfigured) : (reconfigured)
>Description:
g++ crashes compiling the (invalid) code below.
$ g++ -c crash1.cc
crash1.cc: In instantiation of `ACE_Cleanup_Adapter<ACE_Null_Mutex>':
crash1.cc:11: instantiated from here
crash1.cc:8: error: `ACE_Cleanup_Adapter<ACE_Null_Mutex>::object_' has
incomplete type
crash1.cc:1: error: forward declaration of `struct ACE_Null_Mutex'
crash1.cc: In member function `TYPE& ACE_Cleanup_Adapter<TYPE>::object() [with
TYPE = ACE_Null_Mutex]':
crash1.cc:11: instantiated from here
crash1.cc:7: internal compiler error: Internal compiler error in
operand_subword, at emit-rtl.c:1546
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
$
>How-To-Repeat:
-------------------------------------------------------
class ACE_Null_Mutex;
template <class TYPE>
struct ACE_Cleanup_Adapter
{
TYPE &object ()
{ return object_; }
TYPE object_;
};
template class ACE_Cleanup_Adapter<ACE_Null_Mutex>;
-------------------------------------------------------
>Fix:
<how to correct or work around the problem, if known (multiple lines)>
>Release-Note:
>Audit-Trail:
>Unformatted:
SEND-PR: Leave "Confidential" as "no"; all GCC PRs are public.
SEND-PR: critical GCC is completely not operational; no work-around known.
SEND-PR: serious GCC is not working properly; a work-around is possible.
SEND-PR: non-critical Report indicates minor problem.
SEND-PR: medium The problem should be solved in the next release.
SEND-PR: low The problem should be solve in a future release.
SEND-PR: doc-bug The documentation is incorrect.
SEND-PR: accepts-illegal GCC fails to reject erroneous code.
SEND-PR: rejects-legal GCC gives an error message for correct code.
SEND-PR: wrong-code The machine code generated by gcc is incorrect.
SEND-PR: ice-on-legal-code GCC gives an Internal Compiler Error (ICE)
SEND-PR: for correct code
SEND-PR: ice-on-illegal-code GCC gives an ICE instead of reporting an error
SEND-PR: pessimizes-code GCC misses an important optimization opportunity
SEND-PR: sw-bug Software bug of some other class than above
SEND-PR: change-request A feature in GCC is missing.
SEND-PR: support I need help with gcc.