]> granicus.if.org Git - clang/commit
Introduce a new expression type, CXXUnresolvedConstructExpr, to
authorDouglas Gregor <dgregor@apple.com>
Wed, 20 May 2009 18:46:25 +0000 (18:46 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 20 May 2009 18:46:25 +0000 (18:46 +0000)
commitd81e6ca6e378c3996a139066a5c4b7fc1869630c
tree4353b92ebccd58fdc512092bcfe7c3199131c1a3
parent9cd96ff7dfcb51fdba03df8803fff6cc36e9633f
Introduce a new expression type, CXXUnresolvedConstructExpr, to
describe the construction of a value of a given type using function
syntax, e.g.,

  T(a1, a2, ..., aN)

when the type or any of its arguments are type-dependent. In this
case, we don't know what kind of type-construction this will be: it
might construct a temporary of type 'T' (which might be a class or
non-class type) or might perform a conversion to type 'T'. Also,
implement printing of and template instantiation for this new
expression type. Due to the change in Sema::ActOnCXXTypeConstructExpr,
our existing tests cover template instantiation of this new expression
node.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72176 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ExprCXX.h
include/clang/AST/StmtNodes.def
lib/AST/ExprCXX.cpp
lib/AST/StmtPrinter.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaTemplateInstantiateExpr.cpp