summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/ModuleDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Module Debugging: Fix a crash when emitting debug info for nested tag typesAdrian Prantl2016-03-071-0/+7
| | | | | | | | whose DeclContext is not yet complete by deferring their emission. rdar://problem/24918680 llvm-svn: 262851
* 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-10/+16
| | | | | | | | | | | | 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: Use a nonzero DWO id for precompiled headers.Adrian Prantl2016-01-221-2/+1
| | | | | | | | | | | | | PCH files don't have a module signature and LLVM uses a nonzero DWO id as an indicator for skeleton / module CUs. This change pins the DWO id for PCH files to a known constant value. The correct long-term solution here is to implement a module signature that is an actual dterministic hash (at the moment module signatures are just random nonzero numbers) and then enable this for PCH files as well. <rdar://problem/24290667> llvm-svn: 258507
* Module Debugging: Fine-tune the condition that determines whether a typeAdrian Prantl2016-01-201-0/+4
| | | | | | | | | | | | | can be found in a module. There are externally visible anonymous types that can be found: typedef struct { } s; // I can be found via the typedef. There are anonymous internal types that can be found: namespace { struct s {}; } // I can be found by name. rdar://problem/24199640 llvm-svn: 258272
* Module Debugging: Make sure that anonymous tag decls that define globalAdrian Prantl2016-01-191-0/+16
| | | | | | | | | variables are visited. This shouldn't encourage anyone to put global variables into clang modules. rdar://problem/24199640 llvm-svn: 258250
* Module Debugging: Defer the emission of anonymous tag declsAdrian Prantl2016-01-191-0/+12
| | | | | | | | | | | | | until we are visiting their declcontext. This fixes a regression introduced in r256962: When building debug info for a typdef'd anonymous tag type, we would be visiting the inner anonymous type first thus creating a "typedef changes linkage of anonymous type, but linkage was already computed" error. rdar://problem/24199640 llvm-svn: 258152
* Module debugging: Add a testcase for standalone forward declarations.Adrian Prantl2016-01-091-0/+4
| | | | llvm-svn: 257241
* Module debugging: Defer emitting tag types until their definitionAdrian Prantl2016-01-061-6/+14
| | | | | | | | | was visited and all decls have been merged. We only get a single chance to emit the types for virtual classes because CGDebugInfo::completeRequiredType() categorically doesn't complete them. llvm-svn: 256962
* Fix a typo in testcase and increase its coverage!Adrian Prantl2016-01-051-1/+1
| | | | llvm-svn: 256874
* Stop messing with the 'g' group of options in CompilerInvocation.Douglas Katzman2015-10-081-1/+1
| | | | | | | | | | | | | | | | With this change, most 'g' options are rejected by CompilerInvocation. They remain only as Driver options. The new way to request debug info from cc1 is with "-debug-info-kind={line-tables-only|limited|standalone}" and "-dwarf-version={2|3|4}". In the absence of a command-line option to specify Dwarf version, the Toolchain decides it, rather than placing Toolchain-specific logic in CompilerInvocation. Also fix a bug in the Windows compatibility argument parsing in which the "rightmost argument wins" principle failed. Differential Revision: http://reviews.llvm.org/D13221 llvm-svn: 249655
* Module Debugging: Use the clang module signature as the module's dwo_idAdrian Prantl2015-09-221-1/+3
| | | | | | | | | | | 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
* Debug Info: Remove an unnecessary debug type visitor.Adrian Prantl2015-09-101-3/+4
| | | | | | Thanks to dblaikie for spotting this. llvm-svn: 247303
* clang/test/Modules/ModuleDebugInfo.cpp: Add -triple %itanium to appease ↵NAKAMURA Takumi2015-09-081-2/+2
| | | | | | | | ms-targeted builds. I think DebugInfo tests may avoid MS stuff for now. llvm-svn: 247093
* Module Debugging: Emit debug type information into clang modules.Adrian Prantl2015-09-081-0/+41
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 C and C++ types. llvm-svn: 247049
OpenPOWER on IntegriCloud