public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/45293]  New: ICE in iterative_hash_template_arg, at cp/pt.c:1589
@ 2010-08-16  1:06 fang at csl dot cornell dot edu
  2010-08-16  1:08 ` [Bug c++/45293] " fang at csl dot cornell dot edu
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-16  1:06 UTC (permalink / raw)
  To: gcc-bugs

with g++-4.5.1 (powerpc-apple-darwin8):
internal compiler error: in iterative_hash_template_arg, at cp/pt.c:1589
with the attached unreduced test case, which I'm delta-reducing at the
moment...

never tested against 4.5.0.  
This code compiled with 4.4.x and earlier, which leads me to believe that it is
valid, but I cannot be certain.


-- 
           Summary: ICE in iterative_hash_template_arg, at cp/pt.c:1589
           Product: gcc
           Version: 4.5.1
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fang at csl dot cornell dot edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
@ 2010-08-16  1:08 ` fang at csl dot cornell dot edu
  2010-08-16  6:11 ` fang at csl dot cornell dot edu
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-16  1:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from fang at csl dot cornell dot edu  2010-08-16 01:07 -------
Created an attachment (id=21487)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21487&action=view)
unreduced test case triggering ICE


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
  2010-08-16  1:08 ` [Bug c++/45293] " fang at csl dot cornell dot edu
@ 2010-08-16  6:11 ` fang at csl dot cornell dot edu
  2010-08-16 10:08 ` rguenth at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-16  6:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from fang at csl dot cornell dot edu  2010-08-16 06:11 -------
still reducing...

command to reproduce (passed to multidelta):

#!/bin/sh
g++-fsf-4.5 -pipe -ansi -pedantic-errors -Wold-style-cast -Woverloaded-virtual
-W -Wextra -Wall -Wundef -Wshadow -Wno-unused-parameter -Wpointer-arith
-Wcast-qual -Wcast-align -Wconversion -Werror -std=c++0x -Wno-error=conversion
-g -O3 -Wno-long-long -o footprint.o -c footprint.ii > footprint.err 2>&1
grep -q "internal compiler error: in iterative_hash_template_arg, at
cp/pt.c:1589" footprint.err


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
  2010-08-16  1:08 ` [Bug c++/45293] " fang at csl dot cornell dot edu
  2010-08-16  6:11 ` fang at csl dot cornell dot edu
@ 2010-08-16 10:08 ` rguenth at gcc dot gnu dot org
  2010-08-17 17:26 ` fang at csl dot cornell dot edu
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-08-16 10:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-16 10:07 -------
I get

/space/rguenther/install/gcc-4.5.1/bin/g++ -S -o /dev/null footprint.ii
-std=c++0x -Wfatal-errors
In file included from
../../../src/Object/inst/instance_collection_pool_bundle_footprint.tcc:14:0,
                 from ../../../src/Object/def/footprint.cc:32:
../../../src/Object/inst/instance_scalar.h: In instantiation of
'HAC::entity::instance_array<HAC::entity::process_tag, 0ul>':
../../../src/Object/inst/instance_collection_pool_bundle.h:49:7:   instantiated
from
'HAC::entity::instance_collection_pool_wrapper<HAC::entity::instance_array<HAC::entity::process_tag,
0ul> >'
../../../src/Object/inst/instance_collection_pool_bundle.h:135:72:  
instantiated from
'HAC::entity::instance_collection_pool_bundle<HAC::entity::process_tag>'
../../../src/Object/def/footprint.cc:619:25:   instantiated from here
../../../src/Object/inst/instance_scalar.h:138:7: internal compiler error: tree
check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10113
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

which is likely the reason for the error you are seeing.

Which eventually makes it a dup of PR45200.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |45200


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (2 preceding siblings ...)
  2010-08-16 10:08 ` rguenth at gcc dot gnu dot org
@ 2010-08-17 17:26 ` fang at csl dot cornell dot edu
  2010-08-17 17:41 ` hjl dot tools at gmail dot com
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-17 17:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from fang at csl dot cornell dot edu  2010-08-17 17:26 -------
Created an attachment (id=21507)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21507&action=view)
delta reduced, day 2

Slowly being reduced by delta, day 2 ...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (3 preceding siblings ...)
  2010-08-17 17:26 ` fang at csl dot cornell dot edu
@ 2010-08-17 17:41 ` hjl dot tools at gmail dot com
  2010-08-18 16:31 ` fang at csl dot cornell dot edu
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-08-17 17:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl dot tools at gmail dot com  2010-08-17 17:41 -------
It is caused by revision 145440:

