0d3317e0a2e0adb57ce8d075ebdcb41a3f939805 |
|
19-Jun-2012 |
Kaelyn Uhrain <rikka@google.com> |
Improve the error message when a function overload candidate is rejected because it expects a reference and receives a non-l-value. For example, given: int foo(int &); template<int x> void b() { foo(x); } clang will now print "expects an l-value for 1st argument" instead of "no known conversion from 'int' to 'int &' for 1st argument". The change in wording (and associated code to detect the case) was prompted by comment #5 in PR3104, and should be the last bit of work needed for the bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.cpp
|
13e1bca90dc227e1e9c30900841f8bf976c0c83e |
|
11-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
When performing a user-defined conversion via a constructor, be sure to check whether the constructor is accessible. Fixes <rdar://problem/10202900>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.cpp
|
3fbaf3e5d524bfff219d1e3e9ac4801a8411590f |
|
18-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve our handling of user-defined conversions as part of overload resolution. There are two sources of problems involving user-defined conversions that this change eliminates, along with providing simpler interfaces for checking implicit conversions: - It eliminates a case of infinite recursion found in Boost. - It eliminates the search for the constructor needed to copy a temporary generated by an implicit conversion from overload resolution. Overload resolution assumes that, if it gets a value of the parameter's class type (or a derived class thereof), there is a way to copy if... even if there isn't. We now model this properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.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/user-defined-conversions.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/user-defined-conversions.cpp
|
2b1e0039a1937e3df59b5c99bcf4746360db3441 |
|
02-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Steve set me straight on this one. GCC was right, EDG was wrong: the direct-initialization following a user-defined conversion can select any constructor; it just can't employ any user-defined conversions. So we ban those conversions and classify the constructor call based on the relationship between the "from" and "to" types in the conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.cpp
|
734d9869efb5d126df53ba70a6060789887e0d68 |
|
31-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve our handling of the second step in a user-defined conversion sequence. Previously, we weren't permitting the second step to call copy constructors, which left user-defined conversion sequences surprisingly broken. Now, we perform overload resolution among all of the constructors, but only accept the result if it makes the conversion a standard conversion. Note that this behavior is different from both GCC and EDG (which don't agree with each other, either); I've submitted a core issue on the matter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.cpp
|
cb9b977d5989efc1e5bc7684091912ca2915aacb |
|
10-Nov-2008 |
Douglas Gregor <dgregor@apple.com> |
Allow user-defined conversions during reference binding git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.cpp
|
f1991eab1e777634fb38758eafbbe0d303271d2f |
|
07-Nov-2008 |
Douglas Gregor <dgregor@apple.com> |
Initial, partially-baked support for implicit user-defined conversions by conversion functions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/user-defined-conversions.cpp
|