summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* This patch collects all analysis context data into a new class Zhongxing Xu2009-07-302-31/+90
| | | | | | AnalysisContext. llvm-svn: 77563
* Remove bogus "unsupported" case for vectors (which shouldn't Eli Friedman2009-07-301-2/+1
| | | | | | | | | | ever trigger). Add an "unsupported" case that triggers for C++ code. It would be nice if someone would implement this properly... it shouldn't be too hard, but I haven't looked closely at the relevant code. llvm-svn: 77562
* Fix type to be consistent with the rest of the code.Mike Stump2009-07-301-1/+1
| | | | llvm-svn: 77560
* Add ability to layout the vtable pointer in trivial cases. I noticedMike Stump2009-07-303-8/+21
| | | | | | | | that we would silently do bad things with virtual bases in the layout code, so, we just turn them off. When people do better things with them, we can turn them back on. llvm-svn: 77556
* Fix gcc warning.Eli Friedman2009-07-301-2/+2
| | | | llvm-svn: 77555
* ir-gen for nested non-virtual base member accessFariborz Jahanian2009-07-301-5/+47
| | | | | | in current class. llvm-svn: 77554
* Add support for ObjC message expressions, in the Analyzer:Argyrios Kyrtzidis2009-07-301-2/+337
| | | | | | | -Accept an ObjC method and find all message expressions that this method may respond to. -Accept an ObjC message expression and find all methods that may respond to it. llvm-svn: 77551
* Update CMake.Argyrios Kyrtzidis2009-07-301-0/+5
| | | | llvm-svn: 77548
* Support ObjC methods as Entities.Argyrios Kyrtzidis2009-07-292-34/+81
| | | | llvm-svn: 77547
* There's no point in going through the getAs<TagType> stuff to find the ↵Douglas Gregor2009-07-291-3/+0
| | | | | | definition of a tag, since tags rarely have more than one or two declarations llvm-svn: 77546
* Index the selectors and provide the translation units that contain themArgyrios Kyrtzidis2009-07-291-3/+40
| | | | | | through the IndexProvider. llvm-svn: 77543
* Introduce SelectorMap whose purpose is to map selectors to objc methods and ↵Argyrios Kyrtzidis2009-07-291-0/+85
| | | | | | | | message exprs, inside a particular ASTContext. llvm-svn: 77541
* Find references inside blocks.Argyrios Kyrtzidis2009-07-292-0/+16
| | | | llvm-svn: 77540
* Use helper class ASTVisitor to fully traverse an AST.Argyrios Kyrtzidis2009-07-292-80/+120
| | | | llvm-svn: 77539
* Introduce the GlobalSelector class in the Indexing library.Argyrios Kyrtzidis2009-07-292-0/+74
| | | | | | GlobalSelector is an ASTContext-independent way to refer to Objective C selectors. llvm-svn: 77538
* Use an IdentifierTable for names used for Entities.Argyrios Kyrtzidis2009-07-293-16/+16
| | | | llvm-svn: 77537
* -Introduce the idx::Analyzer class used for getting indexing information, ↵Argyrios Kyrtzidis2009-07-291-0/+104
| | | | | | | | | | like finding references of a declaration across translation units. -Modify the index-test tool to use it. llvm-svn: 77536
* Introduce TULocation and TULocationHandler classes.Argyrios Kyrtzidis2009-07-291-0/+1
| | | | | | | TULocation is like ASTLocation but also contains the TranslationUnit* that the ASTLocation originated from. llvm-svn: 77535
* Modify the Indexer class so that it can return the TranslationUnit that internalArgyrios Kyrtzidis2009-07-292-3/+12
| | | | | | decls originated from. llvm-svn: 77534
* Constify ASTLocation::print.Argyrios Kyrtzidis2009-07-291-2/+2
| | | | llvm-svn: 77532
* Introduce a helper template for the Handler classes and use it insteadArgyrios Kyrtzidis2009-07-291-28/+0
| | | | | | of the iterator of the Indexer class. llvm-svn: 77528
* Add an assert.Argyrios Kyrtzidis2009-07-291-0/+1
| | | | llvm-svn: 77527
* Accept Handler objects in parameters as references.Argyrios Kyrtzidis2009-07-292-6/+7
| | | | | | | Reinforces that they shouldn't be null and it's a bit more natural when they are passed as stack objects. llvm-svn: 77526
* Rename EntityHandler::HandleEntity to Handle.Argyrios Kyrtzidis2009-07-292-2/+2
| | | | llvm-svn: 77525
* -Make IndexProvider an abstract interface for getting indexing information.Argyrios Kyrtzidis2009-07-294-63/+113
| | | | | | -Introduce Indexer as an IndexProvider implementation. llvm-svn: 77524
* Make tag declarations redeclarable. This change has three purposes:Douglas Gregor2009-07-295-27/+43
| | | | | | | | | | | | | | | | 1) Allow the Index library (and any other interested client) to walk the set of declarations for a given tag (enum, union, class, whatever). At the moment, this information is not readily available. 2) Reduce our dependence on TagDecl::TypeForDecl being mapped down to a TagType (for which getDecl() will return the tag definition, if one exists). This property won't exist for class template partial specializations. 3) Make the canonical declaration of a TagDecl actually canonical, e.g., so that it does not change when the tag is defined. llvm-svn: 77523
* Eliminate an unused-variable warningDouglas Gregor2009-07-291-1/+0
| | | | llvm-svn: 77518
* Update for LLVM API change.Owen Anderson2009-07-2913-319/+314
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-2948-410/+386
| | | | | | | | | | | | | | | | | | | | 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
* Remove 'StoreManager::OldCastRegion()', TypedViewRegion (which onlyTed Kremenek2009-07-296-157/+11
| | | | | | | OldCastRegion used), and the associated command line option '-analyzer-store=old-basic-cast'. llvm-svn: 77509
* Some refactoring of member access forFariborz Jahanian2009-07-291-16/+14
| | | | | | performace sake. Also added a test case. llvm-svn: 77502
* Refactor base/member initializers, and construct them correctly in cases Eli Friedman2009-07-292-83/+122
| | | | | | with dependent types. Fixes PR4621 and PR4627. llvm-svn: 77498
* Check accessibility when converting object to the baseFariborz Jahanian2009-07-292-5/+19
| | | | | | class. llvm-svn: 77497
* Update for LLVM API change.Owen Anderson2009-07-297-93/+93
| | | | llvm-svn: 77492
* No longer need to keep base class offsets in the offsetFariborz Jahanian2009-07-293-10/+0
| | | | | | table as it has its own place now. llvm-svn: 77491
* Patch to provide cast of objects in member accessFariborz Jahanian2009-07-293-16/+20
| | | | | | | excpression, if needed, and remove some ir-gen code now unnencessary. llvm-svn: 77490
* [llvm up]Douglas Gregor2009-07-296-12/+73
| | | | | | | | | A template name can refer to a set of overloaded function templates. Model this in TemplateName, which can now refer to an OverloadedFunctionDecl that contains function templates. This removes an unspeakable hack in Sema::isTemplateName. llvm-svn: 77488
* Remove some uses of TypedViewRegion, and use getBaseRegion() in a context whereTed Kremenek2009-07-292-9/+6
| | | | | | we don't care about ElementRegions layered on top of a base region. llvm-svn: 77484
* Make StoreManager::InvalidateRegion() virtual, move the current implementationTed Kremenek2009-07-293-93/+128
| | | | | | | | | | in StoreManager to RegionStoreManager, and create a special, highly reduced version in BasicStoreManager. These changes are in preparation for future RegionStore-specific changes to InvalidateRegion. llvm-svn: 77483
* Add 'MemRegion::getBaseRegion()', a utility method to strip ElementRegions withTed Kremenek2009-07-292-2/+26
| | | | | | index 0. This will be used for refinements to InvalidateRegion and CastRegion. llvm-svn: 77481
* canSymbolicate() should only return true for integer types that are scalars.Ted Kremenek2009-07-291-1/+1
| | | | llvm-svn: 77479
* Check for identical types in C++ catch expression. Patch by Erik Verbruggen.Sebastian Redl2009-07-291-5/+70
| | | | llvm-svn: 77475
* Don't use a formatted ostream when writing .ll either.Daniel Dunbar2009-07-291-1/+1
| | | | llvm-svn: 77474
* Don't use a formatted ostream when writing .bc files. I don't really understandDaniel Dunbar2009-07-291-1/+1
| | | | | | this interface design, Chris please check. llvm-svn: 77473
* When lookup of an identifier preceding a '<' finds a set of overloadedDouglas Gregor2009-07-291-9/+35
| | | | | | | | functions, only return those overloaded functions that are actually function templates. Note that there is still a glaring problem with treating an OverloadedFunctionDecl as a TemplateName. llvm-svn: 77472
* Remove an obsolete kludge based on the previous, completely broken handling ↵Douglas Gregor2009-07-291-7/+2
| | | | | | of function templates llvm-svn: 77464
* Use the new statement/expression profiling code to unique dependentDouglas Gregor2009-07-295-11/+33
| | | | | | | | template arguments, as in template specialization types. This permits matching out-of-line definitions of members for class templates that involve non-type template parameters. llvm-svn: 77462
* Use the existing API for base offset. Use suitable llvm typeFariborz Jahanian2009-07-291-20/+4
| | | | | | for offset ir-gen. llvm-svn: 77458
* Fix <rdar://problem/7100524> regression: "error: incompatible operand types ↵Steve Naroff2009-07-291-0/+19
| | | | | | | | | ('void *' and 'NSString *')". Remove XFAIL from 'conditional-expr-4.m' test case (which would have caught this). Also tweaked several aspects of the test to jive with the current type checking. llvm-svn: 77453
* Incorporate feedback from Chris (on r76979).Steve Naroff2009-07-291-2/+2
| | | | llvm-svn: 77452
OpenPOWER on IntegriCloud