summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make the static type of the exception variable in an Objective-CDouglas Gregor2010-04-266-11/+11
| | | | | | | @catch a VarDecl. The dynamic type is still a ParmVarDecl, but that will change soon. No effective functionality change. llvm-svn: 102341
* Ensure that we have completed a type before attempting initializationDouglas Gregor2010-04-261-39/+48
| | | | | | on that type. Fixes several problems in Boost.Interprocess. llvm-svn: 102339
* When name lookup finds a single declaration that was imported via aDouglas Gregor2010-04-252-3/+6
| | | | | | | | using declaration, look at its underlying declaration to determine the lookup result kind (e.g., overloaded, unresolved). Fixes at least one issue in Boost.Bimap. llvm-svn: 102317
* Improve the diagnostic when we find something we did not expect in aDouglas Gregor2010-04-252-11/+11
| | | | | | | member expression (p-> or x.), by showing the type we looked into and what we did actually find. llvm-svn: 102315
* IRgen/NeXT: Fix several alignment issues with Objective-C metadata symbols:Daniel Dunbar2010-04-251-14/+15
| | | | | | | | | - Fix some places that had the alignment hard coded. - Use ABI type alignment, not preferred type alignment -- neither of this is exactly right, as we really want the C type alignment as required by the runtime, but the ABI alignment is a more correct choice. This should be equivalent for x86_64, but fixes the alignment for ARM. llvm-svn: 102314
* IRgen/NeXT: Reuse EmitImageInfo for both fragile and non-fragile ABI. This ↵Daniel Dunbar2010-04-251-32/+9
| | | | | | fixes Clang to correctly emit the "CorrectedSynthesize" bit when using the non-fragile ABI. llvm-svn: 102312
* When performing name lookup for an operator name, be sure to lookDouglas Gregor2010-04-251-4/+5
| | | | | | through using declarations. Fixes ~18 tests in Boost.Fusion. llvm-svn: 102311
* Land another cleanup patch.Anders Carlsson2010-04-251-14/+8
| | | | llvm-svn: 102293
* When copying a temporary object to initialize an entity for which theDouglas Gregor2010-04-252-3/+9
| | | | | | | temporary needs to be bound, bind the copy object. Otherwise, we won't end up calling the destructor for the copy. Fixes Boost.Optional. llvm-svn: 102290
* Revert enough of my patches to fix self-host again :(Anders Carlsson2010-04-253-55/+101
| | | | llvm-svn: 102289
* When we create a temporary of class type that we don't immediatelyDouglas Gregor2010-04-241-5/+46
| | | | | | | bind, check accessibility of the destructor and mark the declaration as referenced. Fixes a bunch of Boost.Regex failures. llvm-svn: 102287
* Cleanup SynthesizeCXXCopyConstructor.Anders Carlsson2010-04-241-16/+9
| | | | llvm-svn: 102286
* Clean up SynthesizeCXXCopyAssignment a little.Anders Carlsson2010-04-241-15/+11
| | | | llvm-svn: 102285
* RenameGetAddressOfBaseOfCompleteClass to ↵Anders Carlsson2010-04-242-27/+28
| | | | | | GetAddressOfDirectBaseInCompleteClass to reflect that it only handles direct bases. llvm-svn: 102284
* Add an explicit UsuallyTinyPtrVector that takes a single element.Anders Carlsson2010-04-241-3/+2
| | | | llvm-svn: 102283
* More cleanup.Anders Carlsson2010-04-242-27/+18
| | | | llvm-svn: 102282
* Simplify EmitClassMemberwiseCopy now that it's only used for fields.Anders Carlsson2010-04-242-28/+14
| | | | llvm-svn: 102281
* Switch this to new API.Nick Lewycky2010-04-241-1/+1
| | | | llvm-svn: 102280
* DefineImplicitCopyConstructor now uses SetBaseOrMemberInitializers to create ↵Anders Carlsson2010-04-242-30/+14
| | | | | | implicit base initializers. (Member initializers are still handled by CodeGenFunction::SynthesizeCXXCopyConstructor for now). llvm-svn: 102279
* When building implicit base initializers, add a derived-to-base cast that ↵Anders Carlsson2010-04-241-0/+7
| | | | | | points to the exact base specifier. llvm-svn: 102277
* Rename GetAddressOfBaseClass to OldGetAddressOfBaseClass.Anders Carlsson2010-04-242-53/+15
| | | | llvm-svn: 102275
* Get rid of the old GetNonVirtualBaseClassOffset and change all call sites to ↵Anders Carlsson2010-04-245-34/+5
| | | | | | use the new version. llvm-svn: 102274
* Change CodeGenFunction::GetAddressOfDerivedClass to take a BasePath.Anders Carlsson2010-04-245-23/+31
| | | | llvm-svn: 102273
* Convert more call sites over to the new GetAddressOfBaseClass.Anders Carlsson2010-04-242-11/+7
| | | | llvm-svn: 102272
* When we attempt to create a temporary object of class type, be sureDouglas Gregor2010-04-241-1/+5
| | | | | | | | | | that the type we're copying is complete. Boost.Regex now builds, although it's failing its regression tests with our favorite "Sema doesn't consider destructor as used." assertion. llvm-svn: 102271
* Add a new GetAddressOfBaseClass overload that takes a base path and. Use it ↵Anders Carlsson2010-04-243-10/+112
| | | | | | for derived-to-base casts. llvm-svn: 102270
* When we are performing copy initialization of a class type via itsDouglas Gregor2010-04-241-8/+31
| | | | | | | | | | | 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. llvm-svn: 102269
* Headers: Hide intptr_t and uintptr_t definitions behind _INTPTR_T and _UINTPTR_TDaniel Dunbar2010-04-241-0/+7
| | | | | | | | defines, for increased compatibility with Darwin gcc. - This is a bit of a hack, since platform compatibility issues don't belong here, but I don't think this hurts anyone either. llvm-svn: 102264
* Fix pasto, add a comment.Benjamin Kramer2010-04-242-1/+2
| | | | llvm-svn: 102263
* Factor code. No functionality change.Benjamin Kramer2010-04-242-137/+38
| | | | llvm-svn: 102262
* Add base paths for CK_BaseToDerived and CK_BaseToDerivedMemberPointer.Anders Carlsson2010-04-244-17/+30
| | | | llvm-svn: 102261
* Add base paths to CK_UncheckedDerivedToBase and CK_DerivedToBaseMemberPointer.Anders Carlsson2010-04-243-19/+23
| | | | llvm-svn: 102260
* Actually produce base paths for CastExprs of kind CK_DerivedToBase.Anders Carlsson2010-04-249-55/+131
| | | | llvm-svn: 102259
* Add BasePath arguments to all cast expr constructors.Anders Carlsson2010-04-245-7/+24
| | | | llvm-svn: 102258
* Driver/Darwin: Fix Objective-C non-fragile ABI and dispatch method defaults, ↵Daniel Dunbar2010-04-241-8/+9
| | | | | | | | which were wrong in numerous places. - <rdar://problem/7903449> llvm-svn: 102257
* When we take the address of a declaration to bind it to a non-typeDouglas Gregor2010-04-241-0/+1
| | | | | | | template parameter, by sure to mark that declaration as "referenced". The Boost.Iterator library now passes all tests. llvm-svn: 102256
* NeXT: Clean up dispatch method policy selection.Daniel Dunbar2010-04-244-15/+52
| | | | | | | | | | - Replace -cc1 level -fobjc-legacy-dispatch with -fobjc-dispatch-method={legacy,non-legacy,mixed}. - Lift "mixed" vs "non-mixed" policy choice up to driver level, instead of being buried in CGObjCMac.cpp. - No intended functionality change. llvm-svn: 102255
* Simplify.Daniel Dunbar2010-04-241-6/+2
| | | | llvm-svn: 102254
* Pass the base specifiers through to CheckDerivedToBaseConversion. No ↵Anders Carlsson2010-04-246-15/+26
| | | | | | functionality change yet. llvm-svn: 102250
* CastExpr should not hold a pointer to the base path. More cleanup.Anders Carlsson2010-04-2412-34/+25
| | | | llvm-svn: 102249
* Be more careful around dependent nested-name-specifiers, complainingDouglas Gregor2010-04-244-5/+56
| | | | | | | | when they are not complete (since we could not match them up to anything) and ensuring that enum parsing can cope with dependent elaborated-type-specifiers. Fixes PR6915 and PR6649. llvm-svn: 102247
* isValue is set to false by default.Anders Carlsson2010-04-241-2/+1
| | | | llvm-svn: 102246
* Rename InheritancePath to BasePath, rename CastExpr::CXXBaseVector to ↵Anders Carlsson2010-04-243-7/+6
| | | | | | CXXBaseSpecifierArray. More to come. llvm-svn: 102245
* Keep track of when DependentNameTypes have no associated keywordDouglas Gregor2010-04-246-13/+15
| | | | | | | (e.g., no typename, enum, class, etc.), e.g., because the context is one that is known to refer to a type. Patch from Enea Zaffanella! llvm-svn: 102243
* Update prototypes.Benjamin Kramer2010-04-241-3/+4
| | | | llvm-svn: 102241
* Fix a place in inline asm lowering which was creating a TruncInst with aDan Gohman2010-04-241-3/+8
| | | | | | | pointer operand. This fixes an abort on MultiSource/Applications/ClamAV/libclamav_mbox.c. llvm-svn: 102238
* Recommit r102215, this time being more careful to only set the "principalJohn McCall2010-04-245-53/+37
| | | | | | | declaration" (i.e. the only which will actually be looked up) to have the non-member-operator bit. llvm-svn: 102231
* Teach clang -fixit to modify files in-place, or -fixit=suffix to create newNick Lewycky2010-04-243-137/+40
| | | | | | files with the additional suffix in the middle. llvm-svn: 102230
* Revert accidental check-in.Devang Patel2010-04-241-13/+5
| | | | llvm-svn: 102226
* Revert r102215. This causes clang crash while compiling a test case from gdb ↵Devang Patel2010-04-246-30/+52
| | | | | | testsuite. llvm-svn: 102224
OpenPOWER on IntegriCloud