summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* static functions have a need for mangled name debug information too.Eric Christopher2012-04-121-3/+4
| | | | | | | | | The mangler doesn't like non-prototyped functions so only use a mangled name for prototyped functions. rdar://11079003 llvm-svn: 154570
* Enable debug info for objective c implementations that may not haveEric Christopher2012-04-111-1/+11
| | | | | | | | an explicit instance variable. rdar://10590352 llvm-svn: 154481
* Only emit the getter and setter names if they're not the defaultEric Christopher2012-04-051-5/+13
| | | | | | | | synthesized ones. Reasonable debug info size reduction for objc. rdar://11179756 llvm-svn: 154129
* Change location information for synthesized properties to be at theEric Christopher2012-04-031-5/+6
| | | | | | | | | | | | | | | | | | property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Use the current scope location as a separate parameter so that we can match it up better in the line table with the beginning of the scope. Update a couple of testcases accordingly since I had to change that we actually use the passed in location in EmitFunctionStart and for the new metadata parameter and add a new testcase to make sure we've got the right line numbers for synthesized properties. Part of rdar://11026482 llvm-svn: 153917
* Revert previous commit changing location information to see if thisEric Christopher2012-03-301-4/+5
| | | | | | is causing the gdb test failures on the bots. llvm-svn: 153727
* Change location information for synthesized properties to be at theEric Christopher2012-03-301-5/+4
| | | | | | | | | | | | | property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Update a couple of testcases accordingly since I had to change that we actually use the passed in location in EmitFunctionStart. Fixes rdar://11026482 llvm-svn: 153714
* Go back to using just the selector name for the getter and setterEric Christopher2012-03-291-8/+13
| | | | | | | | in the property debug info. Any more isn't necessary after all. rdar://11144023 llvm-svn: 153659
* Add support for objc property decls according to the page at:Eric Christopher2012-03-291-17/+22
| | | | | | | | | | | http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the getter and setter names into the fully qualified names. rdar://11144023 llvm-svn: 153640
* Simplify some users of DenseMap::erase.Benjamin Kramer2012-03-241-4/+1
| | | | llvm-svn: 153389
* Update comment.Eric Christopher2012-03-201-2/+1
| | | | llvm-svn: 153149
* Debug info: Tighten up uses of plain MDNode pointers which don't survive ↵Benjamin Kramer2012-03-201-15/+13
| | | | | | | | replaceOperandWith. TrackingVH notices when it gets RAUW'd. Fixes PR12305 and PR12315. llvm-svn: 153115
* Add support to mangle templated member function names with templateEric Christopher2012-03-141-1/+14
| | | | | | | | args. Fixes rdar://11042577 llvm-svn: 152691
* When adding member functions to a class add any specializations ofEric Christopher2012-03-131-9/+22
| | | | | | | | | | | function templates as well. A future commit will mangle the added name with the template args like classes are mangled. Fixes rdar://10986010 llvm-svn: 152683
* Unify naming of LangOptions variable/get function across the Clang stack ↵David Blaikie2012-03-111-10/+10
| | | | | | | | | | (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536
* Reapply r151702 with a small fix for a failure to cut and pasteEric Christopher2012-03-011-30/+61
| | | | | | | | correctly. Still rdar://10900684 llvm-svn: 151838
* Revert r151702, "Add support for handling captured variables in lambda debugDaniel Dunbar2012-02-291-61/+30
| | | | | | info.", which broke some -O0 -g tests. llvm-svn: 151730
* Add support for handling captured variables in lambda debug info.Eric Christopher2012-02-291-30/+61
| | | | | | | | | | | | 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
* ObjcInterfaceTypes are also complete types for the type cache.Eric Christopher2012-02-271-3/+3
| | | | | | Fixes rdar://10934887 llvm-svn: 151519
* Add a quick TODO.Eric Christopher2012-02-231-0/+1
| | | | llvm-svn: 151217
* Formatting.Eric Christopher2012-02-201-6/+6
| | | | llvm-svn: 150996
* Remove the type retaining from the clang frontend. This is nowEric Christopher2012-02-201-4/+6
| | | | | | | | | | 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
* Make forward declarations for objective-c types use the newEric Christopher2012-02-201-17/+14
| | | | | | | temporary forward declaration nodes. Fixes a problem building Chrome. llvm-svn: 150976
* Add in a caching mechanism so that forward declarations are replacedEric Christopher2012-02-181-8/+32
| | | | | | | | with full types if they exist. rdar://10809898 and rdar://10209967 and rdar://10400981 llvm-svn: 150858
* Formatting.Eric Christopher2012-02-181-2/+1
| | | | llvm-svn: 150857
* Remove UpdateCompletedType from the debug info emission. We nowEric Christopher2012-02-181-14/+0
| | | | | | | 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
* Index "12" holds the vtable, not "9".Eric Christopher2012-02-171-1/+1
| | | | | | Fixes lots of gdb testsuite failures. llvm-svn: 150797
* Reapply r150631:Eric Christopher2012-02-161-103/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "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
* Revert "Add a completed/incomplete type difference. This allows us to have"Eric Christopher2012-02-151-175/+66
| | | | | | This reverts commit 9a68d4584afcd0853b930bd80235b58736e785b4. llvm-svn: 150637
* Add a completed/incomplete type difference. This allows us to haveEric Christopher2012-02-151-66/+175
| | | | | | | | | | | | | | | | 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
* Add back in the code to create forward decls using temporary mdnodes.Eric Christopher2012-02-131-13/+14
| | | | llvm-svn: 150390
* Temporarily walk back a few of my recent debug info limiting changesEric Christopher2012-02-131-95/+24
| | | | | | | | while reworking how we handle wanting to emit only parts of structures. Fixes PR11970. llvm-svn: 150388
* Don't cache the artificial type for the this pointer, there's noEric Christopher2012-02-091-5/+7
| | | | | | | | | | | 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
* Constify the getClassName routine and variables that come out of it,Eric Christopher2012-02-081-4/+7
| | | | | | | | and then use it for forward decl names. Part of rdar://10209967 and rdar://10400981 llvm-svn: 150040
* Use the new forward declaration scheme for records. Also add moreEric Christopher2012-02-081-18/+22
| | | | | | | | caching of results after we create them. Fixes rdar://10809898 llvm-svn: 150025
* Remove tabs.Devang Patel2012-02-081-18/+18
| | | | llvm-svn: 150021
* Revert my patches which removed Diagnostic.h includes by moving some ↵Benjamin Kramer2012-02-071-2/+1
| | | | | | | | | | | | | | | | | | 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
* Remove tabs.Devang Patel2012-02-071-5/+5
| | | | llvm-svn: 149996
* Emit debug info for properites that are not backed by an ivar.Devang Patel2012-02-071-19/+21
| | | | llvm-svn: 149995
* simplify a bunch of code to use the well-known LLVM IR types computed by ↵Chris Lattner2012-02-071-2/+2
| | | | | | CodeGenModule. llvm-svn: 149943
* Relax valid location check. This fixes a clang crash while emitting debug ↵Devang Patel2012-02-061-2/+4
| | | | | | info for properties that are synthesized by the compiler by default. llvm-svn: 149929
* Let an ivar directly refer property TAG.Devang Patel2012-02-061-2/+1
| | | | llvm-svn: 149881
* Basic: import SmallString<> into clang namespaceDylan Noblesmith2012-02-051-3/+3
| | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
* Move various diagnostic operator<< overloads out of line and remove includes ↵Benjamin Kramer2012-02-041-1/+2
| | | | | | | | | 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
* Create new tag for the property. This is a work in progress.Devang Patel2012-02-041-1/+7
| | | | llvm-svn: 149734
* unnecessary include of TargetMachine.h?Andrew Trick2012-02-021-1/+0
| | | | llvm-svn: 149638
* r149474 went a bit too far when combined with type caching. If we wantEric Christopher2012-02-011-2/+5
| | | | | | | | | 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
* Remove duplicated comment.Eric Christopher2012-02-011-1/+0
| | | | llvm-svn: 149544
* For pass-by-value record arguments to functions emit a forward declEric Christopher2012-02-011-3/+64
| | | | | | instead of the entire class definition. llvm-svn: 149474
* Use createRecordFwdDecl here since that's what we're doing.Eric Christopher2012-01-261-9/+2
| | | | llvm-svn: 149051
* Revert previous patch unifying all of the C++ record prep in one area,Eric Christopher2012-01-261-6/+11
| | | | | | | | | 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
OpenPOWER on IntegriCloud