summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Added "getBindings" and "BindingAsString" to GRStateManager and StoreManager.Ted Kremenek2008-08-292-32/+59
| | | | | | | Migrated CFRefCount.cpp to use getBindings and BindingsAsString instead of making assumptions about the Store (removed dependence on GRState::vb_iterator). llvm-svn: 55522
* Remove BasicStore.h (migrated function prototype for CreateBasicStore() to ↵Ted Kremenek2008-08-282-2/+0
| | | | | | Store.h) llvm-svn: 55519
* Remove Regions.h and Regions.cpp, since we are now using an even more ↵Ted Kremenek2008-08-281-34/+0
| | | | | | abstract representation of "memory regions" in the static analyzer. llvm-svn: 55515
* Make store "Regions" and "Bindings" more abstract instead of concrete variants.Ted Kremenek2008-08-282-13/+23
| | | | | | | | Their precise semantics will be implemented by a specific StoreManager. Use function pointer to create the StoreManager in GRStateManager. This matches how we create ConstraintsManager. llvm-svn: 55514
* Add parser/action support for block literal expressions.Steve Naroff2008-08-282-3/+81
| | | | | | Parser support for blocks is almost complete...just need to add support for the __block() storage class qualifier. llvm-svn: 55495
* Fixed analyzer caching bug involving the transfer function for loads.Ted Kremenek2008-08-281-4/+5
| | | | llvm-svn: 55494
* Fix isIntegerConstantExpr eval of __builtin_offsetof to return resultDaniel Dunbar2008-08-281-0/+1
| | | | | | | | | with correct width. - PR2728. Also, fix PR2727 test case. llvm-svn: 55493
* Fixed analyzer caching bug in DeclStmt.Ted Kremenek2008-08-281-22/+11
| | | | llvm-svn: 55487
* Fix double-free error with sizeof applied to VLA types.Daniel Dunbar2008-08-282-0/+9
| | | | | | | | - PR2727. Also, fix warning in CodeGenTypes for new BlockPointer type. llvm-svn: 55479
* Fix Parser::ParseDeclaratorInternal(): add langopts test when recognizing ↵Steve Naroff2008-08-281-2/+2
| | | | | | blocks. llvm-svn: 55468
* NeXT: Emit mostly-correct property type encoding.Daniel Dunbar2008-08-282-8/+102
| | | | | | - Added ASTContext::getObjCEncodingForPropertyDecl. llvm-svn: 55461
* Make the destructor of ConstraintManager virtual.Ted Kremenek2008-08-271-1/+5
| | | | llvm-svn: 55448
* First wave of changes to support "blocks" (an extension to C).Steve Naroff2008-08-275-8/+89
| | | | | | This commit adds the declaration syntax (and associated type). llvm-svn: 55417
* Refactor Assume logic into a separate class ConstraintManager.Zhongxing Xu2008-08-273-239/+299
| | | | llvm-svn: 55412
* Initial support for Obj-C dot-syntax for getters.Daniel Dunbar2008-08-274-23/+47
| | | | llvm-svn: 55410
* Add synthesized property methods to protocols and categories in Sema.Daniel Dunbar2008-08-271-12/+25
| | | | | | | | | | | | | | | | - It is not clear that this is the right approach, but this is at least consistent with how interfaces are handled. - This means NeXT now emits the correct metadata for properties in protocols. - This currently introduces a spurious warning involving inherited properties in protocols or categories; however, it also fixes some situations where we were failing to emit a warning. I will scrub this code tomorrow and fix this issue as well as number of other missed warnings / error situations that appear to exist. llvm-svn: 55407
* Fix "possibly uninitialized" warning.Daniel Dunbar2008-08-271-1/+1
| | | | llvm-svn: 55406
* NeXT: Refactor protocol method metadata emission.Daniel Dunbar2008-08-271-81/+91
| | | | | | Also, fix category protocol list metadata. llvm-svn: 55405
* Add addPropertyMethods implementations forDaniel Dunbar2008-08-271-12/+57
| | | | | | | ObjC{Category,Protocol}Decl. - No functionality change. llvm-svn: 55404
* Added "Auditor" interface for auditing the construction of ExplodedGraphs.Ted Kremenek2008-08-271-0/+23
| | | | llvm-svn: 55403
* Make implementation of ExplodedNodeImpl::addPredecessor out-of-line.Ted Kremenek2008-08-271-0/+6
| | | | llvm-svn: 55402
* NeXT: Emit correct properties for category.Daniel Dunbar2008-08-261-3/+16
| | | | | | | - Was emitting duplicates of class properties instead of the category properties. llvm-svn: 55395
* Remove default value for 'Pred' argument to GRCoreEngineImpl::GenerateNode().Ted Kremenek2008-08-261-1/+1
| | | | llvm-svn: 55392
* NeXT: Emit metadata for synthetsized properties.Daniel Dunbar2008-08-261-38/+82
| | | | | | Also, fix method lookup to not use LLVM module symbol table. llvm-svn: 55390
* Objective-C @synthesize support.Daniel Dunbar2008-08-266-22/+147
| | | | | | | | | | | - Only supports simple assignment and atomic semantics are ignored. - Not quite usable yet because the methods do not actually get added to the class metadata. - Added ObjCPropertyDecl::getSetterKind (one of Assign, Copy, Retain). - Rearrange CodeGenFunction so synthesis can reuse function prolog / epilog code. llvm-svn: 55365
* Add ObjCPropertyDecl::isReadOnly.Daniel Dunbar2008-08-261-0/+4
| | | | | | Respect isReadOnly when generating synthesized method decls. llvm-svn: 55364
* constify ObjC*::getClassMethod,getInstanceMethod Daniel Dunbar2008-08-261-10/+16
| | | | | | No (intended) functionality change. llvm-svn: 55362
* Missed a file; part of:Daniel Dunbar2008-08-261-0/+25
| | | | | | | | | | | Move implicit Obj-C param creation into ObjCMethodDecl. - Add ObjCMethodDecl::createImplicitParams. - Remove ObjCMethodDecl::set{Self,Cmd}Decl - Remove Sema::CreateImplicitParameter No (intended) functionality change. llvm-svn: 55357
* Move implicit Obj-C param creation into ObjCMethodDecl.Daniel Dunbar2008-08-263-36/+3
| | | | | | | | | | - Add ObjCMethodDecl::createImplicitParams. - Remove ObjCMethodDecl::set{Self,Cmd}Decl - Remove Sema::CreateImplicitParameter No (intended) functionality change. llvm-svn: 55356
* Rename ObjCPropertyImplDecl::PropertyImplKind (consistency)Daniel Dunbar2008-08-262-5/+5
| | | | | | | | | - Change enum name to Kind. - Change enum constants to English strings. Also, fix getPropertyImplementation (which probably should be renamed) llvm-svn: 55354
* Fix return type for setter method.Daniel Dunbar2008-08-261-1/+1
| | | | llvm-svn: 55353
* Synthesize property setter method as we do for getter.Daniel Dunbar2008-08-262-18/+60
| | | | | | | - Also, fix Parser to construct proper SetterName selector (should be lifted out of parser though). llvm-svn: 55352
* In incompatible pointer-typed ?: expressions, add implicit conversionDaniel Dunbar2008-08-261-10/+23
| | | | | | | | | | | | | | | | | | | | of RHSs to id type instead of void* if either has Objective-C object type. - This ensures the result can still be used in normal places an object can be used, like a message send. Add implicit conversions for ?: applied to qualified id types to ensure that the RHSs are compatible. - This prevents a codegen crash (creating invalid PHI nodes). - Again, this relates to the fact that qualified id types have no canonical types. - Note that the implicit type casted to is incorrect, however this doesn't currently cause problems because of the flexibility of the id type. Test cases for above. llvm-svn: 55346
* Do typechecking and codegen for K&R-style function declarations Eli Friedman2008-08-253-17/+29
| | | | | | | correctly. Not a regression, but made more obvious by my recent fix which made function type compatibility checking a bit more strict. llvm-svn: 55339
* Fix for PR2720; be a little bit more permissive in initializers for Eli Friedman2008-08-251-21/+23
| | | | | | | | | | casting pointers to integers. Eventually, we should check whether we can evaluate an expression using Expr::tryEvaluate, and this codepath should be tightened to only handle standard-compliant cases. llvm-svn: 55331
* Support __PRETTY_FUNCTION__ and friends in Obj-C methods.Daniel Dunbar2008-08-252-22/+29
| | | | | | | | | | | | Add CodeGenFunction::EmitUnsupportedLValue - Gives error and returns undef value. Swap some asserts() over to using EmitUnsupportedLValue - Rumor has it users (and even some developers) prefer carat diagnostics to backtraces. - Works better in Release-Asserts to boot. llvm-svn: 55328
* Added 'extents' for Regions.Ted Kremenek2008-08-253-27/+52
| | | | | | | Added 'getExtent()' to StoreManager. Implemented 'getExtent()' for BasicStoreManager. llvm-svn: 55321
* Objective-C foreach selector elements must be lvalues.Anders Carlsson2008-08-251-3/+10
| | | | llvm-svn: 55316
* Change another is-a-pointer check to check in terms of LLVM type.Daniel Dunbar2008-08-251-1/+1
| | | | llvm-svn: 55312
* Do is-a-pointer checks in terms of LLVM types inDaniel Dunbar2008-08-251-4/+6
| | | | | | | | | EmitScalarConversion(). - Important for allowing Obj-C void * to id<X> casts and so on. - Not sure about this fix however, perhaps Type should understand that id is effectively a pointer type. llvm-svn: 55311
* Stop asserting in TargetInfo::validateInputConstraintDaniel Dunbar2008-08-251-4/+4
| | | | | | - Sema gives a perfectively nice error message on invalid constraints. llvm-svn: 55310
* Fix Obj-C super sends inside class methods.Daniel Dunbar2008-08-254-36/+99
| | | | | | | - NeXT loads the super class at runtime; this required changing the runtime interface to pass more information down. llvm-svn: 55307
* Name struct types generated for Obj-C classes.Daniel Dunbar2008-08-251-1/+3
| | | | llvm-svn: 55304
* Use DenseMap on IdentifierInfo instead of StringMap.Daniel Dunbar2008-08-252-6/+7
| | | | llvm-svn: 55303
* NeXT: Emit symbols used to manage linking of Obj-C classes.Daniel Dunbar2008-08-251-1/+44
| | | | | | | | | | | - This ensures that references to undefined classes cause link errors. - NOTE: This relies on platform specific asm directives currently, this should be factored out. Also, don't emit a SYMBOLS metadata entry if there are no symbols. llvm-svn: 55302
* Handle emitting __builtin_huge_valf as a constant expr.Anders Carlsson2008-08-252-1/+30
| | | | llvm-svn: 55299
* Make code generation of ivar ref exprs more like member exprs.Anders Carlsson2008-08-251-19/+25
| | | | llvm-svn: 55298
* Handle static variables inside obj-c methods.Anders Carlsson2008-08-251-2/+6
| | | | llvm-svn: 55297
* Convert qualified interface types correctly.Anders Carlsson2008-08-241-3/+5
| | | | llvm-svn: 55287
* Fix silly bug in objc_gc attribute parsing and add test caseAnders Carlsson2008-08-241-2/+2
| | | | llvm-svn: 55286
OpenPOWER on IntegriCloud