[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-27 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

--- Comment #7 from Marek Polacek  ---
Author: mpolacek
Date: Sun Jan 27 19:54:29 2019
New Revision: 268320

URL: https://gcc.gnu.org/viewcvs?rev=268320=gcc=rev
Log:
PR c++/89024 - ICE with incomplete enum type.
* call.c (standard_conversion): When converting an
ARITHMETIC_TYPE_P to an incomplete type, return NULL.

* g++.dg/cpp0x/enum37.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/enum37.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-25 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

Marek Polacek  changed:

   What|Removed |Added

   Keywords|ice-on-invalid-code |ice-on-valid-code

--- Comment #6 from Marek Polacek  ---
Nope, changing it back.

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-25 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

Marek Polacek  changed:

   What|Removed |Added

   Keywords|ice-on-valid-code   |ice-on-invalid-code

--- Comment #5 from Marek Polacek  ---
Jason says this is invalid, changing the keywords.

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-23 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

Marek Polacek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org

--- Comment #4 from Marek Polacek  ---
No worries and thanks for filing the PR.  Testing a patch.

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-23 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

--- Comment #3 from TC  ---
Bah, must have copy-pasta'd the semicolon somewhere when reducing the original
and didn't notice :(

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-23 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

--- Comment #2 from Marek Polacek  ---
(In reply to Marek Polacek from comment #1)
> A valid version:

Eh, this one (without the semicolon):

template T&& declval();

template
void __test_aux(_To1);

template(declval<_From1>()))>
char __test(int);

template
int __test(...);

enum E {
x = decltype(__test(0))(0)
};

[Bug c++/89024] [7/8/9 Regression] ICE testing convertibility of incomplete enumeration types

2019-01-23 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89024

Marek Polacek  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-01-24
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |7.5
Summary|ICE testing convertibility  |[7/8/9 Regression] ICE
   |of incomplete enumeration   |testing convertibility of
   |types   |incomplete enumeration
   ||types
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed.  

Started with r159006, it's a regression.

A valid version:

template T&& declval();

template
void __test_aux(_To1);

template(declval<_From1>()))>
char __test(int);

template
int __test(...);

enum E {
x = decltype(__test(0))(0);
};