http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg00060.html


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dseketel at redhat dot com
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-08-17 17:41:03
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (4 preceding siblings ...)
  2010-08-17 17:41 ` hjl dot tools at gmail dot com
@ 2010-08-18 16:31 ` fang at csl dot cornell dot edu
  2010-08-18 20:13 ` fang at csl dot cornell dot edu
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-18 16:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from fang at csl dot cornell dot edu  2010-08-18 16:30 -------
Created an attachment (id=21512)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21512&action=view)
test case, semi-reduced, day 3

day 3 of reducing, 4.5k lines


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (5 preceding siblings ...)
  2010-08-18 16:31 ` fang at csl dot cornell dot edu
@ 2010-08-18 20:13 ` fang at csl dot cornell dot edu
  2010-08-18 22:05 ` fang at csl dot cornell dot edu
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-18 20:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from fang at csl dot cornell dot edu  2010-08-18 20:13 -------
Created an attachment (id=21515)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21515&action=view)
test case, day 3b

yet smaller


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (6 preceding siblings ...)
  2010-08-18 20:13 ` fang at csl dot cornell dot edu
@ 2010-08-18 22:05 ` fang at csl dot cornell dot edu
  2010-09-06 18:44 ` dodji at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-08-18 22:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from fang at csl dot cornell dot edu  2010-08-18 22:05 -------
reduced test case (manually reduced after delta):

===========================================================
typedef long unsigned int size_t;
template <class T> struct never_ptr {
T* ptr;
T* operator -> () const throw() {
return ptr;
}  
};  
namespace HAC {
template <class> class instance_collection_pool_bundle;
template <class Tag> class footprint_base {
typedef instance_collection_pool_bundle<Tag>      collection_pool_bundle_type;
protected:  const never_ptr<collection_pool_bundle_type>
collection_pool_bundle;
}; 
struct process_tag;
template <class Tag> class instance_collection;
template <class> struct class_traits;
template <class Tag> class instance_alias_info;
}   
namespace std {
template <class T> struct default_vector {
typedef size_t type;
};  
}  
namespace HAC {
class footprint : private footprint_base<process_tag> {
void operator [] ( const size_t ) const;
};  
class physical_instance_collection;
template <class, size_t> class instance_array;
typedef instance_collection<process_tag>  process_instance_collection;
typedef instance_alias_info<process_tag> process_instance_alias_info;
template <class> class general_collection_type_manager;
template <> struct class_traits<process_tag> {
typedef process_tag tag_type;
typedef process_instance_alias_info instance_alias_info_type;
typedef process_instance_collection instance_collection_generic_type;
typedef physical_instance_collection instance_collection_parent_type;
typedef general_collection_type_manager<tag_type>     
collection_type_manager_parent_type;
}; 
class instance_collection_base {
}; 
class physical_instance_collection : public instance_collection_base   {
}; 
template <class Tag> class collection_interface :  public
class_traits<Tag>::instance_collection_parent_type {
};  
template <class Tag> class instance_collection :  public
collection_interface<Tag>,  public
class_traits<Tag>::collection_type_manager_parent_type {
public:  typedef class_traits<Tag> traits_type;
typedef typename traits_type::instance_alias_info_type      
instance_alias_info_type;
typedef never_ptr<const instance_alias_info_type>     
const_instance_alias_info_ptr_type;
}; 
template <class Tag> class general_collection_type_manager {
}; 
template <class T> class instance_collection_pool_wrapper {
public:  typedef T collection_type;
typedef typename collection_type::traits_type::tag_type       tag_type;
}; 
template <class Tag> struct instance_collection_pool_bundle : public
instance_collection_pool_wrapper<instance_array<Tag, 0> > {
void lookup_collection(void) const;
};
template <class Tag, size_t D> class instance_array : public
instance_collection<Tag> {
public:  typedef class_traits<Tag> traits_type;
typedef typename traits_type::instance_collection_generic_type       
parent_type; 
typedef typename parent_type::const_instance_alias_info_ptr_type     
const_instance_alias_info_ptr_type;
void get_all_aliases(typename
std::default_vector<const_instance_alias_info_ptr_type>::type&) const;
}; 
template <class Tag> class instance_array<Tag,0> : public
instance_collection<Tag> {
public:  typedef class_traits<Tag> traits_type;
typedef typename traits_type::instance_collection_generic_type       
parent_type; 
typedef typename parent_type::const_instance_alias_info_ptr_type     
const_instance_alias_info_ptr_type;
void get_all_aliases(typename
std::default_vector<const_instance_alias_info_ptr_type>::type&) const;
}; 
void footprint::operator [] ( const size_t ) const {
footprint_base<process_tag>::collection_pool_bundle->lookup_collection();
}   
}
===========================================================

This should be a valid test case, passes g++-4.0.1.

reducing script:

#!/bin/sh -e
# must be valid for g++-4.0.1! (powerpc-apple-darwin8)
g++ -o footprint.o -c footprint.ii > /dev/null 2>&1
# then fail specifically with ICE
g++-fsf-4.5 -o footprint.o -c footprint.ii > footprint.err 2>&1 || :
grep -q "internal compiler error: in iterative_hash_template_arg, at
cp/pt.c:1589" footprint.err

keywords: ICE-on-valid-code


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (7 preceding siblings ...)
  2010-08-18 22:05 ` fang at csl dot cornell dot edu
