aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-08-06Support nested-name-specifiers for C++ member access expressions, e.g.,Douglas Gregor
this->Base::foo from James Porter! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78278 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06add support for FreeBSD's format(printf0,x,y) attribute; allows null format ↵Ryan Flynn
string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06First pass at friend semantics.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78274 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Completely remove the code using region cast.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78273 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Add additional library paths for Linux distros on mixed 32/64-bit systems.Daniel Dunbar
- Patch by Carl-Daniel Hailfinger. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78272 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix locating the 'lit.cfg' file when running on only a single file in theDaniel Dunbar
current directory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06As GRState seems general enough, it is time to merge some template classes Zhongxing Xu
and their impl base classes. This can greatly simply some code of the core analysis engine. This patch merges ExplodedNodeImpl into ExplodedNode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78270 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix clang breakage, CGF can be null in this context.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Implement lazy "copying" of structures and arrays in RegionStore. WhileTed Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78268 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Patch to optimize away copy constructor call whenFariborz Jahanian
appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78267 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06AlisdairM pointed out that this will likely be relaxed in C++0x, so let'sJohn McCall
make a note of it in the test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78266 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fixup object layout when we have a primary base (it goes first). Start ↵Mike Stump
preping for virtual base layout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78265 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Add a test for invalid uses of non-static members from nested classes, justJohn McCall
because I was thinking about it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78262 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Update for LLVM API change.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Refactor some bits.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Add another test for a recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Calculate the primary base class better and use that when laying downMike Stump
the vtable. Still a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05A blank line to separate the two blocks(per Mike comment).Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Fix -fno-omit-frame-pointer bug Eli noticed.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Modified test case to use FileCheck.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78231 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Get rid of "smart" quotes. Per report on cfe-dev.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Use feedback from RegionStoreSubRegionMap::add() to prune off adding a superTed Kremenek
region to the worklist used to create the subregion map. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78228 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Fix canonical type construction for function types with the noreturnDouglas Gregor
attribute. Fixes PR4865. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Handle destruction of temporaries used in default argumentFariborz Jahanian
construction of constructor calls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78222 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Patch to improve ir-gen for constructors with default argumentFariborz Jahanian
expressions and a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Translate -mcmodel=X to -code-model X and pass it to clang-cc. Patch by ↵Benjamin Kramer
Pawel Worach! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78190 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Add support for the -fno-omit-frame-pointer option. Patch by Roman Divacky!Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78188 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Fix a comment that trailed offDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Introduce the canonical type smart pointers, and use them in a few places toDouglas Gregor
tighten up the static type system. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78164 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Fix a bug in RegionStoreSubRegionManager::add() where multiple subregions ↵Ted Kremenek
wouldn't correctly get registered in the SubRegion map. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78162 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05cgobjcgnu was making invalid common globals.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78161 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05weak globals that are const should get weak_odr linkage.Chris Lattner
add a fixme about C++ const. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78159 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05rdar://7119244 - globals with an explicit section specified don't getChris Lattner
common linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78158 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Add test case.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05If the UnaryOperator has non-location type, use its type to create theZhongxing Xu
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78147 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Remove an unused header.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78140 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Support for use of default argument in constructors.Fariborz Jahanian
work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78132 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Move the template instantiation logic for template arguments into theDouglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04vtable building for simple inheritance. Still in progress.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Canonicalize else.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78102 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Test cases for some recent work.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78100 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Will I ever get used to CamelCase? Will I ever like capitols forMike Stump
random variables? --This line, and those below, will be ignored-- M lib/CodeGen/CGCXX.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78094 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Add armv7 support.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78092 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Revert the fix for PR3800, it broke things.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Renable "html" indexing by default.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78077 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Some code refactoring. Be more generous in issuance of warningFariborz Jahanian
on method type mismatches per Chris's comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Refactor template instantiation for types into a generic treeDouglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Simplify alignment handling in the record builder.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04lit: Some sample tests, for testing the testerDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Fix test case for Darwin10 (which sets ssp), and move to CodeGen/Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78049 91177308-0d34-0410-b5e6-96231b3b80d8