[Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Jan 6 16:30:00 GMT 2010



------- Comment #1 from rguenth at gcc dot gnu dot org  2010-01-06 16:30 -------
Confirmed.  Older releases ICE differently.

Note that I don't see an ICE with -g0 but only with -g.

With plain -g the code is even rejected:

> ./cc1plus -quiet -std=c++0x t.ii
ok
> ./cc1plus -quiet -std=c++0x t.ii -g
t.ii: In instantiation of 'const bool is_constructible<Foo, int&&>::value':
t.ii:14:30:   instantiated from here
t.ii:5:61: error: no matching function for call to 'is_constructible<Foo,
int&&>::test()'
t.ii:14:30: error: 'is_constructible<Foo, int&&>::value' is not a valid
template argument for type 'bool' because it is a non-constant expression
t.ii: In constructor 'pair<T1, T2>::pair(const T1&, U2&&) [with U2 = Foo,
<template-parameter-2-2> = void, T1 = int, T2 = Foo]':
t.ii:14:30: error: 'is_constructible<Foo, int&&>::value' is not a valid
template argument for type 'bool' because it is a non-constant expression


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code, rejects-
                   |                            |valid
      Known to fail|                            |4.3.4 4.4.2 4.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2010-01-06 16:30:39
               date|                            |


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



More information about the Gcc-bugs mailing list