6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/SemaCXX/overload-call.cpp
|
8ab10aa6bef39dffde2207dd2257c521bb2e731f |
|
24-May-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
DR1152 / PR12931 / PR6177: A candidate function which requires binding a const volatile reference to a temporary is not viable. My interpretation is that DR1152 was a bugfix, not a rule change for C++11, so this is not conditional on the language mode. This matches g++'s behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
be0ee875d8a91c031a085cbbd73ad9e8dc1aa8ff |
|
15-May-2012 |
David Blaikie <dblaikie@gmail.com> |
Improve some of the conversion warnings to fire on conversion to bool. Moves the bool bail-out down a little in SemaChecking - so now -Wnull-conversion and -Wliteral-conversion can fire when the target type is bool. Also improve the wording/details in the -Wliteral-conversion warning to match the -Wconstant-conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
c608c3c0781e15b74fbbda03f8708cc85a3dd488 |
|
15-May-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Further improvement to wording of overload resolution diagnostics, and including the sole parameter name in the diagnostic in more cases. Patch by Terry Long! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
f7b8056f1ff0c0409a9523a34f78b69ab8314bec |
|
11-May-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR11857: When the wrong number of arguments are provided for a function which expects exactly one argument, include the name of the argument in the diagnostic text. Patch by Terry Long! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
e31b8fb25b458f00e31dcd657c0840e5238e0f05 |
|
05-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
Enable warn_impcast_literal_float_to_integer by default. This diagnostic seems to be production ready, it's just an oversight that it wasn't turned on by default. The test changes are a bit of a mixed bag. Some tests that seemed like they clearly didn't need to use this behavior have been modified not to use it. Others that I couldn't be sure about, I added the necessary expected-warnings to. It's possible the diagnostic message could be improved to make it clearer that this warning can be suppressed by using a value that won't lose precision when converted to the target type (but can still be a floating point literal, such as "bool b = 1.0;"). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
db762ef262987403b4e2a3bb8d5762277306a224 |
|
10-Mar-2012 |
Douglas Gregor <dgregor@apple.com> |
Qualifiers on a canonical array type go on the outermost type, not the innermost type. Fixes PR12142. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
f5cd5cc9a7ec114ef1a4c08491a37d2327697c4a |
|
25-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix a regression from r151117: ADL requires that we attempt to complete any associated classes, since it can find friend functions declared within them, but overload resolution does not otherwise require argument types to be complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
76f3f69db1416425070177243e9f390122c553e0 |
|
22-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement C++11 [expr.call]p11: If the operand to a decltype-specifier is a function call (or a comma expression with a function call on its right-hand side), possibly parenthesized, then the return type is not required to be complete and a temporary is not bound. Other subexpressions inside a decltype expression do not get this treatment. This is implemented by deferring the relevant checks for all calls immediately within a decltype expression, then, when the expression is fully-parsed, checking the relevant constraints and stripping off any top-level temporary binding. Deferring the completion of the return type exposed a bug in overload resolution where completion of the argument types was not attempted, which is also fixed by this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
2fe9b7fb07dff15dd15dd8755a9a9e6de0fe46fc |
|
15-Dec-2011 |
Richard Trieu <rtrieu@google.com> |
Modify how the -verify flag works. Currently, the verification string and diagnostic message are compared. If either is a substring of the other, then no error is given. This gives rise to an unexpected case: // expect-error{{candidate function has different number of parameters}} will match the following error messages from Clang: candidate function has different number of parameters (expected 1 but has 2) candidate function has different number of parameters It will also match these other error messages: candidate function function has different number of parameters number of parameters This patch will change so that the verification string must be a substring of the diagnostic message before accepting. Also, all the failing tests from this change have been corrected. Some stats from this cleanup: 87 - removed extra spaces around verification strings 70 - wording updates to diagnostics 40 - extra leading or trailing characters (typos, unmatched parens or quotes) 35 - diagnostic level was included (error:, warning:, or note:) 18 - flag name put in the warning (-Wprotocol) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
ee697e69a2063b65bfd0534248e4848461aca3f4 |
|
13-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Allow calling an overloaded function set by taking the address of the functions, e.g., (&f)(0). Fixes <rdar://problem/9803316>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
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/test/SemaCXX/overload-call.cpp
|
ef9b1497908ab1684e04f244289f1ebe8d44274e |
|
09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert the fix for PR8013. That bug concerned the well-formedness of code such as (&ovl)(a, b, c). GCC rejects the code, while EDG accepts it. On further study of the standard, I see no support for EDG's position: in particular, C++ [over.over] does not list this as a context where we can take the address of an overloaded function, C++ [over.call.func] does not reference the address-of operator at any point, and C++ [expr.call] claims that the function argument in a call is either a function lvalue or a pointer-to-function; (&ovl) is neither. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
9a0f2b6d89ae16abb882cd0ec0be2222e15c3785 |
|
09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Handle overload resolution when calling an overloaded function set with, e.g., (&f)(a, b, c). Fixes PR8013. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
25e7e1672886b78a00ce25a084c0581704b73a7b |
|
05-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add test case for r115588. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
58f9e13e87e57236fee4b914eea9be6f92a1c345 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
make clang print types as "const int *" instead of "int const*", which is should have done from the beginning. As usual, the most fun with this sort of change is updating all the testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
2f9d8740f557bc1f8746a2d5c4498b324b63eeb9 |
|
01-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the "cannot convert from base class pointer to derived class pointer" diagnostic to handle references, too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
8578981ada66dae44a5a0752f949a5e65b477588 |
|
01-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve diagnostic when we fail to pick an overload because it would require a base-to-derived pointer conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
1984eb9a1522ad56e1310643a85f66b2b3424c91 |
|
23-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
String literals enclosed in parentheses are still string literals. Fixes PR7488. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
5a57efd7bf88a4a13018e0471ded8063a4abe8af |
|
09-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Tweak our handling of the notion of a standard conversion sequence being a subsequence of another standard conversion sequence. Instead of requiring exact type equality for the second conversion step, require type *similarity*, which is type equality with cv-qualifiers removed at all levels. This appears to match the behavior of EDG and VC++ (albeit not GCC), and feels more intuitive. Big thanks to John for the line of reasoning that supports this change: since cv-qualifiers are orthogonal to the second conversion step, we should ignore them in the type comparison. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
af7bea5fb496921c386459dc695485490bb06963 |
|
25-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Make sure to strip off top-level cv-qualifiers as part of a derived-to-base conversion on a pointer. Fixes PR7224. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
ae65f4bd588f5f5ec26ed188830bf6d14800b09e |
|
24-May-2010 |
Douglas Gregor <dgregor@apple.com> |
An identity conversion is better than any non-identity conversion. Fixes PR7095. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
d1a272204cef9304df3930d94f66713b05db27d6 |
|
24-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
When we are performing copy initialization of a class type via its copy constructor, suppress user-defined conversions on the argument. Otherwise, we can end up in a recursion loop where the bind the argument of the copy constructor to another copy constructor call, whose argument is then a copy constructor call... Found by Boost.Regex which, alas, still isn't building. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
a41a8c5972c2632247ae7913cf6ce65d45f7e702 |
|
22-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Whenever we complain about a failed initialization of a function or method parameter, provide a note pointing at the parameter itself so the user does not have to manually look for the function/method being called and match up parameters to arguments. For example, we now get: t.c:4:5: warning: incompatible pointer types passing 'long *' to parameter of type 'int *' [-pedantic] f(long_ptr); ^~~~~~~~ t.c:1:13: note: passing argument to parameter 'x' here void f(int *x); ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
66821b5515df8a366579d023e472f843ecfa59b2 |
|
18-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
When performing reference initialization for the purposes of overload resolution ([over.ics.ref]), we take some shortcuts required by the standard that effectively permit binding of a const volatile reference to an rvalue. We have to treat lightly here to avoid infinite recursion. Fixes PR6177. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
aa0be17ee35e3218b722d90b74789f9e7c602bda |
|
13-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
When returning the result of a call to an object of class type, do not return a NULL expression; return either an error or a proper expression. Fixes PR6078. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
a1a9f035852e35ed88f4902a855eb952cf08bebb |
|
08-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Reference binding via user-defined conversion can compute a binding that is not reference-related (because it requires another implicit conversion to which we can find). Fixes PR6483. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
a9bff30776888977f580c9cac212fd1583ee963e |
|
28-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Warn about the deprecated string literal -> char* conversion. Fixes PR6428. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
9e23932aca7997315a78ea50e9415631a1880fa0 |
|
25-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Allow us to compare derived-to-base conversions between a reference binding and a copy-construction. Fixes an overloading problem in the Clang-on-Clang build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
3a8133727659077d0c918226e5dad6c16c8274f6 |
|
25-Feb-2010 |
John McCall <rjmccall@apple.com> |
When comparing two method overload candidates during overload diagnostics, skip the object argument conversion if either of the candidates didn't initialize it. Fixes PR6421, which is such a very straightforward extension of PR6398 that I should have worked it into the last test case (and therefore caught it then). Ah well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
b1bdc6232d7b4d8574b5436982435ad57f429a91 |
|
25-Feb-2010 |
John McCall <rjmccall@apple.com> |
Catch more uses of uninitialized implicit conversion sequences. When diagnosing bad conversions, skip the conversion for ignored object arguments. Fixes PR 6398. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
ad323a856c0bf759e07d37d749510ddf4f8c6b96 |
|
27-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix a major oversight in the comparison of standard conversion sequences, where we would occasionally determine (incorrectly) that one standard conversion sequence was a proper subset of another when, in fact, they contained completely incomparable conversions. This change records the types in each step within a standard conversion sequence, so that we can check the specific comparison types to determine when one sequence is a proper subset of the other. Fixes this testcase (thanks, Anders!), which was distilled from PR6095 (also thanks to Anders). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
258b203b853e1c684c290fccd0088d1f340c137f |
|
23-Jan-2010 |
John McCall <rjmccall@apple.com> |
Produce a special diagnostic when users call a function with an argument of incomplete type (or a pointer/reference to such). The causes of this problem are different enough to justify a different "design" for the diagnostic. Most notably, it doesn't give an operand index: it's usually pretty obvious which operand is the problem, it adds a lot of clutter to mention it, and the fix is usually in a different part of the file anyway. This is yet another diagnostic that should really have an analogue in the non-overloaded case --- which should be much easier to write because of the weaker space constraints. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
e81e15ed0c31f828104b339ceb66648d1c815a8b |
|
14-Jan-2010 |
John McCall <rjmccall@apple.com> |
Improve the diagnostic for bad conversions in overload resolution to talk about 'object argument' vs. 'nth argument'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
cefd3ada97faf5a759dac4705900053d3aa071e9 |
|
13-Jan-2010 |
John McCall <rjmccall@apple.com> |
Don't report ambiguities in the user-defined conversion if we weren't supposed to be considering user-defined conversions in the first place. Doug, please review; I'm not sure what we should be doing if we see a real ambiguity in selecting a copy constructor when otherwise suppressing user-defined conversions. Fixes PR6014. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
adbb8f8aa44216d30d204e843c4a74abab929dae |
|
13-Jan-2010 |
John McCall <rjmccall@apple.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
220ccbf2c9ef97034cce80561f9f46c4f1f63bc7 |
|
13-Jan-2010 |
John McCall <rjmccall@apple.com> |
Improve the reporting of non-viable overload candidates by noting the reason why the candidate is non-viable. There's a lot we can do to improve this, but it's a good start. Further improvements should probably be integrated with the bad-initialization reporting routines. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
3c80f573dfbc01f29cc292f6c1fc794705823d52 |
|
12-Jan-2010 |
John McCall <rjmccall@apple.com> |
Reorganize some of the code to note overload candidates. Improves the fidelity with which we note them as functions/constructors and templates thereof. Also will be helpful when reporting bad conversions (next). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
335b07ae470045dab25739ded6541744ec8fe40b |
|
13-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Don't assume that all conversions to a void pointer are converting from a PointerType. Fixes PR5756. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
842aef8d942a880eeb9535d40de31a86838264cb |
|
09-Dec-2009 |
John McCall <rjmccall@apple.com> |
First pass at implementing C++ enum semantics: calculate (and store) an "integer promotion" type associated with an enum decl, and use this type to determine which type to promote to. This type obeys C++ [conv.prom]p2 and is therefore generally signed unless the range of the enumerators forces it to be unsigned. Kills off a lot of false positives from -Wsign-compare in C++, addressing rdar://7455616 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
b7a86f5c5f9cdea126817247cc1fd3a7441388da |
|
06-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
When we encounter a derived-to-base conversion when performing an implicit conversion sequence, check the validity of this conversion and then perform it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
d7d5f0223bd30dfd618762349c6209dd1d5ea3e6 |
|
24-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Rename clang to clang-cc. Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
c9467cf4cff1bb09f38667b871268c47ed823f97 |
|
12-Dec-2008 |
Douglas Gregor <dgregor@apple.com> |
In C++, set the type of each of the enumerators in an enumeration to the type of the enumeration once the enumeration has been defined. Fix the overloading test-case to properly create enums that promote the way we want them to. Implement C++0x promotions from enumeration types to long long/unsigned long long. We're using these promotions in Carbon.h (since long long is a common extension). Fixes PR clang/2954: http://llvm.org/bugs/show_bug.cgi?id=2954 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
0f669f54f19233b703f38ef2fb3793c26c6caabb |
|
27-Nov-2008 |
Douglas Gregor <dgregor@apple.com> |
Test conversion from apointer to incomplete type to void* in C++ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
6fc17ff5bf73c4d190517ebc5773f2ae557598ab |
|
29-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Simplify and correct the check for function redefinitions. This does two things: - Allows definitions of overloaded functions :) - Eliminates extraneous error messages when we have a definition of a function that isn't an overload but doesn't have exactly the same type as the original. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
f70bdb9463a6e3ea2c6307b2c7a5f3e2c6b7e489 |
|
29-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Implement overloading rules for reference binding git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
15da57e66cade0c2cab752f925e838b22daadafc |
|
29-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Tweak Sema::CheckReferenceInit so that it (optionally) computes an ImplicitConversionSequence and, when doing so, following the specific rules of [over.best.ics]. The computation of the implicit conversion sequences implements C++ [over.ics.ref], but we do not (yet) have ranking for implicit conversion sequences that use reference binding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
27c8dc06f65d7abcf6a7e7f64a7960c9a150ca01 |
|
29-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Implement initialization of a reference (C++ [dcl.init.ref]) as part of copy initialization. Other pieces of the puzzle: - Try/Perform-ImplicitConversion now handles implicit conversions that don't involve references. - Try/Perform-CopyInitialization uses CheckSingleAssignmentConstraints for C. PerformCopyInitialization is now used for all argument passing and returning values from a function. - Diagnose errors with declaring references and const values without an initializer. (Uses a new Action callback, ActOnUninitializedDecl). We do not yet have implicit conversion sequences for reference binding, which means that we don't have any overloading support for reference parameters yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
bc0805a6ca84e3c38a08c9f47441e138945244d4 |
|
23-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Add support for conversions from a pointer-to-derived to a pointer-to-base. Also, add overload ranking for pointer conversions (for both pointer-to-void and derived-to-base pointer conversions). Note that we do not yet diagnose derived-to-base pointer conversion errors that stem from ambiguous or inacessible base classes. These aren't handled during overload resolution; rather, when the conversion is actually used we go ahead and diagnose the error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
57373266011f73418381b736015d8d2bb0381176 |
|
22-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Implement ranking of standard conversion sequences by their qualification conversions (e.g., comparing int* -> const int* against int* -> const volatile int*); see C++ 13.3.3.2p3 bullet 3. Add Sema::UnwrapSimilarPointerTypes to simplify the control flow of IsQualificationConversion and CompareQualificationConversion (and fix the handling of the int* -> volatile int* conversion in the former). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
9b6e2d209cc2931a9bb2ae51e744a8698b54db73 |
|
22-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Fix a thinko in the qualification-conversion check when the qualificaitons are disjoint, and add some overloading-based tests of qualification conversions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|
8e9bebdea69c590dedfbf27374114cb76fe12fbd |
|
21-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Preliminary support for function overloading git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/overload-call.cpp
|