Implement P0138R2, C++17 construction rules for enum class values
commit9b5db70f9fe73740b7ea19e9d8ce970cb862dbeb
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Sep 2016 17:38:29 +0000 (23 17:38 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Sep 2016 17:38:29 +0000 (23 17:38 +0000)
tree0dab028d22f5c23310e12547c146e8c3c2412cbb
parent0a66c38038721d3f561d4dec84c316c87ed5b2ea
Implement P0138R2, C++17 construction rules for enum class values
* cp-tree.h (is_direct_enum_init): Declare.
* decl.c (is_direct_enum_init): New function.
(reshape_init): Use it.
* typeck.c (convert_for_assignment): Likewise.

* g++.dg/cpp1z/direct-enum-init1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240449 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1z/direct-enum-init1.C [new file with mode: 0644]