Bug 15024 - [3.4/4.0 Regression] internal compiler error: in tsubst_decl, at cp/pt.c:6065
Summary: [3.4/4.0 Regression] internal compiler error: in tsubst_decl, at cp/pt.c:6065
Status: RESOLVED DUPLICATE of bug 15025
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 3.4.0
: P2 normal
Target Milestone: 3.4.1
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-invalid-code
Depends on: 15025
Blocks:
  Show dependency treegraph
 
Reported: 2004-04-20 11:38 UTC by Richard Biener
Modified: 2004-10-30 21:11 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work: 3.3.3
Known to fail: 3.4.0 4.0.0
Last reconfirmed: 2004-04-20 12:04:45


Attachments
preprocessed testcase (294.23 KB, application/octet-stream)
2004-04-20 11:39 UTC, Richard Biener
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2004-04-20 11:38:32 UTC
While trying to reduce another testcase for 3.4 miscompilation, I came along the
following ICE (maybe ice-on-invalid, because I'm at removing unneccesary
#includes, maybe not):

bellatrix:~/src/C19/rhalk/tramp/obj$ g++-3.4 -c tramp3d.ii
tramp3d.cpp: In instantiation of `CartesianURM<MeshTraits<3, double,
UniformRectilinearTag, CartesianTag, 3> >':
/home/rguenth/ix86/pooma/tat-mpich/linux/src/Field/Mesh/UniformRectilinearMesh.h:212:
  instantiated from `UniformRectilinearMesh<MeshTraits<3, double,
UniformRectilinearTag, CartesianTag, 3> >'
tramp3d.cpp:25:   instantiated from here
tramp3d.cpp:10: internal compiler error: in tsubst_decl, at cp/pt.c:6065
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

bellatrix:~/src/C19/rhalk/tramp/obj$ g++-3.4 --version
g++-3.4 (GCC) 3.4.0
Comment 1 Richard Biener 2004-04-20 11:39:32 UTC
Created attachment 6120 [details]
preprocessed testcase

Testcase - somewhat huge, but an ICE should be easy to debug, no?
Comment 2 Richard Biener 2004-04-20 11:46:12 UTC
Ok, spending 5 minutes more would have created the following minimal testcase:

template <class T>
struct Foo;

template <class T>
struct Bar : Foo<T> { };

struct Foo {};

void foo()
{
  Bar<double> v;
}

same ICE.  Regression from 3.3, happens with 3.4 and 3.5 and tree-ssa.
Comment 3 Andrew Pinski 2004-04-20 12:04:45 UTC
Note I filed PR 15025 which is related to this problem and found while looking into this bug.
I can confirm this on the mainline and 3.4.0 branch.
Comment 4 Andrew Pinski 2004-04-20 15:03:55 UTC
I almost think this is just a smpymton of the problem and the problem is filed in PR 15025.
Comment 5 Giovanni Bajo 2004-04-20 15:25:49 UTC
Yeah, they are dups. The double declaration confuses the lookup code and causes 
an ICE later. Anyway, no harm in keeping this open meanwhile.
Comment 6 Mark Mitchell 2004-05-23 21:06:17 UTC
This is indeed a duplicate of 15025.

*** This bug has been marked as a duplicate of 15025 ***