summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* PR16091: Error when attempting to emit debug info for undeduced auto return ↵David Blaikie2013-05-241-2/+7
| | | | | | | | | | | | types Perhaps we should just suppress this, rather than erroring, but since we have the infrastructure for it I figured I'd use it - if this is determined to be not the right thing we should probably remove that infrastructure entirely. I guess it's lying around from the early days of implementing debug info support. llvm-svn: 182673
* Debug Info: Handle function/method types using the most specific typeDavid Blaikie2013-05-221-10/+10
| | | | llvm-svn: 182533
* Comment and cleanup.Adrian Prantl2013-05-221-5/+7
| | | | | | rdar://problem/13359718 llvm-svn: 182524
* Bugfix for r181629:Adrian Prantl2013-05-221-2/+4
| | | | | | | | | - The return type should be a pointer to the class type. - Make the condition more specific. rdar://problem/13359718 llvm-svn: 182504
* Debug Info: Simplify the code changed in r182403 to reduce indent & avoid a ↵David Blaikie2013-05-211-15/+14
| | | | | | duplicate lookup in the insertion case llvm-svn: 182404
* Debug Info: don't bother reinserting elements into maps we just retrieved ↵David Blaikie2013-05-211-5/+6
| | | | | | | | them from (no intended behavior change) llvm-svn: 182403
* Fix whitespaceDavid Blaikie2013-05-211-8/+6
| | | | llvm-svn: 182400
* PR14606: Debug Info for namespace aliases/DW_TAG_imported_moduleDavid Blaikie2013-05-201-0/+24
| | | | | | | | | This resolves the last of the PR14606 failures in the GDB 7.5 test suite. (but there are still unresolved issues in the imported_decl case - we need to implement optional/lazy decls for functions & variables like we already do for types) llvm-svn: 182329
* Revert "Revert "Debug Info: Using declarations/DW_TAG_imported_declaration ↵David Blaikie2013-05-201-9/+56
| | | | | | | | | | | | | | | | | | | | | of variables, types, and functions."" This reverts commit r181947 (git d2990ce56a16050cac0d7937ec9919ff54c6df62 ) This addresses one of the two issues identified in r181947, ensuring that types imported via using declarations only result in a declaration being emitted for the type, not a definition. The second issue (emitting using declarations that are unused) is hopefully an acceptable increase as the real fix for this would be a bit difficult (probably at best we could record which using directives were involved in lookups - but may not have been the result of the lookup). This also ensures that DW_TAG_imported_declarations (& directives) are not emitted in line-tables-only mode as well as ensuring that typedefs only require/emit declarations (rather than definitions) for referenced types. llvm-svn: 182231
* Drop the const from the isa test.Adrian Prantl2013-05-171-1/+1
| | | | llvm-svn: 182178
* ObjC Debug Info: Emit the correct method names for accessors forAdrian Prantl2013-05-171-0/+7
| | | | | | | | properties declared in a protocol. rdar://problem/13798000 llvm-svn: 182176
* 80-columns.Eric Christopher2013-05-161-12/+23
| | | | llvm-svn: 181965
* Replace a pile of calls with an instance variable that's setEric Christopher2013-05-161-16/+17
| | | | | | once. Should be no functional change. llvm-svn: 181964
* Whitespace.Eric Christopher2013-05-161-100/+100
| | | | llvm-svn: 181960
* Revert "Debug Info: Using declarations/DW_TAG_imported_declaration of ↵David Blaikie2013-05-151-50/+7
| | | | | | | | | | | | | variables, types, and functions." This reverts commit r181393 (git 3923d6a87fe7b2c91cc4a7dbd90c4ec7e2316bcd). This seems to be emitting too much extra debug info for two (known) reasons: * full class definitions are emitted when only declarations are expected * unused using declarations still produce DW_TAG_imported_declarations llvm-svn: 181947
* PR15956: Debug Info: Include the appropriate file location in types created ↵David Blaikie2013-05-141-2/+4
| | | | | | | | | due to using declarations We might benefit from API refactoring here (why pass in a value that's derived from another parameter?) but this is the immediate issue. llvm-svn: 181747
* Debug Info: PR14992: Support values for non-type template parameters of ↵David Blaikie2013-05-131-1/+3
| | | | | | function type llvm-svn: 181685
* Debug Info: Comment changes in r181393 by request of echristoDavid Blaikie2013-05-121-0/+11
| | | | llvm-svn: 181672
* Debug Info: correct commentDavid Blaikie2013-05-101-1/+1
| | | | | | Eric's code review feedback to r181644 llvm-svn: 181650
* Debug Info: Silently accept template argument packsDavid Blaikie2013-05-101-1/+3
| | | | | | | | We could support the GCC extension DW_TAG_GNU_template_parameter_pack if we're feeling adventurous, at some point - but I don't think GDB's doing anything useful with it yet anyway. llvm-svn: 181644
* PR14992: Debug Info: Support more non-type template parametersDavid Blaikie2013-05-101-5/+77
| | | | | | | | | | | | | | | | | * Provide DW_TAG_template_value_parameter for pointers, function pointers, member pointers, and member function pointers (still missing support for template template parameters which GCC encodes as a DW_TAG_GNU_template_template_param) * Provide values for all but the (member & non-member) function pointer case. Simple constant integer values for member pointers (offset within the object) and address for the value pointer case. GCC doesn't provide a value for the member function pointer case so I'm not sure how, if at all, GDB supports encoding that. & non-member function pointers should follow shortly in a subsequent patch. * Null pointer value encodings of all of these types, including correctly encoding null data member pointers as -1. llvm-svn: 181634
* ObjC debug info: Substitute the class type for methods that returnAdrian Prantl2013-05-101-1/+4
| | | | | | | | a related type (e.g., if they use the instancetype keyword). rdar://problem/13359718 llvm-svn: 181629
* Debug Info: Remove unnecessary check for dependent array typesDavid Blaikie2013-05-091-1/+1
| | | | | | | | | | This was added, untested (though the relevant crash was tested), in r128725/PR9600. Removing it doesn't cause failures & nothing I can imagine could cause this check to ever return 'true' (we should never be dealing with dependent types here). The subsequent change to check "isIncompleteType" (r128855/PR9608) makes a lot more sense. llvm-svn: 181542
* typoAdrian Prantl2013-05-081-1/+1
| | | | llvm-svn: 181485
* Debug Info: Using declarations/DW_TAG_imported_declaration of variables, ↵David Blaikie2013-05-081-7/+37
| | | | | | | | | | | | types, and functions. Basic support is implemented here - it still doesn't account for declared-but-not-defined variables or functions. It cannot handle out of order (declared, 'using', then defined) cases for variables, but can handle that for functions (& can handle declared, 'using'd, and not defined at all cases for types). llvm-svn: 181393
* DebugInfo: Support imported modules (using directives) within lexical blocks.David Blaikie2013-05-061-2/+5
| | | | llvm-svn: 181272
* Revert 180817 because 180816 was reverted.Adrian Prantl2013-04-301-0/+16
| | | | llvm-svn: 180823
* Do not generate VLAs as complex variables any more, as they are nowAdrian Prantl2013-04-301-16/+0
| | | | | | | | | | correctly represented as breg+0 locations in the backend. (Paired commit with LLVM: r180815) rdar://problem/13658587 llvm-svn: 180817
* Revert "Revert "PR14606: Debug info for using ↵David Blaikie2013-04-221-0/+7
| | | | | | | | directives/DW_TAG_imported_module"" This reverts commit 179839 now that the corresponding LLVM patch has been fixed. llvm-svn: 179997
* Emit the underlying type in the debug info for all kinds of fixed enumsAdrian Prantl2013-04-191-1/+1
| | | | | | | | instead of only C++11-scoped-with-class-tag enums. rdar://problem/13463793 llvm-svn: 179879
* Revert "PR14606: Debug info for using directives/DW_TAG_imported_module"Eric Christopher2013-04-191-7/+0
| | | | | | This reverts commit r179837 as it seems to be causing test failures. llvm-svn: 179839
* PR14606: Debug info for using directives/DW_TAG_imported_moduleDavid Blaikie2013-04-191-0/+7
| | | | | | More changes later for using declarations/DW_TAG_imported_declaration. llvm-svn: 179837
* Give CGDebugInfo::getContextDescriptor a more specific return typeDavid Blaikie2013-04-191-9/+6
| | | | | | | Not that the DI* hierarchy is terribly type safe, but this makes the contract a little clearer I think. llvm-svn: 179835
* Standardize accesses to the TargetInfo in IR-gen.John McCall2013-04-161-4/+4
| | | | | | Patch by Stephen Lin! llvm-svn: 179638
* Revert "Revert r178079, it caused PR15637."Eric Christopher2013-04-021-34/+16
| | | | | | | | This reverts commit r178497 since the backend has been fixed. Also add a test to ensure that we're emitting template information for unions. llvm-svn: 178587
* Revert r178079, it caused PR15637.Nico Weber2013-04-011-15/+33
| | | | | | Also add a test for PR15637. llvm-svn: 178497
* Bugfix/Followup for r177086.Adrian Prantl2013-03-291-2/+4
| | | | | | | | | * Store the .block_descriptor (instead of self) in the alloca so we can guarantee that all captured variables are available at -O0. * Add the missing OpDeref for the alloca. rdar://problem/12767564 llvm-svn: 178361
* Improvement on r177086.Adrian Prantl2013-03-291-3/+17
| | | | | | | | * Let DIType for block-captured self to point to the completed cached interface type. rdar://problem/12767564 llvm-svn: 178360
* Remove magic number usage from CGDebugInfo with new ↵David Blaikie2013-03-261-8/+7
| | | | | | DICompositeType::setContainingType llvm-svn: 178092
* Debug Info: remove use of magic numbers to tweak specific debug info ↵David Blaikie2013-03-261-33/+15
| | | | | | metadata fields llvm-svn: 178079
* Make clang emit linkage names in debug info for subprograms when coverage infoNick Lewycky2013-03-201-2/+7
| | | | | | | is enabled. Also add a new -test-coverage cc1 flag which makes testing coverage possible and add our first clang-side coverage test. llvm-svn: 177470
* Always declare the .block_descriptor parameter, not just the local copy.Adrian Prantl2013-03-141-9/+10
| | | | | | Un-breaks gdb's invoke-block behavior. llvm-svn: 177118
* Allocate stack storage for .block_descriptor and captured self at -O0.Adrian Prantl2013-03-141-10/+16
| | | | | | | | | This way the register allocator will not optimize away the debug info for captured variables. Fixes rdar://problem/12767564 llvm-svn: 177086
* Force column info to be generated for call expressions so we canAdrian Prantl2013-03-121-11/+13
| | | | | | | | | differentiate multiple inlined call sites on the same line in the debug info. Fixes rdar://problem/13036237 llvm-svn: 176895
* Improve the caching of debuginfo Objective C interface types.Adrian Prantl2013-03-111-27/+59
| | | | | | | | Generate forward declarations that are RAUW'd by finalize(). We thus avoid outputting the same type several times in multiple stages of completion. llvm-svn: 176820
* Ensure that DIType is regenerated after we visit an implementationAdrian Prantl2013-03-061-6/+57
| | | | | | | | | | that adds ivars to an interface. Fixes rdar://13175234 This is an update to r176116 that performs a smart caching of interfaces. llvm-svn: 176584
* Temporarily revert r176116 for compile-time performance regression.Adrian Prantl2013-02-271-28/+2
| | | | | | This reverts commit ea95e4587fd13606fbf63b10a07a7d02026aa39c. llvm-svn: 176151
* Ensure that DIType is regenerated after we visited an implementation that ↵Adrian Prantl2013-02-261-2/+28
| | | | | | adds ivars to an interface. Fixes rdar://13175234 llvm-svn: 176116
* Update Clang for a minor DIBuilder breaking change.David Blaikie2013-02-251-10/+9
| | | | llvm-svn: 176003
* Propagate the split dwarf file information through into the backendEric Christopher2013-02-221-1/+8
| | | | | | | | | and through to the debug info in the module. In order to make the testcase a bit more efficient allow the filename to go through compilation for compile and not assemble jobs and turn off the extract for cases where we don't create an object. llvm-svn: 175935
OpenPOWER on IntegriCloud