| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Set CK_BaseToDerived in TryStaticDowncast. | Anders Carlsson | 2009-11-12 | 1 | -10/+17 | |
| | | | | | llvm-svn: 86996 | |||||
| * | If we have a C-style cast, functional cast, or a static_cast to a | Douglas Gregor | 2009-11-06 | 1 | -2/+2 | |
| | | | | | | | | | | | class type, don't perform the array-to-pointer or function-to-pointer conversions, because we may end up binding a reference to a function or array. With this change, FileCheck now passes -fsyntax-only! llvm-svn: 86211 | |||||
| * | Fixed two places where we needed to force completion of a type | Douglas Gregor | 2009-11-05 | 1 | -1/+2 | |
| | | | | | | | | | | | | | (without complaining if it fails) to get proper semantics: reference binding with a derived-to-base conversion and the enumeration of constructors for user-defined conversions. There are probably more cases to fix, but my prior attempt at statically ensuring that complete-type checking always happens failed. Perhaps I'll try again. With this change, Clang can parse include/llvm/*.h! llvm-svn: 86129 | |||||
| * | Add a CK_DerivedToBaseMemberPointer cast kind and use it in Sema (Still no ↵ | Anders Carlsson | 2009-10-30 | 1 | -3/+5 | |
| | | | | | | | codegen). llvm-svn: 85552 | |||||
| * | Try to instantiate templates before doing hierarchy checks in static_cast. ↵ | Sebastian Redl | 2009-10-22 | 1 | -1/+6 | |
| | | | | | | | Fixes PR5261. llvm-svn: 84860 | |||||
| * | Set the cast kind to CK_NoOp for C-style casts that are really const casts. ↵ | Anders Carlsson | 2009-10-19 | 1 | -0/+3 | |
| | | | | | | | Fixes PR5248. llvm-svn: 84514 | |||||
| * | Use CK_BitCast for member function pointer casts. Fixes PR5138. | Anders Carlsson | 2009-10-18 | 1 | -1/+5 | |
| | | | | | llvm-svn: 84438 | |||||
| * | Refactor the code that walks a C++ inheritance hierarchy, searching | Douglas Gregor | 2009-10-06 | 1 | -6/+7 | |
| | | | | | | | | | | for bases, members, overridden virtual methods, etc. The operations isDerivedFrom and lookupInBases are now provided by CXXRecordDecl, rather than by Sema, so that CodeGen and other clients can use them directly. llvm-svn: 83396 | |||||
| * | Patch to implement static casting which requires one | Fariborz Jahanian | 2009-10-01 | 1 | -1/+2 | |
| | | | | | | | user-defined type conversion. Fixes PR5040. llvm-svn: 83211 | |||||
| * | Cast cleanup. | Anders Carlsson | 2009-09-26 | 1 | -29/+31 | |
| | | | | | llvm-svn: 82826 | |||||
| * | Refactor the representation of qualifiers to bring ExtQualType out of the | John McCall | 2009-09-24 | 1 | -9/+10 | |
| | | | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705 | |||||
| * | Improve diagnostic location information when checking the initialization of ↵ | Douglas Gregor | 2009-09-23 | 1 | -0/+1 | |
| | | | | | | | a reference llvm-svn: 82666 | |||||
| * | Improve handling of vector casts in C++. | Anders Carlsson | 2009-09-16 | 1 | -0/+26 | |
| | | | | | llvm-svn: 82072 | |||||
| * | Handle reinterpret_cast between integral types and pointer types. | Anders Carlsson | 2009-09-15 | 1 | -7/+12 | |
| | | | | | llvm-svn: 81837 | |||||
| * | If a cast expression needs either a conversion function or a constructor to ↵ | Anders Carlsson | 2009-09-09 | 1 | -8/+32 | |
| | | | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383 | |||||
| * | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -40/+27 | |
| | | | | | llvm-svn: 81346 | |||||
| * | Check that the destination type of a static_cast expression is a complete type. | Anders Carlsson | 2009-09-07 | 1 | -0/+8 | |
| | | | | | llvm-svn: 81151 | |||||
| * | Use the correct cast kinds for bit casts and function to pointer decay. ↵ | Anders Carlsson | 2009-09-01 | 1 | -10/+17 | |
| | | | | | | | Fixes PR4827. llvm-svn: 80720 | |||||
| * | Allow explicit ctors for casts. | Anders Carlsson | 2009-08-28 | 1 | -1/+1 | |
| | | | | | llvm-svn: 80374 | |||||
| * | Pass InOverloadResolution all the way down to IsPointerConversion. | Anders Carlsson | 2009-08-28 | 1 | -1/+2 | |
| | | | | | llvm-svn: 80368 | |||||
| * | ir-gen related patch for type conversion | Fariborz Jahanian | 2009-08-28 | 1 | -14/+3 | |
| | | | | | | | with class type conversion methods. WIP. llvm-svn: 80365 | |||||
| * | Remove more default arguments. | Anders Carlsson | 2009-08-27 | 1 | -1/+5 | |
| | | | | | llvm-svn: 80260 | |||||
| * | Remove default arguments from TryImplicitConversion and fix a bug found in ↵ | Anders Carlsson | 2009-08-27 | 1 | -2/+6 | |
| | | | | | | | the process. llvm-svn: 80258 | |||||
| * | Bye-bye old RequireCompleteType. | Anders Carlsson | 2009-08-26 | 1 | -4/+5 | |
| | | | | | llvm-svn: 80182 | |||||
| * | ir-gen for type convesion of class objects. WIP. | Fariborz Jahanian | 2009-08-26 | 1 | -0/+4 | |
| | | | | | llvm-svn: 80178 | |||||
| * | update to CXXFunctionalCastExpr to support ir-gen for | Fariborz Jahanian | 2009-08-26 | 1 | -11/+20 | |
| | | | | | | | type convesions of class objects [class.conv]. WIP. llvm-svn: 80127 | |||||
| * | Use Sema's LocInfoType to pass and preserve type source info through the Parser. | Argyrios Kyrtzidis | 2009-08-19 | 1 | -1/+2 | |
| | | | | | llvm-svn: 79395 | |||||
| * | More CastKind work. | Anders Carlsson | 2009-08-07 | 1 | -12/+14 | |
| | | | | | llvm-svn: 78415 | |||||
| * | Use the correct cast kind for dynamic_cast. | Anders Carlsson | 2009-08-02 | 1 | -8/+11 | |
| | | | | | llvm-svn: 77905 | |||||
| * | Add a CastKind enum to CastExpr. Right now it's not used for much but it ↵ | Anders Carlsson | 2009-07-31 | 1 | -2/+4 | |
| | | | | | | | will be :) llvm-svn: 77650 | |||||
| * | Change uses of: | Ted Kremenek | 2009-07-29 | 1 | -17/+17 | |
| | | | | | | | | | | | | | | | | | | | | | Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. llvm-svn: 77510 | |||||
| * | Make functional-style casts emit correct messages, and fix a crash-on-invalid. | Sebastian Redl | 2009-07-29 | 1 | -3/+3 | |
| | | | | | llvm-svn: 77451 | |||||
| * | Implement C++ semantics for C-style and functional-style casts. This ↵ | Sebastian Redl | 2009-07-25 | 1 | -507/+620 | |
| | | | | | | | | | regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. Add custom conversions to static_cast. llvm-svn: 77076 | |||||
| * | Rename file in preparation of properly implementing C-style casts in C++. | Sebastian Redl | 2009-07-18 | 1 | -0/+932 | |
| llvm-svn: 76318 | ||||||

