4384712b3a0aedd7c68d6abdb0407850f7b46c8b |
|
20-Jul-2013 |
Larisse Voufo <lvoufo@google.com> |
FIXME fix: improving diagnostics for template arguments deduction of class templates and explicit specializations This patch essentially removes all the FIXMEs following calls to DeduceTemplateArguments() that want to keep track of deduction failure info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
8c5d4078bb40642847164e7613828262d32db973 |
|
20-Jul-2013 |
Larisse Voufo <lvoufo@google.com> |
Revert "Use function overloading instead of template specialization for diagnosis of bad template argument deductions." This reverts commit a730f548325756d050d4caaa28fcbffdae8dfe95. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
a730f548325756d050d4caaa28fcbffdae8dfe95 |
|
20-Jul-2013 |
Larisse Voufo <lvoufo@google.com> |
Use function overloading instead of template specialization for diagnosis of bad template argument deductions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
09d19efaa147762f84aed55efa7930bb3616a4e5 |
|
04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
959dc8475fc20ce8c3fd55021cb9f02a531cddc5 |
|
16-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Use trailing documentation comments properly Patch by Alexander Zinenko. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
6959acd4bb0979361365e675968173ede7183489 |
|
07-Feb-2013 |
Guy Benyei <guy.benyei@intel.com> |
Enable overloading of OpenCL events - this is needed for the overloaded OpenCL builtin functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
0efa62f2096f28a610ac2ea8d2651448a7ec89c7 |
|
31-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Replace "failed template argument deduction" diagnostic with something useful in the one case where we've already factored out a reason code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f |
|
12-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
f5b132f7b373203eab7cf357b01f935bd88087bd |
|
09-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Clearing a SmallPtrSet is still expensive, split it out from OverloadCandidateSet::clear and don't do it on destruction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
0bea86307eb8c16339315a1e261fc490eb505c5b |
|
08-Oct-2012 |
David Blaikie <dblaikie@gmail.com> |
StringRef-ify Binary/UnaryOperator::getOpcodeStr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
be2fa7ebf01259b63dc52fe46c8d101c18e72269 |
|
18-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark unimplemented copy constructors and copy assignment operators with LLVM_DELETED_FUNCTION. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
e3898ac6cca333f9a781eb6df4be5f3ba8258559 |
|
19-Jul-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix OverloadCandidateSet::clear to not leak PartialDiagnostics, found by Samuel Panzer. I've not been able to trigger a failure caused by this, so no test yet. Also included is a small change from Paul Robinson to only consider the FailureKind if the overload candidate did actually fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
b8590f3572158bde97f14037c4cc8f4a57c8d810 |
|
07-May-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
When we suppress an error due to SFINAE, stash the diagnostic away with the overload candidate, and include its message in any subsequent 'candidate not viable due to substitution failure' note we may produce. To keep the note small (since the 'overload resolution failed' diagnostics are often already very verbose), the text of the SFINAE diagnostic is included as part of the text of the note, and any notes which were attached to it are discarded. There happened to be spare space in OverloadCandidate into which a PartialDiagnosticAt could be squeezed, and this patch goes to lengths to avoid unnecessary PartialDiagnostic copies, resulting in no slowdown that I could measure. (Removal in passing of some PartialDiagnostic copies has resulted in a slightly smaller clang binary overall.) Even on a torture test, I was unable to measure a memory increase of above 0.2%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
f602806965531ee06fd8664b9d7a8912c4af2870 |
|
24-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up some calling code to actually pass in a non-null type, to avoid a crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
adfb535905a7ca4226d06a29ebc665085503afd5 |
|
27-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Implement a FIXME for conversion sequence distinction. Should fix PR12092. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
13a140caba448a66ffcc5ff0d32a87d6e4f4ad3f |
|
25-Feb-2012 |
Ahmed Charles <ace2001ac@gmail.com> |
ArrayRef'ize various functions in the AST/Parser/Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
8ef7b203332b0c8d65876a1f5e6d1db4e6f40e4b |
|
19-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
constexpr: converted constant expression handling for enumerator values, case values and non-type template arguments of integral and enumeration types. This change causes some legal C++98 code to no longer compile in C++11 mode, by enforcing the C++11 rule that narrowing integral conversions are not permitted in the final implicit conversion sequence for the above cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
4c3fc9b38d3723f73e4ded594cebf38c76f91d93 |
|
18-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Move narrowing conversion detection code from SemaInit to SemaOverload, ready for it to be used in converted constant expression checking, and fix a couple of issues: - Conversion operators implicitly invoked prior to the narrowing conversion were not being correctly handled when determining whether a constant value was narrowed. - For conversions from floating-point to integral types, the diagnostic text incorrectly always claimed that the source expression was not a constant expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
7530c034c0c71a64c5a9173206d9742ae847af8b |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
9e2822bb4ada53a3cebd9a3f793fef8d700c5c9a |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Clear ImplicitConversionSequence the obvious way which turns out to be less fragile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
314f5544fbdcfb1082df070f730fe8acbdb85180 |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Give OverloadCandidateSet the responsibility for destroying the implicit conversion sequences so we don't get double frees when the vector reallocates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
448ce0f1b419bb434761422bc5f050bf4b57b703 |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Reorder initializers, make use of the whole array. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
7268c8b92de18c06f92b1986ea9730c7708997cf |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move the inline array to the end. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
527610d92b4becc41b8611fbc3952d727f7cac12 |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Destroy OverloadCandidates before taking away the underlying memory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
09dd3798e100ace40defdc5541277502346213f2 |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pool allocate ImplicitConversionSequences. To avoid malloc thrashing give OverloadCandidateSet an inline capacity for conversion sequences. We use the fact that OverloadCandidates never outlive the OverloadCandidateSet and have a fixed amount of conversion sequences. This eliminates the oversized SmallVector from OverloadCandidate shrinking it from 752 to 208 bytes. On the test case from the "Why is CLANG++ so freaking slow" thread on llvmdev this avoids one gig of vector reallocation (including memcpy) which translates into 5-10% speedup on Lion/x86_64. Overload candidate computation is still the biggest malloc contributor when compiling templated c++ code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
0e6a16f3e8c8d80a61e89848d216972aa8daea27 |
|
14-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
OverloadCandidateSet: Stop exposing SmallVector internals Replace push_back with addCandidate which will let us make use of the fixed size of the conversion sequence vector soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
459001f7351c8ca542301690f0a63ec9ae870e09 |
|
19-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Initialize ImplicitConversionSequence::ListInitializationSequence. Fixes PR11394 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
cc7a6484d8afd6f8bede2757666c42248228e408 |
|
01-Nov-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Enable function call and some overload resolution with parameters of aggregate class type and initializer list arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
7cc58b4c927fca539d43eaa58e00dca95946eb7c |
|
05-Oct-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added a flag to identify resolved overloaded function references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
78dd67e78c50a7abdc7c358e5eac1770d5fea22a |
|
03-Oct-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
CUDA: diagnose invalid calls across targets git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
14b0c194b356a1204d081765b3e6699687bed97c |
|
24-Sep-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Give InitListChecker a verification-only mode, where it neither emits diagnostics nor builds a semantic (structured) initializer list, just reports on whether it can match the given list to the target type. Use this mode for doing init list checking in the initial step of initialization, which will eventually allow us to do overload resolution based on the outcome. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
ca82a82082edc982a1fb5fcfef2dd2c8cf9bc824 |
|
21-Sep-2011 |
John McCall <rjmccall@apple.com> |
Enforce access control for conversion operators used in contextual conversions (rather than just call-arguments). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
f3546eeef1eed4661b77b93b91a29be1bf5f7d0b |
|
28-Jul-2011 |
Anna Zaks <ganna@apple.com> |
Refactor the */& mismatch fixit generation out of SemaOverload and provide a simple conversion checking function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
ffe9edd45f26873d58e7ddf79d403dd8072b748b |
|
21-Jul-2011 |
Anna Zaks <ganna@apple.com> |
Addressing code review comments for commit 135509 - Add FixItHints in case a C++ function call is missing * or & operators on git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
b89fe6b04c5b8a2d080c1c5605b72f809fc9ee68 |
|
19-Jul-2011 |
Anna Zaks <ganna@apple.com> |
Add FixItHints in case a C++ function call is missing * or & operators on one/several of it's parameters (addresses http://llvm.org/PR5941). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
f85e193739c953358c865005855253af4f68a497 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
4ae5b7208ef72dec2a79d3d1c602cb47e9750d69 |
|
05-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Identity and non-identity standard conversion sequences can be compared even when one is a reference binding and the other is not (<rdar://problem/9173984>), but the definition of an identity sequence does not involve lvalue-to-rvalue adjustments (PR9507). Fix both inter-related issues. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
d97f558f48865aa96e7bdf9c1c9315790c3d77c9 |
|
23-Mar-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Support for Transparent unions used as overloadable function parameter. // rdar:// 9129552 and PR9406. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
e5a3ce6dd555788a49efaabc3bd46d704e5e9d65 |
|
22-Mar-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't clear OverloadCandidateSets on destruction, it has no effect anymore. And clearing a SmallPtrSet can be an expensive operation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
25ca421a6049350a2748c8fd0c19a052eba6ae99 |
|
25-Feb-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Remove the FIXME I introduced last night, and pull the logic for marking selected overloads into the callers. This allows a few callers to skip it altogether (they would have anyways because they weren't interested in successful overloads) or defer until after further checks take place much like the check required for PR9323 to avoid marking unused copy constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
30028234f38945981ebf9c8a2cb915fc2f9a63a4 |
|
25-Feb-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Rough fix for PR9323 that prevents Clang from marking copy constructor declarations as referenced when in fact we're not going to even form a call in the AST. This is significant because we attempt to allow as an extension classes with intentionally private and undefined copy constructors to have temporaries bound to references, and so shouldn't warn about the lack of definition for that copy constructor when the class is internal. Doug, John wasn't really satisfied with the presence of overloading at all. This is a stop-gap and there may be a better solution. If you can give me some hints for how you'd prefer to see this solved, I'll happily switch things over. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
e3c8c64e7735c3589e1a34e6000c93183a55920c |
|
12-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Implement objective-c++'s block pointer type matching involving types which are contravariance in argument types and covariance in return types. // rdar://8979379. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
fcab48b626b7ce43625958e857061d721a43a5bc |
|
26-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Rvalue references for *this: explicitly keep track of whether a reference binding is for the implicit object parameter of a member function with a ref-qualifier. My previous comment, that we didn't need to track this explicitly, was wrong: we do in fact get rvalue-references-prefer-rvalues overloading with ref-qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
2c9a03f3b249e4d9d76eadf758a33142adc4d0a4 |
|
26-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Rvalue references for *this: implement the implicit conversion rules for the implicit object argument to a non-static member function with a ref-qualifier (C++0x [over.match.funcs]p4). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
c78e259a5fafd889f5945bc2c48fea48cb3ef9d0 |
|
26-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Clean up the C++0x __has_feature tests. Specifically: - Don't publicize a C++0x feature through __has_feature if we aren't in C++0x mode (even if the feature is available only with a warning). - "auto" is not implemented well enough for its __has_feature to be turned on. - Fix the test of C++0x __has_feature to actually test what we're trying to test. Searching for the substring "foo" when our options are "foo" and "no_foo" doesn't work :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
440a48318c53647d6416bcb1ff1af1452aa5d453 |
|
26-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Reinstate r124236 (tweaking the rvalue-reference overload resolution rules), now that we've actually have a clean build for me to sully. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
4d4feead7e240bf24264658b5abb0b88d52ed684 |
|
26-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Speculatively revert r124236 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
b7cd135215501a154eb4f68159f3af020783099e |
|
25-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Speculatively implement a tweak to the C++0x overload resolution rules for reference binding (C++ [over.rank.ics]p3b1sb4), so that we prefer the binding of an lvalue reference to a function lvalue over the binding of an rvalue reference. This change resolves the ambiguity with std::forward and lvalue references to function types in a way that seems consistent with the original rvalue references proposal. My proposed wording for this change is shown in isBetterReferenceBindingKind(); we'll try to get this change adopted in the C++0x working paper as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
83eecbefa4931b95231c9f2a61fb7b9b15e00eec |
|
20-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
When building a user-defined conversion sequence, keep track of the declaration that name lookup actually found, so that we can use it for access checking later on. Fixes <rdar://problem/8876150>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
dfc331e04d4c6a09fb693a15fc5a57d29a198c86 |
|
20-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Explicitly track the number of call arguments provided when performing overload resolution, so that we only use that number of call arguments for partial ordering. Fixes PR9006, a recent regression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
8fcc516a5d5b2fec0023a9dced29285a38b95355 |
|
12-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When performing overload resolution, only compare the final conversion sequences for two conversion functions when in fact we are in the text of initialization by a user-defined conversion sequences. Fixes PR8034. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
2a7fb27913999d132cf9e10e03dc5271faa2e9d3 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
Move more stuff out of Sema.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
120d63cd4465230c2cd56508c7cd8e0ad00848e7 |
|
24-Aug-2010 |
John McCall <rjmccall@apple.com> |
Move some of SemaOverload's API to various places in Overload.h, and kill some of it off completely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|
e737f5041a36d0befb39ffeed8d50ba15916d3da |
|
12-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move Sema's headers into include/clang/Sema, renaming a few along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Overload.h
|