summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR 4489, a crash in PCH loading that occurs when loading the nameDouglas Gregor2009-07-064-22/+129
| | | | | | | | | | of a top-level declaration loads another top-level declaration of the same name whose type depends on the first declaration having been completed. This commit breaks the circular dependency by delaying loads of top-level declarations triggered by loading a name until we are no longer recursively loading types or declarations. llvm-svn: 74847
* Fix <rdar://problem/7033733>. The CF_RETURNS_RETAINED attribute should work ↵Ted Kremenek2009-07-062-3/+23
| | | | | | if the return type on an Objective-C method is a CF type reference, not just an Objective-C object reference. llvm-svn: 74841
* Parsing fix for out-of-line constructors, from Piotr RakDouglas Gregor2009-07-062-2/+29
| | | | llvm-svn: 74833
* Fix out-of-source regression testing for makefilesDouglas Gregor2009-07-061-1/+1
| | | | llvm-svn: 74832
* Keep track of the Expr used to describe the size of an array type,Douglas Gregor2009-07-0619-63/+382
| | | | | | from Enea Zaffanella! llvm-svn: 74831
* Fix bitfield promotion in the presence of explicit casts, from Abrama Bagnara.Douglas Gregor2009-07-062-1/+11
| | | | llvm-svn: 74830
* Further cleanup of region invalidation code. No functionality change.Zhongxing Xu2009-07-063-55/+58
| | | | llvm-svn: 74816
* AllocaRegion and SymbolicRegion are both boundable.Zhongxing Xu2009-07-061-1/+5
| | | | llvm-svn: 74815
* Start to gradually move region invalidation code into store manager.Zhongxing Xu2009-07-063-66/+62
| | | | | | No functionality change. llvm-svn: 74812
* Having tests that depend on previously created files is bad idea. Fix them ↵Argyrios Kyrtzidis2009-07-066-38/+37
| | | | | | to be self-sufficient. llvm-svn: 74810
* Fix for PR4502: add calculation of the integer conversion rank for Eli Friedman2009-07-052-0/+7
| | | | | | wchar_t. llvm-svn: 74808
* More tweaks to types for OpenBSD. Patch by Jonathan Gray.Eli Friedman2009-07-051-1/+14
| | | | llvm-svn: 74805
* Make use of the Index library through the index-test tool.Argyrios Kyrtzidis2009-07-0512-37/+229
| | | | | | | | | 'index-test' is now able to provide additional info for a Decl, through multiple AST files: -Find declarations -Find definitions -Find references llvm-svn: 74803
* Introduce the 'Index' library.Argyrios Kyrtzidis2009-07-0513-1/+573
| | | | | | | | | Its purpose is to provide the basic infrastructure for cross-translation-unit analysis like indexing, refactoring, etc. Currently it is very "primitive" and with no type-names support. It can provide functionality like "show me all references of this function from these translation units". llvm-svn: 74802
* Introduce the DeclReferenceMap class inside the AST library.Argyrios Kyrtzidis2009-07-053-0/+214
| | | | | | | | | DeclReferenceMap (similar to ParentMap) is a helper class for mapping Decls to the AST nodes that reference them. A client will initialize it by passing an ASTContext to its constructor and later use it to iterate over the references of a Decl. References are mapped and retrieved using the primary declaration (Decl::getPrimaryDecl()) of a particular Decl. llvm-svn: 74801
* Introduce the virtual method Decl::getPrimaryDecl().Argyrios Kyrtzidis2009-07-053-0/+27
| | | | | | | When a Decl subclass can have multiple re-declarations in the same declaration context (like FunctionDecl), getPrimaryDecl() will return a particular Decl that all of them will point to as the "primary" declaration. llvm-svn: 74800
* Avoid re-checking the parameters of a function, when trying to resolve a ↵Argyrios Kyrtzidis2009-07-051-5/+12
| | | | | | location. llvm-svn: 74799
* Make use of ASTNode for return value of clang::ResolveLocationInAST() and in ↵Argyrios Kyrtzidis2009-07-053-24/+20
| | | | | | the index-test tool. llvm-svn: 74798
* Introduce ASTNode class into the AST library.Argyrios Kyrtzidis2009-07-053-0/+157
| | | | | | ASTNode is an immutable pair of a Decl and Stmt. If Stmt is not null, Decl should be its immediate parent. llvm-svn: 74797
* Do an early check for function definition.Argyrios Kyrtzidis2009-07-051-10/+12
| | | | llvm-svn: 74796
* Per PR4506, fix the type of size_t on OpenBSD.Eli Friedman2009-07-051-1/+12
| | | | llvm-svn: 74795
* CompoundLiteralRegion is boundable when it is not in the file scope.Zhongxing Xu2009-07-041-0/+2
| | | | llvm-svn: 74788
* Catch function redeclarations with incompatible exception specifications.Sebastian Redl2009-07-045-1/+88
| | | | llvm-svn: 74787
* StringRegion is not boundable.Zhongxing Xu2009-07-041-1/+3
| | | | llvm-svn: 74786
* This fixes the case where the wrong symbol is emitted leading to linking ↵Fariborz Jahanian2009-07-031-4/+9
| | | | | | | | errors when you reference a class before defining it (GNU runtime). Patch by David Chisnall. llvm-svn: 74772
* remove utility methods that are not very useful.Zhongxing Xu2009-07-032-4/+1
| | | | llvm-svn: 74762
* add test case for r74407.Zhongxing Xu2009-07-031-0/+7
| | | | llvm-svn: 74761
* Update checker build.Ted Kremenek2009-07-031-1/+1
| | | | llvm-svn: 74757
* Add an intermediate typedef for __builtin_va_tag to make it a bit easier Eli Friedman2009-07-031-1/+2
| | | | | | | to deal with for AST pretty-printing/rewriting. Patch by Abramo Bagnara. llvm-svn: 74752
* Remove unused method.Ted Kremenek2009-07-031-3/+0
| | | | llvm-svn: 74751
* BasicStoreManager: Use SymbolManager::canSymbolicate() to determine if a ↵Ted Kremenek2009-07-031-1/+1
| | | | | | variable can be symbolicated. llvm-svn: 74750
* Fix a horrible CFG bug reported in <rdar://problem/7027684>. The wrong successorTed Kremenek2009-07-032-1/+13
| | | | | | | block would get hooked up in some cases when processing empty compound statements. llvm-svn: 74743
* Revert prev commit, we have much bigger problems because 2.3 is missingDaniel Dunbar2009-07-021-1/+1
| | | | | | the subprocess module. llvm-svn: 74738
* Avoid @staticmethod to allow use with Python 2.3.Daniel Dunbar2009-07-021-2/+3
| | | | llvm-svn: 74737
* Replace guarded calls in RegionStoreManager toTed Kremenek2009-07-022-23/+14
| | | | | | | | | ValueManager::getRegionValueSymbolVal() with unguarded calls to ValueManager::getRegionValueSymbolValOrUnknown(). This changes centralizes the decision of what values to symbolicate in SymbolManager rather than having it scatter in RegionStoreManager. llvm-svn: 74730
* Enhance RegionStore to lazily symbolicate fields and array elements forTed Kremenek2009-07-023-10/+26
| | | | | | structures passed-by-value as function arguments. llvm-svn: 74729
* Fix RUN line so this test doesn't hang.Ted Kremenek2009-07-021-1/+1
| | | | llvm-svn: 74719
* Patch to allocate list of bases in CXXRecordDeclFariborz Jahanian2009-07-023-7/+14
| | | | | | using ASTContxt allocation. llvm-svn: 74717
* StoreManagers: Use 'hasGlobalsStorage()' and 'hasParametersStorage()' instead ofTed Kremenek2009-07-024-7/+27
| | | | | | | directly consulting if a VarDecl is an implicit or actual parameter, a global, etc. llvm-svn: 74716
* Add a separate MemSpaceRegion for function/method arguments passed on the stack.Ted Kremenek2009-07-022-17/+35
| | | | | | | This will simplify the logic of StoreManagers that want to specially reason about the values of parameters. llvm-svn: 74715
* Remove commented methods. Add MemRegion::printStdErr().Ted Kremenek2009-07-022-4/+7
| | | | llvm-svn: 74709
* Add support for retrieving the Doxygen comment associated with a givenDouglas Gregor2009-07-0220-9/+402
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | declaration in the AST. The new ASTContext::getCommentForDecl function searches for a comment that is attached to the given declaration, and returns that comment, which may be composed of several comment blocks. Comments are always available in an AST. However, to avoid harming performance, we don't actually parse the comments. Rather, we keep the source ranges of all of the comments within a large, sorted vector, then lazily extract comments via a binary search in that vector only when needed (which never occurs in a "normal" compile). Comments are written to a precompiled header/AST file as a blob of source ranges. That blob is only lazily loaded when one requests a comment for a declaration (this never occurs in a "normal" compile). The indexer testbed now supports comment extraction. When the -point-at location points to a declaration with a Doxygen-style comment, the indexer testbed prints the associated comment block(s). See test/Index/comments.c for an example. Some notes: - We don't actually attempt to parse the comment blocks themselves, beyond identifying them as Doxygen comment blocks to associate them with a declaration. - We won't find comment blocks that aren't adjacent to the declaration, because we start our search based on the location of the declaration. - We don't go through the necessary hops to find, for example, whether some redeclaration of a declaration has comments when our current declaration does not. Similarly, we don't attempt to associate a \param Foo marker in a function body comment with the parameter named Foo (although that is certainly possible). - Verification of my "no performance impact" claims is still "to be done". llvm-svn: 74704
* Look through vector types when determining the base type of a type for ↵Douglas Gregor2009-07-011-0/+2
| | | | | | declarator printing. Bug found via the PCH tester llvm-svn: 74672
* Use Destroy for member initializer list clean up.Fariborz Jahanian2009-07-013-13/+26
| | | | | | Per Doug's comments. Doug please review. llvm-svn: 74666
* Minor code cleanup: pull variables into scope of 'if' statement, limiting theirTed Kremenek2009-07-011-10/+8
| | | | | | actual lifetime to their logical lifetime. llvm-svn: 74665
* Fix PR 4489, a PCH crash during de-serialization.Douglas Gregor2009-07-013-2/+20
| | | | llvm-svn: 74664
* Temporarily disable RegionStore for stack-addr-ps.c, as a new test case revealsTed Kremenek2009-07-011-2/+13
| | | | | | | a case where RegionStore doesn't create symbolic values for the fields of structs that are passed-by-value. llvm-svn: 74662
* Add a FIXME to RegionStore, do some minor code cleanup, and get RegionStore toTed Kremenek2009-07-012-15/+26
| | | | | | | | pass misc-ps.m. Currently RegionStore/BasicStore don't do any special reasoning about clang-style vectors, so we should return UnknownVal (in all cases) when accessing their values via an array. llvm-svn: 74660
* Update for changes in LLVM. Hopefully this is the last one for a while.Owen Anderson2009-07-015-7/+7
| | | | llvm-svn: 74657
* Keep track of more information within the template instantiation stack, e.g.,Douglas Gregor2009-07-017-33/+132
| | | | | | | | | | | | | | by distinguishing between substitution that occurs for template argument deduction vs. explicitly-specifiad template arguments. This is used both to improve diagnostics and to make sure we only provide SFINAE in those cases where SFINAE should apply. In addition, deal with the sticky issue where SFINAE only considers substitution of template arguments into the *type* of a function template; we need to issue hard errors beyond this point, as test/SemaTemplate/operator-template.cpp illustrates. llvm-svn: 74651
OpenPOWER on IntegriCloud