diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-04-16 22:09:46 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-04-16 22:09:46 +0000 |
commit | b33eed0ced186937b9b09ff7e281b0565c50d5bb (patch) | |
tree | 647a3a1794698df6320f656dd938ee3567e2ded8 /clang/lib/Sema/SemaInit.h | |
parent | d43a12df56e71f341e9abd7405df56cbc8600ce2 (diff) | |
download | bcm5719-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.h | 4 |
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. /// |