This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/23099] [4.0/4.1 regression] ICE in build_simple_base_path, at cp/class.c:460
- From: "mmitchel at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Aug 2005 18:11:51 -0000
- Subject: [Bug c++/23099] [4.0/4.1 regression] ICE in build_simple_base_path, at cp/class.c:460
- References: <20050727185429.23099.dank@kegel.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From mmitchel at gcc dot gnu dot org 2005-08-28 18:11 -------
The fundamental problem here is that G++ is not honoring [temp.inst], which
requires that:
"in particular, the initialization (and any associated side-effects) of a static
data member does not occur unless the static data member is itself used in a way
that requires the definition of the static data member to exist."
It is instead performing the initialization immediately when instantiating
"A<Derived*>". I am looking into the issue.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23099