summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-16 22:09:46 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-16 22:09:46 +0000
commitb33eed0ced186937b9b09ff7e281b0565c50d5bb (patch)
tree647a3a1794698df6320f656dd938ee3567e2ded8 /clang/lib/Sema/SemaInit.h
parentd43a12df56e71f341e9abd7405df56cbc8600ce2 (diff)
downloadbcm5719-llvm-b33eed0ced186937b9b09ff7e281b0565c50d5bb.tar.gz
bcm5719-llvm-b33eed0ced186937b9b09ff7e281b0565c50d5bb.zip
Collapse the three separate initialization paths in
TryStaticImplicitCast (for references, class types, and everything else, respectively) into a single invocation of InitializationSequence. One of the paths (for class types) was the only client of Sema::TryInitializationByConstructor, which I have eliminated. This also simplified the interface for much of the cast-checking logic, eliminating yet more code. I've kept the representation of C++ functional casts with <> 1 arguments the same, despite the fact that I hate it. That fix will come soon. To satisfy my paranoia, I've bootstrapped + tested Clang with these changes. llvm-svn: 101549
Diffstat (limited to 'clang/lib/Sema/SemaInit.h')
-rw-r--r--clang/lib/Sema/SemaInit.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaInit.h b/clang/lib/Sema/SemaInit.h
index 7c6327f8c7f..65ee42042c0 100644
--- a/clang/lib/Sema/SemaInit.h
+++ b/clang/lib/Sema/SemaInit.h
@@ -606,6 +606,10 @@ public:
/// \brief Determine whether this initialization failed due to an ambiguity.
bool isAmbiguous() const;
+ /// \brief Determine whether this initialization is direct call to a
+ /// constructor.
+ bool isConstructorInitialization() const;
+
/// \brief Add a new step in the initialization that resolves the address
/// of an overloaded function to a specific function declaration.
///
OpenPOWER on IntegriCloud