public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
@ 2010-10-12 12:14 tbptbp at gmail dot com
  2010-10-12 13:10 ` [Bug c++/45983] " rguenth at gcc dot gnu.org
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: tbptbp at gmail dot com @ 2010-10-12 12:14 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: ICE: tree code 'template_parm_index' is not supported
                    in gimple streams with -lto
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: tbptbp@gmail.com


Created attachment 22022
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22022
refrigeration

Hello,

in the vein of PR45947, PR45959 and others, i'm still having issues in LTO
mode:
$ /usr/local/gcc-4.6-20101012/bin/g++ -flto -std=c++0x -c synth.ii
src/audio/synth.cc:96:1: internal compiler error: tree code
'template_parm_index' is not supported in gimple streams
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Sorry for the ugly test-case.

PS: initially i also suffered a 'template_type_parm' ICE somewhere else and
contacted R. Guenther, about PR45947, and he provided a patch that fixed
everything.


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
@ 2010-10-12 13:10 ` rguenth at gcc dot gnu.org
  2010-10-12 13:22 ` rguenth at gcc dot gnu.org
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-12 13:10 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
                 CC|                            |jason at gcc dot gnu.org
          Component|lto                         |c++

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-12 13:10:02 UTC ---
With the attached testcase I instead see

> ./cc1plus -quiet -std=c++0x /tmp/synth.ii -msse4 -flto
In file included from src/audio/synth.h:20:0,
                 from src/audio/synth.cc:41:
src/audio/synth_filters.h: In member function 'void
synth::filter::freeverb_stereo_t::process(const chunk_array_stereo_t&,
synth::chunk_array_stereo_t&)':
src/audio/synth_filters.h:683:25: internal compiler error: canonical types
differ for identical types const chunk_array_stereo_t and const
synth::chunk_array_t<2ul>
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

you probably built GCC with release checking?


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
  2010-10-12 13:10 ` [Bug c++/45983] " rguenth at gcc dot gnu.org
@ 2010-10-12 13:22 ` rguenth at gcc dot gnu.org
  2010-10-12 13:27 ` tbptbp at gmail dot com
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-12 13:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-12 13:22:33 UTC ---
Older GCC for some reason complain about

> g++-4.5 -S -std=c++0x synth.cpp -msse4
In file included from src/audio/synth_params.h:12:0,
                 from src/audio/synth.h:18,
                 from src/audio/synth.cc:41:
src/core/sys_log.h: In function ‘void sys::log(const char*, ...)’:
src/core/sys_log.h:95:40: error: invalid use of ‘__builtin_va_arg_pack ()’

reducing the canonical type error now.


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
  2010-10-12 13:10 ` [Bug c++/45983] " rguenth at gcc dot gnu.org
  2010-10-12 13:22 ` rguenth at gcc dot gnu.org
@ 2010-10-12 13:27 ` tbptbp at gmail dot com
  2010-10-12 13:31 ` tbptbp at gmail dot com
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: tbptbp at gmail dot com @ 2010-10-12 13:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from tbp <tbptbp at gmail dot com> 2010-10-12 13:27:24 UTC ---
(In reply to comment #2)
> Older GCC for some reason complain about
> src/core/sys_log.h:95:40: error: invalid use of ‘__builtin_va_arg_pack ()’
There's code to handle that, but that's not obvious in preprocessed form :)
Besides that, that thing compiles with g++ 4.4.4, 4.5 and used to with 4.6
until around, hmm, revision 165246.


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (2 preceding siblings ...)
  2010-10-12 13:27 ` tbptbp at gmail dot com
@ 2010-10-12 13:31 ` tbptbp at gmail dot com
  2010-10-12 13:49 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: tbptbp at gmail dot com @ 2010-10-12 13:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from tbp <tbptbp at gmail dot com> 2010-10-12 13:31:07 UTC ---
(In reply to comment #1)
> you probably built GCC with release checking?
Oh. Worse,
$ /usr/local/gcc-4.6-20101012/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/usr/local/gcc-4.6-20101012/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.6-20101012/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local/gcc-4.6.0
--enable-languages=c,c++ --enable-threads=posix --disable-checking
--disable-nls --with-system-zlib --disable-bootstrap --enable-checking=none
--enable-mpfr --enable-gold --enable-lto --with-ppl --with-cloog
--with-arch=native
Thread model: posix
gcc version 4.6.0 20101012 (experimental) (GCC) 

I should have stipulated that somewhere in the initial report, my bad.


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (3 preceding siblings ...)
  2010-10-12 13:31 ` tbptbp at gmail dot com
@ 2010-10-12 13:49 ` rguenth at gcc dot gnu.org
  2010-10-12 13:56 ` tbptbp at gmail dot com
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-12 13:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-12 13:49:09 UTC ---
canonical type error -> PR45984.


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (4 preceding siblings ...)
  2010-10-12 13:49 ` rguenth at gcc dot gnu.org
@ 2010-10-12 13:56 ` tbptbp at gmail dot com
  2010-10-12 14:24 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: tbptbp at gmail dot com @ 2010-10-12 13:56 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from tbp <tbptbp at gmail dot com> 2010-10-12 13:56:50 UTC ---
(In reply to comment #5)
> canonical type error -> PR45984.
Ah. So, both the current error and your previous patch fixing it all were
nothing but side-effects.
Tuning into the other channel. And thanks.


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (5 preceding siblings ...)
  2010-10-12 13:56 ` tbptbp at gmail dot com
@ 2010-10-12 14:24 ` rguenth at gcc dot gnu.org
  2010-10-12 14:55 ` rguenth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-12 14:24 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.10.12 14:24:28
                 CC|                            |rguenth at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-12 14:24:28 UTC ---
Reduced testcase for the LTO problem:

typedef long unsigned int size_t;
enum { chunk_size = 16,    max_channels = 16  };
struct float4_t { };
template<size_t NumChans>  class chunk_array_t {
    typedef float4_t value_type_t;
    typedef float scalar_type_t;
    typedef value_type_t value_array_t[chunk_size/4];
    typedef scalar_type_t scalar_array_t[chunk_size];
    value_array_t m[NumChans];
    const scalar_array_t &decay(size_t c) const;
};
template<size_t capacity> struct bitboard_t {
    struct scanner_t {
        scanner_t(const bitboard_t &b);
        size_t index() const;
    };
};
enum params_enum_t { PRM_VOL = 0,   PRM_PAN,   PRM_BND,   PRM_MOD  };
class midi_channels_params_t {
    float vals[4][max_channels];
public:
    template<params_enum_t p> float get_value(size_t cha) const {
        return vals[p][cha];
    }
};
class synth_t {
    typedef bitboard_t<max_channels> bb_channels_t;
    struct states_t {
        bb_channels_t mask_active_channels;
    };
    midi_channels_params_t &channel_params;
    states_t &states;
    void output_audio(void);
};
void synth_t::output_audio(void) {
    const bb_channels_t m(states.mask_active_channels);
    bb_channels_t::scanner_t cscan(m);
    const size_t chan = cscan.index();
    float chan_vol = channel_params.get_value<PRM_VOL>(chan);
}


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (6 preceding siblings ...)
  2010-10-12 14:24 ` rguenth at gcc dot gnu.org
@ 2010-10-12 14:55 ` rguenth at gcc dot gnu.org
  2010-10-15 15:05 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-12 14:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-12 14:54:58 UTC ---
We have an array type with a TYPE_DOMAIN with TYPE_MAXVAL being
template_parm_index - 1.  The array is field 'm' in chunk_array_t
which is the DECL_CONTEXT of scalar_type_t which is referenced by
the statement

  D.1506_3 = this_1(D)->vals[0][cha_2(D)];

as the type of the reference.

I wonder why this uses chunk_array_t::scalar_type_t at all.  Hmm.

We build that array-ref in the frontend:

#1  0x00000000006839ef in cp_build_array_ref (loc=2910, array=0x7ffff5b11480, 
    idx=0x7ffff5b10198, complain=3)
    at /space/rguenther/src/svn/trunk/gcc/cp/typeck.c:3039
3039          rval = build4 (ARRAY_REF, type, array, idx, NULL_TREE,
NULL_TREE);

and the array has element type scalar_type_t already.  It's array type
is already built with that element type by

0x00000000007056f8 in build_cplus_array_type (elt_type=0x7ffff5b011f8, 
    index_type=0x7ffff5aeebd0)
    at /space/rguenther/src/svn/trunk/gcc/cp/tree.c:665
665         t = build_array_type (elt_type, index_type);
(gdb) up
#1  0x00000000007064d7 in cp_build_qualified_type_real (type=0x7ffff5aeef18, 
    type_quals=1, complain=7)
    at /space/rguenther/src/svn/trunk/gcc/cp/tree.c:822
822               t = build_cplus_array_type (element_type, TYPE_DOMAIN
(type));
(gdb) up
#2  0x00000000004fb789 in grokdeclarator (declarator=0x1aa2330, 
    declspecs=0x7fffffffd5d0, decl_context=FIELD, initialized=0, 
    attrlist=0x7fffffffd380)
    at /space/rguenther/src/svn/trunk/gcc/cp/decl.c:8322
