summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* When profiling an ExplodedNode, don't re-profile the state: they haveTed Kremenek2009-08-061-1/+1
| | | | | | already been uniqued. llvm-svn: 78279
* Support nested-name-specifiers for C++ member access expressions, e.g.,Douglas Gregor2009-08-067-34/+143
| | | | | | | | this->Base::foo from James Porter! llvm-svn: 78278
* add support for FreeBSD's format(printf0,x,y) attribute; allows null format ↵Ryan Flynn2009-08-063-3/+20
| | | | | | string. llvm-svn: 78276
* First pass at friend semantics.John McCall2009-08-068-43/+310
| | | | llvm-svn: 78274
* Completely remove the code using region cast.Zhongxing Xu2009-08-061-59/+0
| | | | llvm-svn: 78273
* Add additional library paths for Linux distros on mixed 32/64-bit systems.Daniel Dunbar2009-08-061-0/+9
| | | | | | - Patch by Carl-Daniel Hailfinger. llvm-svn: 78272
* As GRState seems general enough, it is time to merge some template classes Zhongxing Xu2009-08-069-237/+245
| | | | | | | and their impl base classes. This can greatly simply some code of the core analysis engine. This patch merges ExplodedNodeImpl into ExplodedNode. llvm-svn: 78270
* Fix clang breakage, CGF can be null in this context.Daniel Dunbar2009-08-061-1/+1
| | | | llvm-svn: 78269
* Implement lazy "copying" of structures and arrays in RegionStore. WhileTed Kremenek2009-08-063-38/+209
| | | | | | | | | | | | | | | | RegionStore already lazily abstracted the contents of arrays and structs, when doing an assignment from one array/struct to another we did an explicit element-wise copy, which resulted in a loss of laziness and huge performance problem when analyzing many code bases. Now RegionStoreManager handles such assignments using a new SVal could 'LazyCompoundSVal', which basically means the value of a given struct or array (a MemRegion*) in a specific state (GRState). When we do a load from a field whose encompassing struct binds to a LazyCompoundSVal, we essentially do a field lookup in the original structure. This means we have essentially zero copying of data for structs/arrays and everything stays lazy. llvm-svn: 78268
* Patch to optimize away copy constructor call whenFariborz Jahanian2009-08-061-1/+14
| | | | | | appropriate. llvm-svn: 78267
* Fixup object layout when we have a primary base (it goes first). Start ↵Mike Stump2009-08-061-7/+11
| | | | | | | | preping for virtual base layout. llvm-svn: 78265
* Update for LLVM API change.Owen Anderson2009-08-0515-88/+113
| | | | llvm-svn: 78259
* Refactor some bits.Mike Stump2009-08-051-1/+1
| | | | llvm-svn: 78254
* Calculate the primary base class better and use that when laying downMike Stump2009-08-053-19/+156
| | | | | | the vtable. Still a work in progress. llvm-svn: 78252
* Fix -fno-omit-frame-pointer bug Eli noticed.Benjamin Kramer2009-08-051-2/+2
| | | | llvm-svn: 78233
* Get rid of "smart" quotes. Per report on cfe-dev.Eli Friedman2009-08-055-25/+25
| | | | llvm-svn: 78230
* Use feedback from RegionStoreSubRegionMap::add() to prune off adding a superTed Kremenek2009-08-051-7/+11
| | | | | | region to the worklist used to create the subregion map. llvm-svn: 78228
* Fix canonical type construction for function types with the noreturnDouglas Gregor2009-08-051-1/+2
| | | | | | attribute. Fixes PR4865. llvm-svn: 78224
* Handle destruction of temporaries used in default argumentFariborz Jahanian2009-08-052-0/+2
| | | | | | construction of constructor calls. llvm-svn: 78222
* Patch to improve ir-gen for constructors with default argumentFariborz Jahanian2009-08-055-17/+37
| | | | | | expressions and a test case. llvm-svn: 78213
* Translate -mcmodel=X to -code-model X and pass it to clang-cc. Patch by ↵Benjamin Kramer2009-08-051-0/+5
| | | | | | Pawel Worach! llvm-svn: 78190
* Add support for the -fno-omit-frame-pointer option. Patch by Roman Divacky!Benjamin Kramer2009-08-051-1/+2
| | | | llvm-svn: 78188
* Introduce the canonical type smart pointers, and use them in a few places toDouglas Gregor2009-08-058-38/+42
| | | | | | tighten up the static type system. llvm-svn: 78164
* Fix a bug in RegionStoreSubRegionManager::add() where multiple subregions ↵Ted Kremenek2009-08-051-2/+4
| | | | | | wouldn't correctly get registered in the SubRegion map. llvm-svn: 78162
* cgobjcgnu was making invalid common globals.Chris Lattner2009-08-051-2/+2
| | | | llvm-svn: 78161
* weak globals that are const should get weak_odr linkage.Chris Lattner2009-08-051-6/+19
| | | | | | add a fixme about C++ const. llvm-svn: 78159
* rdar://7119244 - globals with an explicit section specified don't getChris Lattner2009-08-051-1/+2
| | | | | | common linkage. llvm-svn: 78158
* If the UnaryOperator has non-location type, use its type to create theZhongxing Xu2009-08-051-2/+11
| | | | | | | | | constant value. If the UnaryOperator has location type, create the constant with int type and pointer width. This fixes the bug that all pointer increments 'p++' evaluated to Unknown. llvm-svn: 78147
* Remove an unused header.Mike Stump2009-08-051-1/+0
| | | | llvm-svn: 78140
* Support for use of default argument in constructors.Fariborz Jahanian2009-08-052-3/+28
| | | | | | work in progress. llvm-svn: 78132
* Move the template instantiation logic for template arguments into theDouglas Gregor2009-08-042-50/+89
| | | | | | | | | | general tree transformation. Also, implement template instantiation for parameter packs. In addition, introduce logic to enter the appropriate context for subexpressions that are not potentially evaluated. llvm-svn: 78114
* vtable building for simple inheritance. Still in progress.Mike Stump2009-08-041-1/+18
| | | | llvm-svn: 78110
* Canonicalize else.Mike Stump2009-08-0412-169/+114
| | | | llvm-svn: 78102
* Will I ever get used to CamelCase? Will I ever like capitols forMike Stump2009-08-041-7/+5
| | | | | | | | | random variables? --This line, and those below, will be ignored-- M lib/CodeGen/CGCXX.cpp llvm-svn: 78094
* Add armv7 support.Mike Stump2009-08-041-2/+8
| | | | llvm-svn: 78092
* Revert the fix for PR3800, it broke things.Anders Carlsson2009-08-041-2/+5
| | | | llvm-svn: 78084
* Some code refactoring. Be more generous in issuance of warningFariborz Jahanian2009-08-041-24/+34
| | | | | | on method type mismatches per Chris's comment. llvm-svn: 78075
* Refactor template instantiation for types into a generic treeDouglas Gregor2009-08-043-444/+1206
| | | | | | | | | transformation template (TreeTransform) that handles the transformation and reconstruction of AST nodes. Template instantiation for types is a (relatively small) customization of the generic tree transformation. llvm-svn: 78071
* Simplify alignment handling in the record builder.Anders Carlsson2009-08-041-12/+18
| | | | llvm-svn: 78069
* Update for LLVM API changeDaniel Dunbar2009-08-041-2/+1
| | | | llvm-svn: 78044
* Compare matching selectors in current andFariborz Jahanian2009-08-042-0/+37
| | | | | | | super class(s) and warn on any parameter type mismatch if potentially unsafe. llvm-svn: 78029
* Emit a special 'BUGMETAEND' comment to aid in the postprocessing of HTML bug ↵Ted Kremenek2009-08-031-39/+20
| | | | | | reports. llvm-svn: 78021
* Per advice that Doug Gregor gave me several months ago, clean up theTed Kremenek2009-08-033-57/+34
| | | | | | | | | | | | | implementation of '#pragma unused' by not constructing intermediate DeclRefExprs, but instead do the name lookup directly. The implementation is greatly simplified. Along the way, degrade '#pragma unused(undeclaredvariable)' to a warning instead of being a hard error. This implements: <rdar://problem/6761874> [sema] allow #pragma unused to reference undefined variable (with warning) llvm-svn: 78019
* Make sure UTF-16 strings end with a 16-bit null (as opposed to 8-bit).Daniel Dunbar2009-08-031-0/+3
| | | | llvm-svn: 78001
* Handle disgusting corner case where a byte is loaded from the address of a ↵Ted Kremenek2009-08-031-1/+3
| | | | | | function. llvm-svn: 78000
* When generating cleanup blocks for Obj-C @finally, mark them as catch all blocksDaniel Dunbar2009-08-031-1/+4
| | | | | | | | from the perspective of LLVM exception handling. Otherwise the C++ personality function may decide not to run them, if it only detects cleanup handlers. - Test case for this is exceptions.m in llvm-test. llvm-svn: 77999
* assert(nyi) on attempt to destruct an array of objects.Fariborz Jahanian2009-08-031-2/+6
| | | | llvm-svn: 77993
* ir-gen for destructor calls.Fariborz Jahanian2009-08-031-0/+12
| | | | llvm-svn: 77991
* Refactor methods on DeclSpec to take a diagnostic& parameter, and reflect thisJohn McCall2009-08-036-142/+209
| | | | | | | | elsewhere. Very slightly decouples DeclSpec users from knowing the exact diagnostics to report, and makes it easier to provide different diagnostics in some places. llvm-svn: 77990
* Minor renaming/refactoring. No change in functionality.Fariborz Jahanian2009-08-034-12/+10
| | | | llvm-svn: 77985
OpenPOWER on IntegriCloud