Bug 11344 - [3.3 Regression] templates + friend + name conflict = ICE
Summary: [3.3 Regression] templates + friend + name conflict = ICE
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 2.95.4
: P2 minor
Target Milestone: 3.4.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-invalid-code
Depends on:
Blocks:
 
Reported: 2003-06-27 09:06 UTC by Scott Worley
Modified: 2003-09-17 05:51 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2003-08-02 04:02:44


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Worley 2003-06-27 09:06:37 UTC
template <class Foo> 
class bar {}; 
 
template <class Foo> 
class baz { 
   int bar; 
   friend class bar; 
}; 
 
 
Will cause ICE in pop_binding, at cp/decl.c:1187 
 
Tested on 2.95.4, 2.96, and 3.2.2.
Comment 1 Andrew Pinski 2003-06-27 11:52:55 UTC
I can confirm this on 2.95.3, 3.0.4, 3.2.2, 3.2.3, 3.3.1 (20030616) and the mainline (20030626) 
but in 2.91.66, I do not get an ICE so this a regression wrt 2.91.66.
Comment 2 Wolfgang Bangerth 2003-06-27 14:20:56 UTC
There are several other PRs for ICEs in pop_binding, see PR 157,
PR 5402, PR 6289, PR 9777. Maybe they are connected.

W.
Comment 3 Andrew Pinski 2003-06-28 02:46:44 UTC
The closest on this one looks like is bug 6289.
Comment 4 Gabriel Dos Reis 2003-06-28 12:21:35 UTC
Subject: Re:  [3.3/3.4 Regression] templates + friend + name conflict = ICE

"bangerth at dealii dot org" <gcc-bugzilla@gcc.gnu.org> writes:

| There are several other PRs for ICEs in pop_binding, see PR 157,
| PR 5402, PR 6289, PR 9777. Maybe they are connected.

Indeed.  That ICE is caused by the way we're handling binding
contours.  Hoepfully, they will be fixed as collateral benefits of the
work on name lookup speed up.

-- Gaby

Comment 5 Kriang Lerdsuwanakij 2003-08-19 14:09:46 UTC
Already fixed in the main trunk.  So it's only a 3.3 regression now.
Comment 6 Andrew Pinski 2003-09-17 05:51:51 UTC
Since this is fixed on the mainline and it is a regression from 2.91.66 (released as egcs), I am 
closing this as fixed.