summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-08-27 17:14:02 +0000
committerAnders Carlsson <andersca@mac.com>2009-08-27 17:14:02 +0000
commit5ec4abf2684ddef0b50fbc6fde3d579f3ad8faba (patch)
tree6fef24b4a94576804a4881209866bd7671238953 /clang/lib/Sema/SemaOverload.cpp
parent962c3747818be49934894f1a36dd2ec06b8031f1 (diff)
downloadbcm5719-llvm-5ec4abf2684ddef0b50fbc6fde3d579f3ad8faba.tar.gz
bcm5719-llvm-5ec4abf2684ddef0b50fbc6fde3d579f3ad8faba.zip
Revert the flags change for now, I have a better idea for this.
llvm-svn: 80255
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 2c8c7317975..dde5c287236 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -408,11 +408,10 @@ Sema::IsOverload(FunctionDecl *New, Decl* OldD,
/// If @p ForceRValue, then overloading is performed as if From was an rvalue,
/// no matter its actual lvalueness.
ImplicitConversionSequence
-Sema::TryImplicitConversion(Expr* From, QualType ToType, unsigned Flags) {
- bool SuppressUserConversions = Flags & ORF_SuppressUserConversions;
- bool AllowExplicit = Flags & ORF_AllowExplicit;
- bool ForceRValue = Flags & ORF_ForceRValue;
-
+Sema::TryImplicitConversion(Expr* From, QualType ToType,
+ bool SuppressUserConversions,
+ bool AllowExplicit, bool ForceRValue)
+{
ImplicitConversionSequence ICS;
if (IsStandardConversion(From, ToType, ICS.Standard))
ICS.ConversionKind = ImplicitConversionSequence::StandardConversion;
@@ -1930,11 +1929,8 @@ Sema::TryCopyInitialization(Expr *From, QualType ToType,
/*AllowExplicit=*/false, ForceRValue);
return ICS;
} else {
- unsigned Flags = ORF_None;
- if (SuppressUserConversions) Flags |= ORF_SuppressUserConversions;
- if (ForceRValue) Flags |= ORF_ForceRValue;
-
- return TryImplicitConversion(From, ToType, Flags);
+ return TryImplicitConversion(From, ToType, SuppressUserConversions,
+ ForceRValue);
}
}
@@ -2068,7 +2064,7 @@ Sema::PerformObjectArgumentInitialization(Expr *&From, CXXMethodDecl *Method) {
/// TryContextuallyConvertToBool - Attempt to contextually convert the
/// expression From to bool (C++0x [conv]p3).
ImplicitConversionSequence Sema::TryContextuallyConvertToBool(Expr *From) {
- return TryImplicitConversion(From, Context.BoolTy, ORF_AllowExplicit);
+ return TryImplicitConversion(From, Context.BoolTy, false, true);
}
/// PerformContextuallyConvertToBool - Perform a contextual conversion
OpenPOWER on IntegriCloud