d4c5f84bbed2ecb5ddd0f0e8316c553b2084772a |
|
15-Apr-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement appropriate semantics for C++ casting and conversion when dealing with address-space- and GC-qualified pointers. Previously, these qualifiers were being treated just like cvr-qualifiers (in some cases) or were completely ignored, leading to uneven behavior. For example, const_cast would allow conversion between pointers to different address spaces. The new semantics are fairly simple: reinterpret_cast can be used to explicitly cast between pointers to different address spaces (including adding/removing addresss spaces), while static_cast/dynamic_cast/const_cast do not tolerate any changes in the address space. C-style casts can add/remove/change address spaces through the reinterpret_cast mechanism. Other non-CVR qualifiers (e.g., Objective-C GC qualifiers) work similarly. As part of this change, I tweaked the "casts away constness" diagnostic to use the term "casts away qualifiers". The term "constness" actually comes from the C++ standard, despite the fact that removing "volatile" also falls under that category. In Clang, we also have restrict, address spaces, ObjC GC attributes, etc., so the more general "qualifiers" is clearer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|
79ab2c8104ef5df233d271560ccc734836738e56 |
|
14-Feb-2011 |
John McCall <rjmccall@apple.com> |
Provide overload diagnostics when explicit casts involving class types fail. PR8626. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|
7c2342dd4c9947806842e5aca3d2bb2e542853c9 |
|
10-Mar-2010 |
John McCall <rjmccall@apple.com> |
When pretty-printing tag types, only print the tag if we're in C (and therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.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/SemaTemplate/instantiate-cast.cpp
|
2685eab9d36a3568b5d58fba13f0ecef6a611cf9 |
|
30-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
We may need to instantiate a class template specialization as part of a derived-to-base pointer case git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|
4fc7ab364110d6ad1c10dd38dbeb0597fed7e2f5 |
|
28-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
ir-gen related patch for type conversion with class type conversion methods. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|
ef0cb8e62d090ad88a01ca9fa89e48d7416f0ac7 |
|
29-Jul-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Make functional-style casts emit correct messages, and fix a crash-on-invalid. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|
9cc11e70031365972424b43f439021d88096b146 |
|
25-Jul-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. Add custom conversions to static_cast. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|
a3a7b8eea87c90a5a257f685749222b212ddaf36 |
|
19-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for cast expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-cast.cpp
|