public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/45200]  New: ICE in template instantiation
@ 2010-08-05 21:01 mr dot chr dot schmidt at online dot de
  2010-08-05 21:02 ` [Bug c++/45200] " mr dot chr dot schmidt at online dot de
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: mr dot chr dot schmidt at online dot de @ 2010-08-05 21:01 UTC (permalink / raw)
  To: gcc-bugs

The attached code leads to segfaults when compiled with gcc-4.5.0 or gcc-4.5.1.
gcc-4.4.1 accepts the code.
I have absolutely no idea what is actually causing the segfault, as the very
same instantiation does not segfault in another context.


-- 
           Summary: ICE in template instantiation
           Product: gcc
           Version: 4.5.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mr dot chr dot schmidt at online dot de
GCC target triplet: i686-pc-mingw32


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


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

* [Bug c++/45200] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
@ 2010-08-05 21:02 ` mr dot chr dot schmidt at online dot de
  2010-08-05 21:04 ` mr dot chr dot schmidt at online dot de
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: mr dot chr dot schmidt at online dot de @ 2010-08-05 21:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from mr dot chr dot schmidt at online dot de  2010-08-05 21:02 -------
Created an attachment (id=21411)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21411&action=view)
preprocessed source file


-- 


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


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

* [Bug c++/45200] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
  2010-08-05 21:02 ` [Bug c++/45200] " mr dot chr dot schmidt at online dot de
@ 2010-08-05 21:04 ` mr dot chr dot schmidt at online dot de
  2010-08-05 21:09 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: mr dot chr dot schmidt at online dot de @ 2010-08-05 21:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from mr dot chr dot schmidt at online dot de  2010-08-05 21:04 -------
Created an attachment (id=21412)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21412&action=view)
g++ -v / g++ reverse.cpp output


-- 


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


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

* [Bug c++/45200] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
  2010-08-05 21:02 ` [Bug c++/45200] " mr dot chr dot schmidt at online dot de
  2010-08-05 21:04 ` mr dot chr dot schmidt at online dot de
@ 2010-08-05 21:09 ` pinskia at gcc dot gnu dot org
  2010-08-05 21:15 ` mr dot chr dot schmidt at online dot de
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-08-05 21:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2010-08-05 21:08 -------
Trunk gives:
..\..\..\..\../boost/fusion/view/reverse_view/detail/end_impl.hpp:39:13:
internal compiler error: tree check: accessed elt 2 of tree_vec with 1 elts in
tsubst, at cp/pt.c:10167
Please submit a full bug report,


-- 


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


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

* [Bug c++/45200] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (2 preceding siblings ...)
  2010-08-05 21:09 ` pinskia at gcc dot gnu dot org
@ 2010-08-05 21:15 ` mr dot chr dot schmidt at online dot de
  2010-08-05 22:42 ` hjl dot tools at gmail dot com
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: mr dot chr dot schmidt at online dot de @ 2010-08-05 21:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from mr dot chr dot schmidt at online dot de  2010-08-05 21:14 -------
A workaround is to wrap the faulting template instantiation in a thin wrapper:


typename detail::forward_as_lref<
  Seq
, typename detail::remove_reference<Seq>::type::seq_type
>::type


... does not work, whereas ...


template<typename TestType,typename Type>
struct forward_as_gcc_helper
: detail::forward_as_lref<TestType, Type>
{};

typename forward_as_gcc_helper<
  Seq
, typename detail::remove_reference<Seq>::type::seq_type
>::type


... compiles fine.


-- 


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


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

* [Bug c++/45200] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (3 preceding siblings ...)
  2010-08-05 21:15 ` mr dot chr dot schmidt at online dot de
@ 2010-08-05 22:42 ` hjl dot tools at gmail dot com
  2010-08-06 22:35 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-08-05 22:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl dot tools at gmail dot com  2010-08-05 22:42 -------
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-05 22:42:23
               date|                            |


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


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

* [Bug c++/45200] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (4 preceding siblings ...)
  2010-08-05 22:42 ` hjl dot tools at gmail dot com
@ 2010-08-06 22:35 ` pinskia at gcc dot gnu dot org
  2010-08-06 22:36 ` [Bug c++/45200] [4.5/4.6 Regression] " pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-08-06 22:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pinskia at gcc dot gnu dot org  2010-08-06 22:35 -------
Nice reduced testcase:
template<typename T>
struct remove_reference
{
  typedef T type;
};
template<typename TestType>   struct forward_as_lref    {};
template<typename Seq, typename N>
struct apply1
{
  typedef typename remove_reference<Seq>::type seq;
  typedef  forward_as_lref<  typename seq::seq_type> type;
};
template<typename Seq>
struct apply
{
  typedef forward_as_lref< typename remove_reference<Seq>::type::seq_type >
type;
};
struct reverse_view
{
  typedef int seq_type;
};
int main()
{
    apply<reverse_view >::type a2;
}


-- 


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (5 preceding siblings ...)
  2010-08-06 22:35 ` pinskia at gcc dot gnu dot org
