| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 182533
|
|
|
|
|
|
| |
rdar://problem/13359718
llvm-svn: 182524
|
|
|
|
|
|
|
|
|
| |
- The return type should be a pointer to the class type.
- Make the condition more specific.
rdar://problem/13359718
llvm-svn: 182504
|
|
|
|
|
|
| |
duplicate lookup in the insertion case
llvm-svn: 182404
|
|
|
|
|
|
|
|
| |
them from
(no intended behavior change)
llvm-svn: 182403
|
|
|
|
| |
llvm-svn: 182400
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 182178
|
|
|
|
|
|
|
|
| |
properties declared in a protocol.
rdar://problem/13798000
llvm-svn: 182176
|
|
|
|
| |
llvm-svn: 181965
|
|
|
|
|
|
| |
once. Should be no functional change.
llvm-svn: 181964
|
|
|
|
| |
llvm-svn: 181960
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
function type
llvm-svn: 181685
|
|
|
|
| |
llvm-svn: 181672
|
|
|
|
|
|
| |
Eric's code review feedback to r181644
llvm-svn: 181650
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
a related type (e.g., if they use the instancetype keyword).
rdar://problem/13359718
llvm-svn: 181629
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 181485
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 181272
|
|
|
|
| |
llvm-svn: 180823
|
|
|
|
|
|
|
|
|
|
| |
correctly represented as breg+0 locations in the backend.
(Paired commit with LLVM: r180815)
rdar://problem/13658587
llvm-svn: 180817
|
|
|
|
|
|
|
|
| |
directives/DW_TAG_imported_module""
This reverts commit 179839 now that the corresponding LLVM patch has been fixed.
llvm-svn: 179997
|
|
|
|
|
|
|
|
| |
instead of only C++11-scoped-with-class-tag enums.
rdar://problem/13463793
llvm-svn: 179879
|
|
|
|
|
|
| |
This reverts commit r179837 as it seems to be causing test failures.
llvm-svn: 179839
|
|
|
|
|
|
| |
More changes later for using declarations/DW_TAG_imported_declaration.
llvm-svn: 179837
|
|
|
|
|
|
|
| |
Not that the DI* hierarchy is terribly type safe, but this makes the contract a
little clearer I think.
llvm-svn: 179835
|
|
|
|
|
|
| |
Patch by Stephen Lin!
llvm-svn: 179638
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also add a test for PR15637.
llvm-svn: 178497
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* Let DIType for block-captured self to point to the completed cached
interface type.
rdar://problem/12767564
llvm-svn: 178360
|
|
|
|
|
|
| |
DICompositeType::setContainingType
llvm-svn: 178092
|
|
|
|
|
|
| |
metadata fields
llvm-svn: 178079
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Un-breaks gdb's invoke-block behavior.
llvm-svn: 177118
|
|
|
|
|
|
|
|
|
| |
This way the register allocator will not optimize away the debug info
for captured variables.
Fixes rdar://problem/12767564
llvm-svn: 177086
|
|
|
|
|
|
|
|
|
| |
differentiate multiple inlined call sites on the same line
in the debug info.
Fixes rdar://problem/13036237
llvm-svn: 176895
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This reverts commit ea95e4587fd13606fbf63b10a07a7d02026aa39c.
llvm-svn: 176151
|
|
|
|
|
|
| |
adds ivars to an interface. Fixes rdar://13175234
llvm-svn: 176116
|
|
|
|
| |
llvm-svn: 176003
|
|
|
|
|
|
|
|
|
| |
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
|