This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/19948] [4.0 Regression] ICE: tree check: expected class 'declaration', have 'exceptional' (error_mark) in pushtag, at cp/name-lookup.c:4658
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Feb 2005 15:02:03 -0000
- Subject: [Bug c++/19948] [4.0 Regression] ICE: tree check: expected class 'declaration', have 'exceptional' (error_mark) in pushtag, at cp/name-lookup.c:4658
- References: <20050214073759.19948.fang@csl.cornell.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-14 15:02 -------
Confirmed, here is a testcase which is valid code (yes I checked to make sure that it is valid):
namespace util
{
class persistent_object_manager;
namespace memory
{
class pointer_manipulator
{
friend class persistent_object_manager;
};
}
}
namespace util
{
using namespace memory;
class persistent_object_manager
{
};
template <class T> class persistent_traits
{
friend class persistent_object_manager;
};
}
static util::persistent_traits<int> __blah__;
: Search converges between 2004-11-25-014001-trunk (#656) and 2004-11-25-161001-trunk
(#657).
I think this is very related to PR 4403 (it might be fixed by that patch too). And related to PR 19403.
--
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO| |16995
nThis| |
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |ice-on-valid-code, rejects-
| |valid
Last reconfirmed|0000-00-00 00:00:00 |2005-02-14 15:02:03
date| |
Summary|ICE: tree check: expected |[4.0 Regression] ICE: tree
|class 'declaration', have |check: expected class
|'exceptional' (error_mark) |'declaration', have
|in pushtag, at cp/name- |'exceptional' (error_mark)
|lookup.c:4658 |in pushtag, at cp/name-
| |lookup.c:4658
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19948