diff options
author | John McCall <rjmccall@apple.com> | 2010-01-13 09:16:55 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-01-13 09:16:55 +0000 |
commit | 6a61b5203dc68982f547cff3d6cd068066417703 (patch) | |
tree | 80e38518ad58725c6d5c873b29b7173ad506613b /clang/lib/Sema/SemaExprCXX.cpp | |
parent | c88db06565fc8d07c81f509e44c20a883b560aef (diff) | |
download | bcm5719-llvm-6a61b5203dc68982f547cff3d6cd068066417703.tar.gz bcm5719-llvm-6a61b5203dc68982f547cff3d6cd068066417703.zip |
Record some basic information about bad conversion sequences. Use that
information to feed diagnostics instead of regenerating it. Much room for
improvement here, but fixes some unfortunate problems reporting on method calls.
llvm-svn: 93316
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index d6947986a45..d10e11fdb4a 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -1076,6 +1076,7 @@ Sema::PerformImplicitConversion(Expr *&From, QualType ToType, bool Elidable, ImplicitConversionSequence& ICS) { ICS.setBad(); + ICS.Bad.init(BadConversionSequence::no_conversion, From, ToType); if (Elidable && getLangOptions().CPlusPlus0x) { ICS = TryImplicitConversion(From, ToType, /*SuppressUserConversions=*/false, @@ -1942,7 +1943,7 @@ QualType Sema::FindCompositePointerType(Expr *&E1, Expr *&E2) { ImplicitConversionSequence E1ToC2, E2ToC2; E1ToC2.setBad(); - E2ToC2.setBad(); + E2ToC2.setBad(); if (Context.getCanonicalType(Composite1) != Context.getCanonicalType(Composite2)) { E1ToC2 = TryImplicitConversion(E1, Composite2, |