summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-10-05 03:05:30 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-10-05 03:05:30 +0000
commitdfbdfbba8f687dfc7f1745256246a92fcb64652f (patch)
tree54fe7ea1df05f3d4b3e540d0fe3b6e495142a765 /clang/lib/Sema/SemaInit.cpp
parent0077b22aa4d86610718531c29a378662a9fe855c (diff)
downloadbcm5719-llvm-dfbdfbba8f687dfc7f1745256246a92fcb64652f.tar.gz
bcm5719-llvm-dfbdfbba8f687dfc7f1745256246a92fcb64652f.zip
In Sema's TryRefInitWithConversionFunction, suppress user conversions for the overload candidates.
Fixes an infinite recursion in overload resolution for rdar://8499524. Many thanks to Doug! llvm-svn: 115588
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r--clang/lib/Sema/SemaInit.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 1ffa70207ab..6fd1d68dcd0 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -2325,10 +2325,12 @@ static OverloadingResult TryRefInitWithConversionFunction(Sema &S,
if (ConstructorTmpl)
S.AddTemplateOverloadCandidate(ConstructorTmpl, FoundDecl,
/*ExplicitArgs*/ 0,
- &Initializer, 1, CandidateSet);
+ &Initializer, 1, CandidateSet,
+ /*SuppressUserConversions=*/true);
else
S.AddOverloadCandidate(Constructor, FoundDecl,
- &Initializer, 1, CandidateSet);
+ &Initializer, 1, CandidateSet,
+ /*SuppressUserConversions=*/true);
}
}
}
OpenPOWER on IntegriCloud