@ 2010-09-06 18:44 ` dodji at gcc dot gnu dot org
  2010-09-06 18:50 ` dodji at gcc dot gnu dot org
  2010-09-07  7:12 ` dodji at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-09-06 18:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from dodji at gcc dot gnu dot org  2010-09-06 18:44 -------
Subject: Bug 45293

Author: dodji
Date: Mon Sep  6 18:44:23 2010
New Revision: 163929

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163929
Log:
Patch PR c++/45200

    Fix PR c++/45200, c++/45293, c++/45558

gcc/cp/Changelog:
        PR c++/45200
        PR c++/45293
        PR c++/45558
        * tree.c (strip_typedefs): Strip typedefs from the context of
        TYPENAME_TYPEs.

gcc/testsuite/ChangeLog:
        PR c++/45200
        PR c++/45293
        PR c++/45558
        * g++.dg/template/typedef34.C: New test.
        * g++.dg/template/typedef35.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/template/typedef34.C
    trunk/gcc/testsuite/g++.dg/template/typedef35.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/tree.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (8 preceding siblings ...)
  2010-09-06 18:44 ` dodji at gcc dot gnu dot org
@ 2010-09-06 18:50 ` dodji at gcc dot gnu dot org
  2010-09-07  7:12 ` dodji at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-09-06 18:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from dodji at gcc dot gnu dot org  2010-09-06 18:50 -------
Subject: Bug 45293

Author: dodji
Date: Mon Sep  6 18:49:46 2010
New Revision: 163930

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163930
Log:
Patch PR c++/45200

    Fix PR c++/45200, c++/45293, c++/45558

gcc/cp/Changelog:
        PR c++/45200
        PR c++/45293
        PR c++/45558
        * tree.c (strip_typedefs): Strip typedefs from the context of
        TYPENAME_TYPEs.

gcc/testsuite/ChangeLog:
        PR c++/45200
        PR c++/45293
        PR c++/45558
        * g++.dg/template/typedef34.C: New test.
        * g++.dg/template/typedef35.C: New test.

Added:
    branches/gcc-4_5-branch/gcc/testsuite/g++.dg/template/typedef34.C
    branches/gcc-4_5-branch/gcc/testsuite/g++.dg/template/typedef35.C
Modified:
    branches/gcc-4_5-branch/gcc/cp/ChangeLog
    branches/gcc-4_5-branch/gcc/cp/tree.c
    branches/gcc-4_5-branch/gcc/cp/typeck.c
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/45293] ICE in iterative_hash_template_arg, at cp/pt.c:1589
  2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
                   ` (9 preceding siblings ...)
  2010-09-06 18:50 ` dodji at gcc dot gnu dot org
@ 2010-09-07  7:12 ` dodji at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-09-07  7:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from dodji at gcc dot gnu dot org  2010-09-07 07:12 -------
Fixed in 4.5.2 and trunk (4.6)


-- 

dodji at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45293


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-09-07  7:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-16  1:06 [Bug c++/45293] New: ICE in iterative_hash_template_arg, at cp/pt.c:1589 fang at csl dot cornell dot edu
2010-08-16  1:08 ` [Bug c++/45293] " fang at csl dot cornell dot edu
2010-08-16  6:11 ` fang at csl dot cornell dot edu
2010-08-16 10:08 ` rguenth at gcc dot gnu dot org
2010-08-17 17:26 ` fang at csl dot cornell dot edu
2010-08-17 17:41 ` hjl dot tools at gmail dot com
2010-08-18 16:31 ` fang at csl dot cornell dot edu
2010-08-18 20:13 ` fang at csl dot cornell dot edu
2010-08-18 22:05 ` fang at csl dot cornell dot edu
2010-09-06 18:44 ` dodji at gcc dot gnu dot org
2010-09-06 18:50 ` dodji at gcc dot gnu dot org
2010-09-07  7:12 ` dodji at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).