summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/ModuleDebugInfo.m
Commit message (Collapse)AuthorAgeFilesLines
* Debug Info: Set the MainFileName when generating -gmodules debug info for PCM.Adrian Prantl2017-07-181-2/+4
| | | | | | | Previously it was uninitialized and thus always defaulted to "<stdin>". This is mostly a cosmetic change that helps making the debug info more readable. llvm-svn: 308397
* Remove 24 instances of 'REQUIRES: shell'Reid Kleckner2016-10-201-1/+1
| | | | | | | | | | | | | | | | | Tests fall into one of the following categories: - The requirement was unnecessary - Additional quoting was required for backslashes in paths (see "sed -e 's/\\/\\\\/g'") in the sanitizer tests. - OpenMP used 'REQUIRES: shell' as a proxy for the test failing on Windows. Those tests fail there reliably, so use XFAIL instead. I tried not to remove shell requirements that were added to suppress flaky test failures, but if I screwed up, we can add it back as needed. llvm-svn: 284793
* Module Debugging: Emit the canonical debug info for Objective-C classesAdrian Prantl2016-04-201-2/+5
| | | | | | | | | | | | | in the compile unit that contains their implementation even if their interface is declared in a module. The private @implementation of an @interface may have additional hidden ivars so we should not defer to the public version of the type that is found in the module. <rdar://problem/25541798> llvm-svn: 266937
* DebugInfo: Make DICompositeTypes distinct most of the timeDuncan P. N. Exon Smith2016-04-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since elements of most kinds of DICompositeType have back references, most are involved in uniquing cycles. Except via the ODR 'identifier:' field, which doesn't care about the storage type (see r266549), they have no hope of being uniqued. Distinct nodes are far more efficient, so use them for most kinds of DICompositeType definitions (i.e., when DIType::isForwardDecl is false). The exceptions: - DW_TAG_array_type, since their elements never have back-references and they never have ODR 'identifier:' fields; - DW_TAG_enumeration_type when there is no ODR 'identifier:' field, since their elements usually don't have back-references. This breaks the last major uniquing cycle I'm aware of in the debug info graph. The impact won't be enormous for C++ because references to ODR-uniqued nodes still use string-based DITypeRefs; but this should prevent a regression in C++ when we drop the string-based references. This wouldn't have been reasonable until r266549, when composite types stopped relying on being uniqued by structural equivalence to prevent blow-ups at LTO time. llvm-svn: 266556
* Update to match LLVM changes for PR27284.Adrian Prantl2016-04-151-17/+14
| | | | | | | | | (Reverse the ownership between DICompileUnit and DISubprogram.) http://reviews.llvm.org/D19034 <rdar://problem/25256815> llvm-svn: 266445
* Remove some unnecessary CHECK-SAMEs in ModuleDebugInfo.{cpp,m}.Justin Lebar2016-02-101-1/+0
| | | | | | Suggested by Paul Robinson. llvm-svn: 260346
* Get rid of CHECK-SAME-NOT in tests.Justin Lebar2016-02-101-5/+10
| | | | | | | | | | | | Summary: This isn't a FileCheck directive; it does nothing. Reviewers: jroelofs Subscribers: cfe-commits, majnemer Differential Revision: http://reviews.llvm.org/D17051 llvm-svn: 260334
* Module Debugging: Canonicalize the file names used as PCH module namesAdrian Prantl2016-01-221-1/+1
| | | | | | | | | | | by stripping the path. Follow-up to r258555. This is safe because only one PCH per CU is currently supported for module debugging. rdar://problem/24301262 llvm-svn: 258582
* Module debugging: Create a parent DIModule with the PCH name for typesAdrian Prantl2016-01-221-45/+50
| | | | | | | | | emitted into a precompiled header to mirror the debug info emitted for object files importing the PCH. rdar://problem/24290667 llvm-svn: 258555
* Module Debugging: Add Objective-C testcases for anonymous tag decls. (NFC)Adrian Prantl2016-01-191-0/+33
| | | | | | rdar://problem/24199640 llvm-svn: 258252
* Stop back-patching 'readonly' Objective-C properties with 'readwrite' ones.Douglas Gregor2015-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A 'readonly' Objective-C property declared in the primary class can effectively be shadowed by a 'readwrite' property declared within an extension of that class, so long as the types and attributes of the two property declarations are compatible. Previously, this functionality was implemented by back-patching the original 'readonly' property to make it 'readwrite', destroying source information and causing some hideously redundant, incorrect code. Simplify the implementation to express how this should actually be modeled: as a separate property declaration in the extension that shadows (via the name lookup rules) the declaration in the primary class. While here, correct some broken Fix-Its, eliminate a pile of redundant code, clean up the ARC migrator's handling of properties declared in extensions, and fix debug info's naming of methods that come from categories. A wonderous side effect of doing this write is that it eliminates the "AddedObjCPropertyInClassExtension" method from the AST mutation listener, which in turn eliminates the last place where we rewrite entire declarations in a chained PCH file or a module file. This change (which fixes rdar://problem/18475765) will allow us to eliminate the rewritten-decls logic from the serialization library, and fixes a crash (rdar://problem/23247794) illustrated by the test/PCH/chain-categories.m example. llvm-svn: 251874
* Fixup this testcase after r251120.Adrian Prantl2015-10-231-3/+5
| | | | | | I accidentally tested r251120 with assertions disabled. llvm-svn: 251126
* Module Debugging: Emit module debug info for types inside of Objective-CAdrian Prantl2015-10-231-0/+1
| | | | | | | | containers. rdar://problem/23196170 llvm-svn: 251120
* Module Debugging: Emit (ObjC) function declarations in the module scopeAdrian Prantl2015-10-041-0/+2
| | | | | | when building a module. llvm-svn: 249282
* Module debugging: Don't emit forward declarations in module scopes.Adrian Prantl2015-10-021-0/+3
| | | | | | A forward declaration inside a module header does not belong to the module. llvm-svn: 249157
* Break long lines for readability.Adrian Prantl2015-10-021-2/+7
| | | | llvm-svn: 249156
* Module debugging: Also emit Objective-C interfaces forward declarationsAdrian Prantl2015-10-011-1/+6
| | | | | | in their module scope when building a clang module. llvm-svn: 249031
* Module debugging: Emit Objective-C interfaces in their module scope whenAdrian Prantl2015-10-011-1/+8
| | | | | | building a clang module. llvm-svn: 248974
* Module Debugging: Use the clang module signature as the module's dwo_idAdrian Prantl2015-09-221-1/+0
| | | | | | | | | | | when building a module. Clang already records the module signature when building a skeleton CU to reference a clang module. Matching the id in the skeleton with the one in the module allows a DWARF consumer to verify that they found the correct version of the module without them needing to know about the clang module format. llvm-svn: 248345
* Module Debugging: Emit debug type information into clang ObjC modules.Adrian Prantl2015-09-081-0/+27
When -fmodule-format is set to "obj", emit debug info for all types declared in a module or referenced by a declaration into the module's object file container. This patch adds support for Objective-C types and methods. llvm-svn: 247068
OpenPOWER on IntegriCloud