This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11274] [3.3/3.4 regression] Segfault in hash_type
- From: "bangerth at dealii dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Jun 2003 17:58:05 -0000
- Subject: [Bug c++/11274] [3.3/3.4 regression] Segfault in hash_type
- References: <20030620203211.11274.bangerth@dealii.org>
- 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=11274
------- Additional Comments From bangerth at dealii dot org 2003-06-22 17:58 -------
Janis was so kind as to run her regression scripts on this bug. This
is what she sent me:
On Fri, Jun 20, 2003 at 07:19:42PM -0500, Wolfgang Bangerth wrote:
>
> > I think this is a Heisenbug. It fails with a compiler from 2002-02-25.
>
> You have a point. I can see all kind of weird errors, ICEs and other stuff
> running it through my compiler collection.
>
> > If you still have your collection of cc1plus binaries, try them with it;
> > otherwise I can use my reg_periodic script to see if it's really failing
> > randomly.
>
> Nevertheless, this is code that used to compile every night, so I think it
> would be interesting which patch _exposed_ (not introduced) the present
> behavior. Can your scripts do something like this? For compilers that didn't
> ICE, you'll get an error (from my incomplete attempts to reduce the
> testcase), but it shouldn't ICE.
The current ICE in 11274 was introduced/exposed with this patch:
--- gcc/gcc/cp/ChangeLog ---
> 2003-06-17 Mark Mitchell <mark@codesourcery.com>
>
> PR c++/11105
> * cp-tree.h (DECL_CONV_FN_TYPE): New method.
> * mangle.c (struct globals): Remove internal_mangling_p.
> (write_unqualified_name): Use DECL_CONV_FN_TYPE.
> (write_template_parm): Don't write out the level number.
> (conv_type_names): New variable.
> (hash_type): New function.
> (compare_type): Likewise.
> (mangle_conv_op_name_for_type): Don't try to mangle conversion
> operator names.
> * search.c (lookup_conversion_operator): New function.
> (lookup_fnfields_1): Use it.
I used reg_periodic (available in contrib/reghunt) to check compilers
built every four hours from June 16 to June 20; the behavior is
consistent during that time.
My laptop's browser flakes out when I use it from home, so I can't
update Bugzilla until tomorrow. Feel free to add this information
yourself if you'd like it to be there today.
I have a few other hunts going this weekend, but haven't been able to
monitor them very well so I'm not making much progress.
Janis