@ 2010-08-06 22:36 ` pinskia at gcc dot gnu dot org
  2010-08-09 23:56 ` dodji at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-08-06 22:36 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|i686-pc-mingw32             |
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |4.5.0 4.6.0
      Known to work|                            |4.4.3
            Summary|ICE in template             |[4.5/4.6 Regression] ICE in
                   |instantiation               |template instantiation
   Target Milestone|---                         |4.5.2


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (6 preceding siblings ...)
  2010-08-06 22:36 ` [Bug c++/45200] [4.5/4.6 Regression] " pinskia at gcc dot gnu dot org
@ 2010-08-09 23:56 ` dodji at gcc dot gnu dot org
  2010-08-10 14:38 ` dodji at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-08-09 23:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from dodji at gcc dot gnu dot org  2010-08-09 23:56 -------
Created an attachment (id=21443)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21443&action=view)
Candidate patch

I am testing this patch atm that seems to be working for now.


-- 

dodji at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |dodji at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (7 preceding siblings ...)
  2010-08-09 23:56 ` dodji at gcc dot gnu dot org
@ 2010-08-10 14:38 ` dodji at gcc dot gnu dot org
  2010-08-10 22:13 ` dodji at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-08-10 14:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from dodji at gcc dot gnu dot org  2010-08-10 14:37 -------
*** Bug 44301 has been marked as a duplicate of this bug. ***


-- 

dodji at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jewillco at osl dot iu dot
                   |                            |edu


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (8 preceding siblings ...)
  2010-08-10 14:38 ` dodji at gcc dot gnu dot org
@ 2010-08-10 22:13 ` dodji at gcc dot gnu dot org
  2010-08-12 13:40 ` dodji at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-08-10 22:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from dodji at gcc dot gnu dot org  2010-08-10 22:12 -------
(In reply to comment #7)
> Created an attachment (id=21443)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21443&action=view) [edit]
> Candidate patch
> 
> I am testing this patch atm that seems to be working for now.

It turned out the patch is not correct. I am looking at another way. 


-- 


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (9 preceding siblings ...)
  2010-08-10 22:13 ` dodji at gcc dot gnu dot org
@ 2010-08-12 13:40 ` dodji at gcc dot gnu dot org
  2010-08-30 15:53 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-08-12 13:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from dodji at gcc dot gnu dot org  2010-08-12 13:40 -------
A better patch submitted to
http://gcc.gnu.org/ml/gcc-patches/2010-08/msg00842.html


-- 


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (10 preceding siblings ...)
  2010-08-12 13:40 ` dodji at gcc dot gnu dot org
@ 2010-08-30 15:53 ` rguenth at gcc dot gnu dot org
  2010-09-06 18:44 ` dodji at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-08-30 15:53 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (11 preceding siblings ...)
  2010-08-30 15:53 ` rguenth at gcc dot gnu dot org
@ 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:09 ` dodji at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-09-06 18:44 UTC (permalink / raw)
  To: gcc-bugs



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

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=45200


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (12 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:09 ` dodji at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-09-06 18:50 UTC (permalink / raw)
  To: gcc-bugs



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

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=45200


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

* [Bug c++/45200] [4.5/4.6 Regression] ICE in template instantiation
  2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
                   ` (13 preceding siblings ...)
  2010-09-06 18:50 ` dodji at gcc dot gnu dot org
@ 2010-09-07  7:09 ` dodji at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-09-07  7:09 UTC (permalink / raw)
  To: gcc-bugs



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


-- 

dodji at gcc dot gnu dot org changed:

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


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


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

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

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-05 21:01 [Bug c++/45200] New: ICE in template instantiation mr dot chr dot schmidt at online dot de
2010-08-05 21:02 ` [Bug c++/45200] " mr dot chr dot schmidt at online dot de
2010-08-05 21:04 ` mr dot chr dot schmidt at online dot de
2010-08-05 21:09 ` pinskia at gcc dot gnu dot org
2010-08-05 21:15 ` mr dot chr dot schmidt at online dot de
2010-08-05 22:42 ` hjl dot tools at gmail dot com
2010-08-06 22:35 ` pinskia at gcc dot gnu dot org
2010-08-06 22:36 ` [Bug c++/45200] [4.5/4.6 Regression] " pinskia at gcc dot gnu dot org
2010-08-09 23:56 ` dodji at gcc dot gnu dot org
2010-08-10 14:38 ` dodji at gcc dot gnu dot org
2010-08-10 22:13 ` dodji at gcc dot gnu dot org
2010-08-12 13:40 ` dodji at gcc dot gnu dot org
2010-08-30 15:53 ` rguenth at gcc dot gnu dot org
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:09 ` 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).