aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-08-07Add rbegin and rend for virtual bases, might come in handy some day.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Fix: <rdar://problem/7075531> static analyzer wrongly detects unused ivars ↵Ted Kremenek
used in blocks git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78409 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Constify some pointers. No functionality change.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78407 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07More synthesis of copy constructors. Work in progress.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Fix typo.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78401 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Add ability to generate vcall offsets for primary virtual base.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Use the correct cast kind as suggested by Doug.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78395 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Fix some const_cast issues. This is the beginning of the rabbit hole.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78393 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07PR3333: warn when shifting by invalid amountRyan Flynn
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Separate Stmt::Destroy into the entrypoint for destroying a statementDouglas Gregor
or expression (Destroy) from the virtual function used to actually destroy a given expression (DoDestroy). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07add support for opensuse 11.1/11.2 search paths, patch by Stefan ReinauerChris Lattner
and Carl-Daniel Hailfinger! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Add support for vcall generation for vtables for virtual bases. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Patch toward synthesizing copy constructors.Fariborz Jahanian
Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix a few more false positives involving RegionStore and unions, but this timeTed Kremenek
with array accesses. In the process, refactor some common logic in RetrieveElement() and RetrieveField() into RetrieveFieldOrElementCommon(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Minor refactoring to introduce a new transformation function,Douglas Gregor
TransformStmt, into the tree transformer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78347 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Almost forgot to turn on 32-bit test.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Testcase for recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78344 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Also generate the rtti field for virtual bases for vtables. Turn onMike Stump
rtti so we can properly test it. Refactor code a little. Still a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78343 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix a couple false positive "uninitialized value" warnings with RegionStoreTed Kremenek
involving reasoning about unions (which we don't handle yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78342 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Drop the friend-inner-class diagnostic from an extwarn to an ext and don'tJohn McCall
guard its report on GNUMode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78338 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Add a simple tool for comparing two static analyzer runs, primarily for use fromDaniel Dunbar
buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78336 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Permit a class to friend its members in C++0x, without restriction.John McCall
Permit a class to friend its class members in C++ 98, as long as extensions are enabled (and even when they aren't, only give an extwarn about it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78332 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Set and use Elidable in elimination of copy ctors.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78331 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Layout the primary base first in the vtable.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78327 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06After reporting ill-formed copy constructor(12.8.p3)Fariborz Jahanian
don't recurs and crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78323 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06s/ccc/clang/Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78320 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06When we encounter a dependent type that was parsed before we know thatDouglas Gregor
we were going to enter into the scope of a class template or class template partial specialization, rebuild that type so that it can refer to members of the current instantiation, as in code like template<typename T> struct X { typedef T* pointer; pointer data(); }; template<typename T> typename X<T>::pointer X<T>::data() { ... } Without rebuilding the return type of this out-of-line definition, the canonical return type of the out-of-line definition (a TypenameType) will not match the canonical return type of the declaration (the canonical type of T*). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78316 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06More layout for virtual tables for virtual bases. Still in progress.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78314 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Let's remember we want better codegen for these.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Testcase for a recent checkin for vbase layout ordering. I hate toMike Stump
optimize and check for non-optimal code, but until the frontend is as powerful as fold... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78309 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Layout virtual bases. Work in progress.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Add link to LLVM's Getting Started page.Anton Korobeynikov
Patch by John Thompson! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78307 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Silence gcc warning about non-virtual destructors.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78306 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06I have a dream, one day, we won't need to do this.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78305 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix spell-o.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78303 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06I forgot adding this header for r78298.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Last step of template cleanup: merge *BuilderImpl to *Builder.Zhongxing Xu
Some Builders need further cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78301 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Core analysis engine template cleanup step 2:Zhongxing Xu
merge GRCoreEngineImpl and GRCoreEngine. Introduce a new interface class GRSubEngine as the subengine of GRCoreEngine. GRExprEngine subclasses GRSubEngine now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78298 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix comment.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78296 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Implement transformation of template names within the generic treeDouglas Gregor
transform, then use the result for template instantiation. The generic transformation fixes a few issues: - It copes better with template template parameters and member templates (when they're implemented). - The logic used to replace template template parameters with their arguments is now centralized in TransformDecl, so that it will apply for other declaration-instantiation steps. - The error-recovery strategy is normalized now, so that any error results in a NULL TemplateName. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Core analysis engine template cleanup step 2: Zhongxing Xu
merge ExplodedGraphImpl and ExplodedGraph. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78291 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Update test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78290 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Implement transformation of nested-name-specifiers within the generalDouglas Gregor
tree transformation. Template instantiation uses this general transformation rather than implementing its own transformation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78286 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Fix typo reported in <rdar://problem/7121409>.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78285 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Refactor RegionStoreManager::RemoveDeadBindings to also scan the bindings of ↵Ted Kremenek
LazyCompoundSVals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78284 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Predefine __cplusplus to the right value (199711L), except when in GNU mode.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78283 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Remove unimplemented methods 'AddRegionView' and 'RemoveRegionView'. They ↵Ted Kremenek
are no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06When profiling an ExplodedNode, don't re-profile the state: they haveTed Kremenek
already been uniqued. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78279 91177308-0d34-0410-b5e6-96231b3b80d8
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