This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/16806] [3.3 regression] Internal compiler error: Error reporting routines re-entered.
- From: "bangerth at dealii dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jul 2004 20:18:18 -0000
- Subject: [Bug c++/16806] [3.3 regression] Internal compiler error: Error reporting routines re-entered.
- References: <20040728191218.16806.jurka@ejurka.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From bangerth at dealii dot org 2004-07-28 20:18 -------
This code is completely and absolutely broken. However, to my great
surprise I could even reconstruct the ICE with something that is
almost valid and should indeed give a single regular error:
-----------------
struct X {};
void operator << (const X &,int);
template<class T> struct myclass {
template<typename> int Get();
};
int main() {
X() << myclass<int>().Get<float>;
}
-------------------------
Note that only the parentheses to the call of myclass::get were
forgotten in this code. Yet, we get:
g/x> /home/bangerth/bin/gcc-3.3.4-pre/bin/c++ -c x.cc
x.cc: In function `int main()':
x.cc:9: error: no match for 'operator<<' in 'X() <<
Internal compiler error: Error reporting routines re-entered.
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
This is a regression in 3.3.x against previous versions, but it
is already fixed in 3.4 and mainline.
W.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |ice-on-invalid-code
Last reconfirmed|0000-00-00 00:00:00 |2004-07-28 20:18:17
date| |
Summary|Internal compiler error: |[3.3 regression] Internal
|Error reporting routines re-|compiler error: Error
|entered. |reporting routines re-
| |entered.
Target Milestone|--- |3.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16806