| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
types (PR36168)
Differential revision: https://reviews.llvm.org/D42736
llvm-svn: 324900
|
|
|
|
|
|
|
|
| |
(PR36168)"
Revert due to breaking buildbots (LLDB tests)
llvm-svn: 324508
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch:
* fixes an incorrect sign-extension of unsigned values, when emitting
debug info metadata for enumerators
* the enumerators metadata is created with a flag, which determines
interpretation of the value bits (signed or unsigned)
* the enumerations metadata contains the underlying integer type and a
flag, indicating whether this is a C++ "fixed enum"
Differential Revision: https://reviews.llvm.org/D42736
llvm-svn: 324490
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a type is only used as a template parameter and that type is the
only type imported from another #include'd module, no skeleton CU for
that module is generated, so a consumer doesn't know where to find the
type definition. By emitting an import declaration, we can force a
skeleton CU to be generated for each imported module.
rdar://problem/36266156
llvm-svn: 321754
|
|
|
|
|
|
|
|
|
|
| |
This patch adds an early exit to CGDebugInfo::completeClassData() when
compiling with -gmodules and the to-be-completed type is available in
a clang module.
rdar://problem/23599990
llvm-svn: 308938
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
The previous condition would erroneously mark all CXXRecordDecls
that didn't have any fields as being defined in a clang module.
This patch fixes the condition to only apply to explicit template
instantiations.
<rdar://problem/27771823>
llvm-svn: 278952
|
|
|
|
|
|
| |
Another attempt at r276271, hopefully without breaking ModuleDebugInfo test.
llvm-svn: 276317
|
|
|
|
|
|
|
|
|
|
| |
Patch broke ModuleDebugInfo test on the build bots (but not locally). Again.
svn revision: r276271
This reverts commit 9da8a1b05362bc96f2855fb32b5588b89407685d.
llvm-svn: 276279
|
|
|
|
|
|
| |
Unreferenced nested structs and classes were omitted from the debug info. In DWARF, this was intentional, to avoid bloat. But for CodeView, we want this information to be consistent with what Microsoft tools would produce and expect.
llvm-svn: 276271
|
|
|
|
|
|
| |
Thanks again to Richard Smith for pointing this out.
llvm-svn: 267630
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiation is in a module.
This patch fixes the condition for determining whether the debug info for a
template instantiation will exist in an imported clang module by:
- checking whether the ClassTemplateSpecializationDecl is complete and
- checking that the instantiation was in a module by looking at the first field.
I also added a negative check to make sure that a typedef to a forward-declared
template (with the definition outside of the module) is handled correctly.
http://reviews.llvm.org/D19443
rdar://problem/25553724
llvm-svn: 267464
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM stopped using MDString-based type references, and DIBuilder no
longer fills 'retainedTypes:' with every DICompositeType that has an
'identifier:' field. There are just minor changes to keep the same
behaviour in CFE.
Leaving 'retainedTypes:' unfilled has a dramatic impact on the output
order of the IR though. There are a huge number of testcase changes,
which were unfortunately not really scriptable.
llvm-svn: 267297
|
|
|
|
|
|
|
|
|
| |
(Reverse the ownership between DICompileUnit and DISubprogram.)
http://reviews.llvm.org/D19034
<rdar://problem/25256815>
llvm-svn: 266445
|
|
|
|
|
|
|
|
| |
whose DeclContext is not yet complete by deferring their emission.
rdar://problem/24918680
llvm-svn: 262851
|
|
|
|
|
|
| |
Suggested by Paul Robinson.
llvm-svn: 260346
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
variables are visited.
This shouldn't encourage anyone to put global variables into clang modules.
rdar://problem/24199640
llvm-svn: 258250
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 257241
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 256874
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Thanks to dblaikie for spotting this.
llvm-svn: 247303
|
|
|
|
|
|
|
|
| |
ms-targeted builds.
I think DebugInfo tests may avoid MS stuff for now.
llvm-svn: 247093
|
|
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
|