summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Fix a typo in a comment in tools/clang/unittests/Frontend/Makefile.Zhanyong Wan2011-02-091-1/+1
| | | | llvm-svn: 125182
* Initialize 'reclaimNodes'.Ted Kremenek2011-02-091-1/+3
| | | | llvm-svn: 125179
* test: CMake: Be aware of LLVM_LIT_TOOLS_DIR.NAKAMURA Takumi2011-02-092-0/+13
| | | | llvm-svn: 125178
* Emit debug info for objc_selector.Devang Patel2011-02-092-0/+21
| | | | llvm-svn: 125163
* Correct units in comments describing Size and getSize().Ken Dyck2011-02-091-2/+2
| | | | llvm-svn: 125158
* When IRgen refers to a function declaration that is not a definition,Douglas Gregor2011-02-093-2/+26
| | | | | | | | | | and we later find the definition, make sure that we add the definition (not the declaration) to the list of deferred definitions to emit. Fixes PR8864. Thanks to Nick Lewycky for testing this patch out llvm-svn: 125157
* Convert RecordLayout::Size to CharUnits from bits. No changes toKen Dyck2011-02-098-32/+45
| | | | | | functionality intended. llvm-svn: 125156
* static analyzer: Further reduce the analyzer's memory usage when analyzing ↵Ted Kremenek2011-02-0910-10/+161
| | | | | | | | | | | | sqlite3 by 7-10% by recylcing "uninteresting" ExplodedNodes. The optimization involves eagerly pruning ExplodedNodes from the ExplodedGraph that contain practically no difference between the predecessor and successor nodes. For example, if the state is different between a predecessor and a node, the node is left in. Only for the 'environment' component of the state do we not care if the ExplodedNodes are different. This paves the way for future optimizations where we can reclaim the environment objects. llvm-svn: 125154
* Make ProgramPoint::getTag() public.Ted Kremenek2011-02-091-1/+2
| | | | llvm-svn: 125153
* NonTypeTemplateParmDecl is just a DeclaratorDecl, not a VarDecl.John McCall2011-02-097-69/+147
| | | | | | | Also, reorganize and make very explicit the logic for determining the value kind and type of a referenced declaration. llvm-svn: 125150
* If an aggregate argument is passed indirectly because it has non trivialDevang Patel2011-02-095-9/+20
| | | | | | | | destructor or copy constructor than let debug info know about it. Radar 8945514. llvm-svn: 125142
* No longer pass deprecated '-nodistribute' flag to xcodebuild.Ted Kremenek2011-02-081-3/+0
| | | | llvm-svn: 125131
* analyzer, retain/release checker: Remove hack where objects passed in ↵Ted Kremenek2011-02-082-19/+16
| | | | | | message to 'self' are no longer tracked. llvm-svn: 125130
* Update for API change.Rafael Espindola2011-02-081-2/+2
| | | | llvm-svn: 125129
* When checking the 'weak' and 'weakref' attributes, look for non-externalJohn McCall2011-02-085-28/+75
| | | | | | | linkage rather than the presence of the 'static' storage class specifier. Fixes rdar://problem/8814626. llvm-svn: 125126
* Fix an IRGen bug in property setter calls whenFariborz Jahanian2011-02-082-1/+28
| | | | | | setter and getter types mismatch. // rdar://8966864 llvm-svn: 125125
* [analyzer] Move the files in lib/StaticAnalyzer to lib/StaticAnalyzer/Core.Argyrios Kyrtzidis2011-02-0840-48/+64
| | | | | | | Eventually there will also be a lib/StaticAnalyzer/Frontend that will handle initialization and checker registration. Yet another library to avoid cyclic dependencies between Core and Checkers. llvm-svn: 125124
* [analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.cpp -> ↵Argyrios Kyrtzidis2011-02-082-1/+1
| | | | | | lib/StaticAnalyzer/Checkers/ExperimentalChecks.cpp llvm-svn: 125123
* [analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.h -> ↵Argyrios Kyrtzidis2011-02-0811-12/+12
| | | | | | lib/StaticAnalyzer/Checkers/ExperimentalChecks.h llvm-svn: 125122
* [analyzer] lib/StaticAnalyzer/Checkers/ExprEngineInternalChecks.h -> ↵Argyrios Kyrtzidis2011-02-0832-32/+32
| | | | | | lib/StaticAnalyzer/Checkers/InternalChecks.h llvm-svn: 125121
* Test case accidentally left out of my last commit.John McCall2011-02-081-0/+57
| | | | llvm-svn: 125119
* Split the serialized representation for the detailed preprocessingDouglas Gregor2011-02-085-198/+254
| | | | | | | | | | record away from the core processor record. The tangling of these two data structures led to some inefficiencies (e.g., deserializing all of the detailed preprocessing record when we didn't need it, such as while performing code completion) along with some unnecessary ugliness. llvm-svn: 125117
* AST: support for pre-arg expressions on CallExpr subclassesPeter Collingbourne2011-02-084-25/+71
| | | | llvm-svn: 125115
* StmtPrinter: factor out arg printing code to PrintCallArgsPeter Collingbourne2011-02-081-3/+8
| | | | llvm-svn: 125114
* Allow multiple -B prefixes. Patch by Joerg Sonnenberger.Benjamin Kramer2011-02-082-7/+14
| | | | llvm-svn: 125111
* Clear the linkage cache recursively. Fixes PR8926.John McCall2011-02-082-1/+32
| | | | llvm-svn: 125104
* In Sema::CheckShadow, get the DeclContext from the variable that we are checkingArgyrios Kyrtzidis2011-02-082-4/+18
| | | | | | | | instead from the Scope; Inner scopes in bodies don't have DeclContexts associated with them. Fixes http://llvm.org/PR9160 & rdar://problem/8966163. llvm-svn: 125097
* Support for objextive-c++ use of property-dot syntax as receiverFariborz Jahanian2011-02-085-7/+12
| | | | | | | in liu of a class method getter. // rdar://8962253 llvm-svn: 125094
* Update the writing of the block-information block in the AST fileDouglas Gregor2011-02-081-2/+82
| | | | | | | format, so that llvm-bcanalyzer knows about all of the various record kinds. llvm-svn: 125086
* Reorganize CodeGen{Function,Module} to eliminate the unfortunateJohn McCall2011-02-0821-499/+511
| | | | | | | | Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. llvm-svn: 125085
* Extend the const capture optimization to C++ record types with noJohn McCall2011-02-082-5/+89
| | | | | | mutable fields and with trivial destructors and copy constructors. llvm-svn: 125073
* Sema::MaybeBindToTemporary() shouldn't treat any expression returningDouglas Gregor2011-02-082-11/+27
| | | | | | | | | a glvalue as a temporary. Previously, we were enumerating all of the cases that coul return glvalues and might be called with Sema::MaybeBindToTemporary(), but that was gross and we missed the Objective-C property reference case. llvm-svn: 125070
* Convert RecordLayout::NonVirtualAlign to CharUnits. No change inKen Dyck2011-02-084-14/+21
| | | | | | functionality intended. llvm-svn: 125069
* dgregor accidentally killed this assert, but on investigation, it can fireJohn McCall2011-02-082-18/+16
| | | | | | on invalid code and we don't really care, so kill it harder. llvm-svn: 125068
* Support for objc use of property-dot syntax as receiverFariborz Jahanian2011-02-082-0/+25
| | | | | | | in liu of a class method getter. objc++ uses a different code path and is more involved (TBD). llvm-svn: 125061
* When copy-capturing values for a nested capture, use a BlockDeclRefExpr.John McCall2011-02-072-3/+21
| | | | llvm-svn: 125021
* Move uninitialized variable checking back under ↵Ted Kremenek2011-02-074-5/+5
| | | | | | -Wuninitialized-experimental. It is clear from user feedback that this warning is not quite ready. llvm-svn: 125007
* A few more tweaks to the blocks AST representation: John McCall2011-02-0734-1187/+1467
| | | | | | | | | | | | | | | | | - BlockDeclRefExprs always store VarDecls - BDREs no longer store copy expressions - BlockDecls now store a list of captured variables, information about how they're captured, and a copy expression if necessary With that in hand, change IR generation to use the captures data in blocks instead of walking the block independently. Additionally, optimize block layout by emitting fields in descending alignment order, with a heuristic for filling in words when alignment of the end of the block header is insufficient for the most aligned field. llvm-svn: 125005
* pre/post ++/-- for AltiVec vectors. (with builtins-ppc-altivec.c failure fixed)Anton Yartsev2011-02-074-24/+82
| | | | llvm-svn: 125000
* Add another test that we can fully devirtualize now.Anders Carlsson2011-02-061-0/+25
| | | | llvm-svn: 124988
* Fix self-host; if a thunk already exists and has available_externally ↵Anders Carlsson2011-02-062-2/+25
| | | | | | linkage, we should change its linkage instead of asserting. llvm-svn: 124986
* When building with optimizations, emit thunks with available_externally ↵Anders Carlsson2011-02-063-6/+113
| | | | | | linkage so devirtualized function calls can also be de-thunked. llvm-svn: 124984
* Simplify thunks code.Anders Carlsson2011-02-062-9/+7
| | | | llvm-svn: 124983
* CLANG_BINARY_DIR is not the same thing as LLVM_BINARY_DIR when ClangOscar Fuentes2011-02-061-2/+2
| | | | | | is built as part of LLVM. llvm-svn: 124982
* add some missing builtins.Chris Lattner2011-02-061-0/+6
| | | | llvm-svn: 124981
* Support running tests from the VS IDE and XCode.Oscar Fuentes2011-02-051-2/+4
| | | | | | Untested, but should work :) llvm-svn: 124975
* Remove the clang++ symlink with `make clean'.Oscar Fuentes2011-02-051-2/+5
| | | | llvm-svn: 124974
* Add a __has_feature check for default template arguments in functionDouglas Gregor2011-02-053-0/+15
| | | | | | templates, a C++0x feature. llvm-svn: 124973
* CMake: libclang shall be named libclang.so, not liblibclang.so.Oscar Fuentes2011-02-051-0/+1
| | | | | | | It is not possible to simply change that target name to `clang' because we already have one. llvm-svn: 124972
* Improve our uniquing of file entries when files are re-saved or areDouglas Gregor2011-02-059-45/+91
| | | | | | | | | | | | | | overridden via remapping. Thus, when we create a "virtual" file in the file manager, we still stat() the real file that lives behind it so that we can provide proper uniquing based on inodes. This helps keep the file manager much more consistent. To take advantage of this when reparsing files in libclang, we disable the use of the stat() cache when reparsing or performing code completion, since the stat() cache is very likely to be out of date in this use case. llvm-svn: 124971
OpenPOWER on IntegriCloud