8322      type = cp_build_qualified_type_real

which is ultimately derived from

#1  0x00000000004f9956 in create_array_type_for_decl (name=0x7ffff5afad68, 
    type=0x7ffff5aee690, size=0x7ffff5ae28c0)
    at /space/rguenther/src/svn/trunk/gcc/cp/decl.c:7640
7640      return build_cplus_array_type (type, itype);
(gdb) up
#2  0x00000000004fc05c in grokdeclarator (declarator=0x1aa2130, 
    declspecs=0x7fffffffd5d0, decl_context=FIELD, initialized=0, 
    attrlist=0x7fffffffd380)
    at /space/rguenther/src/svn/trunk/gcc/cp/decl.c:8525
8525              type = create_array_type_for_decl (dname, type,

which has type of scalar_type_t already.

So - I have no idea how scalar_type_t leaks there ...

Jason?


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (7 preceding siblings ...)
  2010-10-12 14:55 ` rguenth at gcc dot gnu.org
@ 2010-10-15 15:05 ` rguenth at gcc dot gnu.org
  2010-10-15 15:22 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-15 15:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-15 15:05:36 UTC ---
More reduced testcase:

template <int N>
class T1 {
    int m[N];
    typedef float scalar_type_t;
    typedef scalar_type_t scalar_array_t[1];
    const scalar_array_t &decay(void) const;
};
class T2 {
public:
    float vals[1];
    float get_value(void) const { return vals[0]; }
};
T2 channel_params;
float output_audio(void) {
    return channel_params.get_value();
}

The scalar_type_t seems to leak through the seemingly identical array types
scalar_type_t[1] and float[1].


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (8 preceding siblings ...)
  2010-10-15 15:05 ` rguenth at gcc dot gnu.org
@ 2010-10-15 15:22 ` rguenth at gcc dot gnu.org
  2010-10-15 15:27 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-15 15:22 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid

--- Comment #10 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-15 15:21:43 UTC ---
Ha.  We reject

template <int N>
class T1 {
    int m[N];
    typedef float scalar_type_t;
    typedef scalar_type_t scalar_array_t[1];
    const scalar_array_t &decay(void) const;
};
class T2 {
public:
    float vals[1];
    float* get_value(void) const { return vals; }
};
T2 channel_params;
float *output_audio(void) {
    return channel_params.get_value();
}

> ./cc1plus -quiet t.ii 
t.ii: In member function 'float* T2::get_value() const':
t.ii:11:43: error: invalid conversion from 'const scalar_type_t*' to 'float*'
[-fpermissive]

fun ;)


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

* [Bug c++/45983] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (9 preceding siblings ...)
  2010-10-15 15:22 ` rguenth at gcc dot gnu.org
@ 2010-10-15 15:27 ` rguenth at gcc dot gnu.org
  2010-10-15 15:29 ` [Bug c++/45983] [4.5/4.6 Regression] " rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-15 15:27 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|rejects-valid               |diagnostic

--- Comment #11 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-15 15:27:08 UTC ---
Hm, actually the qualifiers indeed don't match.  But still the error message
should mention const float *, not const scalar_type_t*


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

* [Bug c++/45983] [4.5/4.6 Regression] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (10 preceding siblings ...)
  2010-10-15 15:27 ` rguenth at gcc dot gnu.org
@ 2010-10-15 15:29 ` rguenth at gcc dot gnu.org
  2010-10-15 21:15 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-15 15:29 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.5.2
            Summary|ICE: tree code              |[4.5/4.6 Regression] ICE:
                   |'template_parm_index' is    |tree code
                   |not supported in gimple     |'template_parm_index' is
                   |streams with -lto           |not supported in gimple
                   |                            |streams with -lto

--- Comment #12 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-15 15:28:58 UTC ---
With 4.4:

> g++-4.4 -S t.ii
t.ii: In member function ‘float* T2::get_value() const’:
t.ii:11: error: invalid conversion from ‘const float*’ to ‘float*’

with 4.5:

> g++-4.5 -S t.ii
t.ii: In member function ‘float* T2::get_value() const’:
t.ii:11:43: error: invalid conversion from ‘const T1::scalar_type_t*’ to
‘float*’


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

* [Bug c++/45983] [4.5/4.6 Regression] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (11 preceding siblings ...)
  2010-10-15 15:29 ` [Bug c++/45983] [4.5/4.6 Regression] " rguenth at gcc dot gnu.org
