aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-11Add tentative support for accessing local variables withFariborz Jahanian
external linkage (static, extern, etc.) in blocks in rewriter. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98265 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11fix PR6433, crash on va_arg of typedef.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98264 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Driver: Free Action objects.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98263 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Driver: Free synthesized derived arguments.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98262 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Driver: Free jobs in JobList and PipedJob instances.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98259 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Use the new vtable layout code for computing virtual base offset offsets.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98257 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Correctly mangle address of member in template arguments. Fixes PR6460Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98254 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Fix a self-host problem caused by this over-eager assertion. I'm not sureJohn McCall
there's a good equivalent that's actually true, unfortunately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Maintain type source information for functions through templateJohn McCall
instantiation. Based on a patch by Enea Zaffanella! I found a way to reduce some of the redundancy between TreeTransform's "standard" FunctionProtoType transformation and TemplateInstantiator's override, and I killed off the old SubstFunctionType by adding type source info for the last cases where we were creating FunctionDecls without TSI (at least that get passed through template instantiation). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98252 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Split C++ friend declarations into their own header/implementation file.John McCall
I'm expecting this portion of the AST to grow and change, and I'd like to be able to do that with minimal recompilation. If this proves unnecessary when access control is fully-implemented, I'll fold the classes back into DeclCXX.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98249 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect ↵Anders Carlsson
what it actually does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98248 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11When possible, use the vbase offset offsets from the most derived class ↵Anders Carlsson
directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98247 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Add a test.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98246 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Keep track of, and dump, vbase offset offsets.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98245 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Fix tests.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98242 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Run the new vtable builder for construction vtables as well now. Note that ↵Anders Carlsson
we still don't use the data it generates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98239 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11More record layout builder cleanup and simplification.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98238 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Get rid of the PrimaryBase parameter from LayoutVirtualBases.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98233 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11More cleanup towards fixing the real bug.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98232 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Replace the class offset vectors in RecordLayoutBuilder with maps instead so ↵Anders Carlsson
we'll have faster lookup and so we can detect duplicates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98231 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11More cleanup.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98230 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11More record layout builder cleanup.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98229 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Assert that primary bases always have offset 0.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Remove unused 'IVars' field from ObjCInterfaceDecl. That functionalityTed Kremenek
has migrated to DeclContext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already ↵Anders Carlsson
there as a member variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98211 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11More cleanup and simplification of the record layout builder.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98208 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Support PPC-32 DWARF EH intrinisics. Thanks to rdivacky for his assistance.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98206 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10set alignment on static locals properly, patch by Arnaud de Grandmaison!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98204 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Get rid of the LayoutBaseNonVirtually; it was used to lay out a base either ↵Anders Carlsson
as a non-virtual base or a virtual base. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98198 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10More shuffling.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Cleanups, no functionality change yet.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10add DESTDIR support for clang headers, PR6556.Chris Lattner
Patch by Matthias Klose! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98192 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Fix calculation of whether a member function needs a thunk in construction ↵Anders Carlsson
vtables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98191 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Change the 'super' messaging API in the rewriter.Fariborz Jahanian
Fixes radar 7738452. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98190 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Suppress the tag when printing an ElaboratedType if the language optionsJohn McCall
claim this is C. We don't make ElaboratedTypes in C, but sometimes the language options during pretty-print lie to us. The rewriter should really be fixed to not rely on how types are pretty-printed, though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98189 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10We were mistakenly marking morally virtual bases as being uninteresting. Fix ↵Anders Carlsson
this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98180 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Ignore non-interesting bases when emitting construction vtables.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98177 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Simplify assertion.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98176 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Remove '#if 0' code. Lazy compound values have proven their worth.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98175 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Fix -Wsign-compare warnings reported by clang++.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Fix -Wsign-compare warning reported by clang++.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98170 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Remove the subregion map cache. It is no longer used.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98161 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Fix stale comment.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98160 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Really apply (unnoticed weird git-svn merge conflict in 98144): Refactor ↵Ted Kremenek
RegionStore::RemoveDeadBindings to use the same core cluster analysis algorithm as RegionStore::InvalidateRegions(). Beyond simplifying the algorithm significantly, we no longer need to build subregion maps in RemoveDeadBindings(). This and other changes cause a significant speedup: the time to analyze sqlite3.c (single core) drops by 14%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98159 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Move test and also test codegen.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98154 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10When pretty-printing tag types, only print the tag if we're in C (andJohn McCall
therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98149 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Refactor RegionStore::RemoveDeadBindings to use the same coreTed Kremenek
cluster analysis algorithm as RegionStore::InvalidateRegions(). Beyond simplifying the algorithm significantly, we no longer need to build subregion maps in RemoveDeadBindings(). This and other changes cause a significant speedup: the time to analyze sqlite3.c (single core) drops by 14%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98144 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Refactor some of RegionStore's InvalidateRegionsWorker classTed Kremenek
into a 'ClusterAnalysis' parent class. The idea is to potentially reuse this for reworking RemoveDeadBindings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98143 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10Add newline.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98140 91177308-0d34-0410-b5e6-96231b3b80d8