[Bug c++/22434] [3.4/4.0/4.1 regression] ICE in simplify_{,gen_}subreg
harald at gigawatt dot nl
gcc-bugzilla@gcc.gnu.org
Sun May 25 17:30:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22434
Harald van Dijk <harald at gigawatt dot nl> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |harald at gigawatt dot nl
--- Comment #11 from Harald van Dijk <harald at gigawatt dot nl> ---
(In reply to Jason Merrill from comment #10)
I was about to report a new bug, but I think that you have already fixed the
problem here. Perhaps the test cases I was going to suggest would still be
useful to add:
struct T;
struct S { operator T(); };
struct T { operator S(); };
const S f();
volatile T g();
void h() { true ? f() : g(); }
or
struct S { S(void *); operator int(); };
const S f();
void g() { true ? f() : 1; }
are accepted by GCC 4.9 without any diagnostic. Take out one of the bad
conversions, and the other causes the correct error to be shown. (-pedantic
causees the bad conversions to be rejected earlier, but the errors here are
errors that are supposed to show up even without -pedantic, and normally they
do.)
More information about the Gcc-bugs
mailing list