| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
(Lex to AST).
The member variable is always "LangOpts" and the member function is always "getLangOpts".
Reviewed by Chris Lattner
llvm-svn: 152536
|
| |
|
|
|
|
|
|
| |
correctly.
Still rdar://10900684
llvm-svn: 151838
|
| |
|
|
|
|
| |
info.", which broke some -O0 -g tests.
llvm-svn: 151730
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This currently doesn't handle capturing the 'this' pointer for any
enclosing class.
Steal the lambda-expressions.cpp testcase and debugify it and try
to use more variables to proof it against random changes.
Part of rdar://10900684
llvm-svn: 151702
|
| |
|
|
|
|
| |
Fixes rdar://10934887
llvm-svn: 151519
|
| |
|
|
| |
llvm-svn: 151217
|
| |
|
|
| |
llvm-svn: 150996
|
| |
|
|
|
|
|
|
|
|
| |
handled by the caching and rauw. Also fix one cache that wasn't
being added to highlighted by this patch. Update all testcases
accordingly.
This should fix the deall failure.
llvm-svn: 150977
|
| |
|
|
|
|
|
| |
temporary forward declaration nodes. Fixes a problem building
Chrome.
llvm-svn: 150976
|
| |
|
|
|
|
|
|
| |
with full types if they exist.
rdar://10809898 and rdar://10209967 and rdar://10400981
llvm-svn: 150858
|
| |
|
|
| |
llvm-svn: 150857
|
| |
|
|
|
|
|
| |
emit less than complete types on purpose on occasion and so
our caches aren't useful for this kind of lazy emitting.
llvm-svn: 150856
|
| |
|
|
|
|
| |
Fixes lots of gdb testsuite failures.
llvm-svn: 150797
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Add a completed/incomplete type difference. This allows us to have
partial types for contexts and forward decls while allowing us to
complete types later on for debug purposes.
This piggy-backs on the metadata replacement and rauw changes
for temporary nodes and takes advantage of the incremental
support I added in earlier. This allows us to, if we decide,
to limit adding methods and variables to structures in order
to limit the amount of debug information output into a .o file.
The caching is a bit complicated though so any thoughts on
untangling that are welcome."
with a fix:
- Remove all RAUW during type construction by adding stub versions
of types that we later complete.
and some TODOs:
- Add an RAUW cache for forward declared types so that we can replace
them at the end of compilation.
- Remove the code that updates on completed types because we no
longer need to have that happen. We emit incomplete types on
purpose and only want to know when we want to complete them.
llvm-svn: 150752
|
| |
|
|
|
|
| |
This reverts commit 9a68d4584afcd0853b930bd80235b58736e785b4.
llvm-svn: 150637
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
partial types for contexts and forward decls while allowing us to
complete types later on for debug purposes.
This piggy-backs on the metadata replacement and rauw changes
for temporary nodes and takes advantage of the incremental
support I added in earlier. This allows us to, if we decide,
to limit adding methods and variables to structures in order
to limit the amount of debug information output into a .o file.
The caching is a bit complicated though so any thoughts on
untangling that are welcome.
llvm-svn: 150631
|
| |
|
|
| |
llvm-svn: 150390
|
| |
|
|
|
|
|
|
| |
while reworking how we handle wanting to emit only parts of structures.
Fixes PR11970.
llvm-svn: 150388
|
| |
|
|
|
|
|
|
|
|
|
| |
difference in the qual type. This is a workaround for the fact that
the type isn't artificial but the this decl is, however, we don't
have any way of representing it in the current metadata. For now,
however, just don't cache the full type.
Fixes rdar://10831526 and probably a couple of others.
llvm-svn: 150159
|
| |
|
|
|
|
|
|
| |
and then use it for forward decl names.
Part of rdar://10209967 and rdar://10400981
llvm-svn: 150040
|
| |
|
|
|
|
|
|
| |
caching of results after we create them.
Fixes rdar://10809898
llvm-svn: 150025
|
| |
|
|
| |
llvm-svn: 150021
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator overloads out of line.
This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.
This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
llvm-svn: 150006
|
| |
|
|
| |
llvm-svn: 149996
|
| |
|
|
| |
llvm-svn: 149995
|
| |
|
|
|
|
| |
CodeGenModule.
llvm-svn: 149943
|
| |
|
|
|
|
| |
info for properties that are synthesized by the compiler by default.
llvm-svn: 149929
|
| |
|
|
| |
llvm-svn: 149881
|
| |
|
|
|
|
|
| |
(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
llvm-svn: 149799
|
| |
|
|
|
|
|
|
|
| |
of Diagnostic.h.
Fix all the files that depended on transitive includes of Diagnostic.h.
With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer.
llvm-svn: 149781
|
| |
|
|
| |
llvm-svn: 149734
|
| |
|
|
| |
llvm-svn: 149638
|
| |
|
|
|
|
|
|
|
| |
a full type go ahead and emit it if we currently only have a forward
declaration.
Fixes gdb bots for gdb1090.exp and call-ar-st.exp.
llvm-svn: 149560
|
| |
|
|
| |
llvm-svn: 149544
|
| |
|
|
|
|
| |
instead of the entire class definition.
llvm-svn: 149474
|
| |
|
|
| |
llvm-svn: 149051
|
| |
|
|
|
|
|
|
|
| |
the gdb testsuite complains too much about the ordering of items printed,
even if the offsets in the debug info are correct.
This reverts commit 027cb30af828f07750f9185782822297a5c57231.
llvm-svn: 149049
|
| |
|
|
| |
llvm-svn: 149047
|
| |
|
|
| |
llvm-svn: 149015
|
| |
|
|
| |
llvm-svn: 149013
|
| |
|
|
| |
llvm-svn: 149012
|
| |
|
|
| |
llvm-svn: 148982
|
| |
|
|
| |
llvm-svn: 148904
|
| |
|
|
|
|
|
|
|
| |
a forward declaration unless we already have a type. We can fill it in
later if it's actually used.
Fixes PR11345
llvm-svn: 148584
|
| |
|
|
| |
llvm-svn: 148577
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
APValue::Array and APValue::MemberPointer. All APValue values can now be emitted
as constants.
Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other
entrypoints dealing with constant member pointers are no longer necessary and
will be removed in a later change.
Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to
VarDecl::evaluateValue. This performs caching and deals with the nasty cases in
C++11 where a non-const object's initializer can refer indirectly to
previously-initialized fields within the same object.
Building the intermediate APValue object incurs a measurable performance hit on
pathological testcases with huge initializer lists, so we continue to build IR
directly from the Expr nodes for array and record types outside of C++11.
llvm-svn: 148178
|
| |
|
|
| |
llvm-svn: 147989
|
| |
|
|
| |
llvm-svn: 147988
|
| |
|
|
|
|
| |
clients. No functionality change.
llvm-svn: 147318
|
| |
|
|
|
|
|
|
|
| |
declaration for the type then go ahead and use that, it's still smaller
than creating an all new derived type.
Part of rdar://10335756 and others.
llvm-svn: 146779
|