[Sema] Don't perform aggregate initialization for types with explicit constructors
authorEric Fiselier <eric@efcs.ca>
Sat, 3 Dec 2016 01:26:47 +0000 (01:26 +0000)
committerEric Fiselier <eric@efcs.ca>
Sat, 3 Dec 2016 01:26:47 +0000 (01:26 +0000)
commit283d8d45dbfcd12aec26d08e54eaae3c1c81aebc
tree943455c4996c64984836cb722838ead725b99103
parent572e6deeb7b1c13c58ac3e9861669d6b3374d9f7
[Sema] Don't perform aggregate initialization for types with explicit constructors

Summary:
The C++17 rules for aggregate initialization changed to disallow types with explicit constructors [dcl.init.aggr]p1. This patch implements that new rule.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D25654

llvm-svn: 288565
clang/lib/AST/DeclCXX.cpp
clang/test/CXX/dcl.decl/dcl.init/dcl.init.aggr/p1.cpp
clang/test/CXX/dcl.decl/dcl.init/p7.cpp
clang/test/CXX/drs/dr15xx.cpp