This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11513] New: ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: "drtr at dial dot pipex dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jul 2003 16:24:41 -0000
- Subject: [Bug c++/11513] New: ICE in push_template_decl_real cp/pt.c:2755, template member functions
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11513
Summary: ICE in push_template_decl_real cp/pt.c:2755, template
member functions
Product: gcc
Version: 3.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drtr at dial dot pipex dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
When parsing a member template function of a template, the compiler
crashes on variable definitions of the form 'struct foo b;'.
I think the problem is in the PROCESSING_REAL_TEMPLATE_DECL_P() macro
which gives the wrong result when within member template functions.
See the example below; when parsing struct foo b; the compiler crashes.
This may be caused by the use of PROCESSING_REAL_TEMPLATE_DECL_P() returning
1 in xref_tag() at cp/decl.c: 13297.
template <typename T>
struct bar // template_class_depth(bar<T>) = 1
{
struct foo
{
int a;
};
template <typename U>
int wom(U c)
{
struct foo b; // processing_template_decl = 2
};
};
- Follow-Ups:
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: pinskia at physics dot uc dot edu
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: pinskia at physics dot uc dot edu
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: neroden at gcc dot gnu dot org
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: lerdsuwa at gcc dot gnu dot org
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: lerdsuwa at gcc dot gnu dot org
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: lerdsuwa at gcc dot gnu dot org
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: lerdsuwa at gcc dot gnu dot org
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: drtr at dial dot pipex dot com
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: mmitchel at gcc dot gnu dot org
- [Bug c++/11513] [3.3/3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: cvs-commit at gcc dot gnu dot org
- [Bug c++/11513] [3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: lerdsuwa at gcc dot gnu dot org
- [Bug c++/11513] [3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: cvs-commit at gcc dot gnu dot org
- [Bug c++/11513] [3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: reichelt at gcc dot gnu dot org
- [Bug c++/11513] [3.4 Regression] ICE in push_template_decl_real cp/pt.c:2755, template member functions
- From: jbuck at gcc dot gnu dot org