@ 2010-10-15 21:15 ` jason at gcc dot gnu.org
  2010-10-15 21:49 ` tbptbp at gmail dot com
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jason at gcc dot gnu.org @ 2010-10-15 21:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> 2010-10-15 21:15:17 UTC ---
Author: jason
Date: Fri Oct 15 21:15:13 2010
New Revision: 165521

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165521
Log:
    PR c++/45983
    * tree.c (cp_build_qualified_type_real): Don't reuse a variant
    with a different typedef variant of the element type.

Added:
    trunk/gcc/testsuite/g++.dg/lto/pr45983_0.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/tree.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug c++/45983] [4.5/4.6 Regression] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (12 preceding siblings ...)
  2010-10-15 21:15 ` jason at gcc dot gnu.org
@ 2010-10-15 21:49 ` tbptbp at gmail dot com
  2010-10-18 15:45 ` [Bug c++/45983] [4.5 " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: tbptbp at gmail dot com @ 2010-10-15 21:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from tbp <tbptbp at gmail dot com> 2010-10-15 21:48:44 UTC ---
(In reply to comment #13)
> Author: jason
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165521
Richard, Jason, many thanks, that did it.


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

* [Bug c++/45983] [4.5 Regression] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (13 preceding siblings ...)
  2010-10-15 21:49 ` tbptbp at gmail dot com
@ 2010-10-18 15:45 ` rguenth at gcc dot gnu.org
  2010-10-20 15:05 ` jason at gcc dot gnu.org
  2010-11-12 14:34 ` rguenth at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-18 15:45 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.5/4.6 Regression] ICE:   |[4.5 Regression] ICE: tree
                   |tree code                   |code 'template_parm_index'
                   |'template_parm_index' is    |is not supported in gimple
                   |not supported in gimple     |streams with -lto
                   |streams with -lto           |
      Known to fail|                            |4.6.0

--- Comment #15 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-18 15:45:04 UTC ---
Fixed for 4.6.


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

* [Bug c++/45983] [4.5 Regression] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (14 preceding siblings ...)
  2010-10-18 15:45 ` [Bug c++/45983] [4.5 " rguenth at gcc dot gnu.org
@ 2010-10-20 15:05 ` jason at gcc dot gnu.org
  2010-11-12 14:34 ` rguenth at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: jason at gcc dot gnu.org @ 2010-10-20 15:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Jason Merrill <jason at gcc dot gnu.org> 2010-10-20 15:05:28 UTC ---
Author: jason
Date: Wed Oct 20 15:05:22 2010
New Revision: 165728

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165728
Log:
    PR c++/45983
    * tree.c (cp_build_qualified_type_real): Don't reuse a variant
    with a different typedef variant of the element type.

Added:
    branches/gcc-4_5-branch/gcc/testsuite/g++.dg/lto/pr45983_0.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/testsuite/ChangeLog


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

* [Bug c++/45983] [4.5 Regression] ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto
  2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
                   ` (15 preceding siblings ...)
  2010-10-20 15:05 ` jason at gcc dot gnu.org
@ 2010-11-12 14:34 ` rguenth at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-12 14:34 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
      Known to work|                            |4.6.0
         Resolution|                            |FIXED
      Known to fail|4.6.0                       |

--- Comment #17 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-12 14:08:48 UTC ---
Fixed.


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

end of thread, other threads:[~2010-11-12 14:34 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-12 12:14 [Bug c++/45983] New: ICE: tree code 'template_parm_index' is not supported in gimple streams with -lto tbptbp at gmail dot com
2010-10-12 13:10 ` [Bug c++/45983] " rguenth at gcc dot gnu.org
2010-10-12 13:22 ` rguenth at gcc dot gnu.org
2010-10-12 13:27 ` tbptbp at gmail dot com
2010-10-12 13:31 ` tbptbp at gmail dot com
2010-10-12 13:49 ` rguenth at gcc dot gnu.org
2010-10-12 13:56 ` tbptbp at gmail dot com
2010-10-12 14:24 ` rguenth at gcc dot gnu.org
2010-10-12 14:55 ` rguenth at gcc dot gnu.org
2010-10-15 15:05 ` rguenth at gcc dot gnu.org
2010-10-15 15:22 ` rguenth at gcc dot gnu.org
2010-10-15 15:27 ` rguenth at gcc dot gnu.org
2010-10-15 15:29 ` [Bug c++/45983] [4.5/4.6 Regression] " rguenth at gcc dot gnu.org
2010-10-15 21:15 ` jason at gcc dot gnu.org
2010-10-15 21:49 ` tbptbp at gmail dot com
2010-10-18 15:45 ` [Bug c++/45983] [4.5 " rguenth at gcc dot gnu.org
2010-10-20 15:05 ` jason at gcc dot gnu.org
2010-11-12 14:34 ` rguenth at gcc dot gnu.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).