#
0ebf1bb1 |
| 30-Aug-2013 |
Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> |
Revert r189649 because it was breaking sanitizer bots.
llvm-svn: 189660
|
#
be8d7ba9 |
| 30-Aug-2013 |
Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> |
Fixing a bug where debug info for a local variable gets emitted at file scope.
The patch was discussed in Phabricator. See: http://llvm-reviews.chandlerc.com/D1281
llvm-svn: 189649
|
#
e0064d8c |
| 29-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: generate a unique identifier for C++ struct, class, union, and enum.
We use CXX mangler to generate unique identifier for external C++ struct, union, class and enum. Types with unique id
Debug Info: generate a unique identifier for C++ struct, class, union, and enum.
We use CXX mangler to generate unique identifier for external C++ struct, union, class and enum. Types with unique identifier are added to retained types by DIBuilder.
Testing cases are updated to reflect the unique identifier generated for types. The order of MDNodes is changed because of retained types and testing cases are updated accordingly.
Testing case debug-info-uuid.cpp now emits error with Itanium mangler, since uuid is not yet handled in Itanium mangler. And it will check for the error message.
llvm-svn: 189622
show more ...
|
#
f801f808 |
| 29-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: this reverts commit r189600.
We had further discussions on how to retain types, whether to do it in front end or in DIBuilder. And we agree to do it in DIBuilder so front ends generating
Debug Info: this reverts commit r189600.
We had further discussions on how to retain types, whether to do it in front end or in DIBuilder. And we agree to do it in DIBuilder so front ends generating unique identifier do not need to worry about retaining them.
llvm-svn: 189609
show more ...
|
#
035c4b02 |
| 29-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: generate a unique identifier for C++ struct, class, union, and enum.
We use CXX mangler to generate unique identifier for external C++ struct, union, class and enum. Types with unique id
Debug Info: generate a unique identifier for C++ struct, class, union, and enum.
We use CXX mangler to generate unique identifier for external C++ struct, union, class and enum. Types with unique identifier are added to RetainedTypes to make sure they are treated as used even when all uses are replaced with the identifiers.
A single type can be added to RetainedTypes multiple times. For example, both createForwardDecl and createLimitedType can add the same type to RetainedTypes. A set is used to avoid duplication when updating AllRetainTypes in DIBuilder.
Testing cases are updated to reflect the unique identifier generated for types. The order of MDNodes is changed because of retained types and testing cases are updated accordingly.
Testing case debug-info-uuid.cpp now emits error with Itanium mangler, since uuid is not yet handled in Itanium mangler.
We choose to update RetainedTypes in clang, then at finalize(), we update AllRetainTypes in DIBuilder. The other choice is to update AllRetainTypes in DIBuilder when creating a DICompositeType with unique identifier. This option requires using ValueHandle for AllRetainTypes in DIBuilder since the created DICompositeType can be modified later on by setContainingType etc.
llvm-svn: 189600
show more ...
|
#
9fdedec4 |
| 16-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Canonicalize namespaces to avoid emitting multiple namespaces with the same name but different lines
Updated test case to not rely on line numbers in more cases (it's hard to use the @ ch
DebugInfo: Canonicalize namespaces to avoid emitting multiple namespaces with the same name but different lines
Updated test case to not rely on line numbers in more cases (it's hard to use the @ check syntax for debug info test cases (due to the interesting ordering of metadata) and this case in particular (given the hash-line directive)) - left a few in there to cover the line number information for these.
llvm-svn: 188585
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
03039fe9 |
| 21-Jun-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: handle the DI asm printing change to reword '[fwd]' as '[decl]' and add '[def]' for non-decl tag types
This is to make test cases looking for definitions more legible by making the defini
DebugInfo: handle the DI asm printing change to reword '[fwd]' as '[decl]' and add '[def]' for non-decl tag types
This is to make test cases looking for definitions more legible by making the definition explicit rather than just the absence of '[fwd]'. This allowed the debug-info-record tests to be rephrased - and in the interests of reducing the number of individual test cases/invocations we have, I merged them into one file, separated them with namespaces (& then moved them to C++ because namespaces are great). If they need to remain 'C' only tests, they can be moved back. (I didn't group them with 'debug-info-class.cpp' because these tests only apply to -fno-limit-debug-info)
I removed the pieces of code that would cause these tests to pass under -flimit-debug-info to ensure the tests remain relevant to their fixes should we ever improve -flimit-debug-info to catch that kind of code.
This commit is version locked with the corresponding change to DebugInfo.h in LLVM. Except some transient buildbot fallout.
llvm-svn: 184524
show more ...
|
#
0ffce6ec |
| 08-Jun-2013 |
Adrian Prantl <aprantl@apple.com> |
Debug info: An if condition now creates a lexical scope of its own. Two variables with the same name declared in two if conditions in the same scope are no longer coalesced into one.
rdar://problem/
Debug info: An if condition now creates a lexical scope of its own. Two variables with the same name declared in two if conditions in the same scope are no longer coalesced into one.
rdar://problem/14024005
llvm-svn: 183597
show more ...
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2 |
|
#
f121b930 |
| 20-May-2013 |
David Blaikie <dblaikie@gmail.com> |
PR14606: Debug Info for namespace aliases/DW_TAG_imported_module
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
PR14606: Debug Info for namespace aliases/DW_TAG_imported_module
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
show more ...
|
#
bd483766 |
| 20-May-2013 |
David Blaikie <dblaikie@gmail.com> |
Revert "Revert "Debug Info: Using declarations/DW_TAG_imported_declaration of variables, types, and functions.""
This reverts commit r181947 (git d2990ce56a16050cac0d7937ec9919ff54c6df62 )
This add
Revert "Revert "Debug Info: Using declarations/DW_TAG_imported_declaration 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
show more ...
|
#
db352814 |
| 15-May-2013 |
David Blaikie <dblaikie@gmail.com> |
Revert "Debug Info: Using declarations/DW_TAG_imported_declaration of variables, types, and functions."
This reverts commit r181393 (git 3923d6a87fe7b2c91cc4a7dbd90c4ec7e2316bcd).
This seems to be
Revert "Debug Info: Using declarations/DW_TAG_imported_declaration of 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
show more ...
|
#
11ecabf4 |
| 14-May-2013 |
David Blaikie <dblaikie@gmail.com> |
PR15956: Debug Info: Include the appropriate file location in types created due to using declarations
We might benefit from API refactoring here (why pass in a value that's derived from another para
PR15956: Debug Info: Include the appropriate file location in types created 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
show more ...
|
Revision tags: llvmorg-3.3.0-rc1 |
|
#
b0b645ca |
| 08-May-2013 |
David Blaikie <dblaikie@gmail.com> |
Debug Info: Using declarations/DW_TAG_imported_declaration of variables, types, and functions.
Basic support is implemented here - it still doesn't account for declared-but-not-defined variables or
Debug Info: Using declarations/DW_TAG_imported_declaration of variables, 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
show more ...
|
#
fd5aa135 |
| 06-May-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Support imported modules (using directives) within lexical blocks.
llvm-svn: 181272
|
#
60a9fbf9 |
| 26-Apr-2013 |
David Blaikie <dblaikie@gmail.com> |
Support debug info for using directives at global/namespace scope.
llvm-svn: 180594
|
#
9f88fe86 |
| 22-Apr-2013 |
David Blaikie <dblaikie@gmail.com> |
Revert "Revert "PR14606: Debug info for using directives/DW_TAG_imported_module""
This reverts commit 179839 now that the corresponding LLVM patch has been fixed.
llvm-svn: 179997
|
#
3669c3c6 |
| 19-Apr-2013 |
Eric Christopher <echristo@gmail.com> |
Revert "PR14606: Debug info for using directives/DW_TAG_imported_module"
This reverts commit r179837 as it seems to be causing test failures.
llvm-svn: 179839
|
#
cf5e5bad |
| 19-Apr-2013 |
David Blaikie <dblaikie@gmail.com> |
PR14606: Debug info for using directives/DW_TAG_imported_module
More changes later for using declarations/DW_TAG_imported_declaration.
llvm-svn: 179837
|
#
86639410 |
| 28-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Revert "Update debug info test for schema change made to LLVM."
This reverts commit 5035c483b7fcbf0fa2a7afba24fa35a10995d195.
This schema change wasn't necessary after all. I'm going ith a differen
Revert "Update debug info test for schema change made to LLVM."
This reverts commit 5035c483b7fcbf0fa2a7afba24fa35a10995d195.
This schema change wasn't necessary after all. I'm going ith a different solution that will hopefully use space more conservatively.
llvm-svn: 178213
show more ...
|
#
2398f301 |
| 27-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Update debug info test for schema change made to LLVM.
This accounts for the addition of another field to DIScopes that will be used to store a list of DIImportedModules in the future.
llvm-svn: 17
Update debug info test for schema change made to LLVM.
This accounts for the addition of another field to DIScopes that will be used to store a list of DIImportedModules in the future.
llvm-svn: 178100
show more ...
|
#
719f8584 |
| 26-Mar-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/CodeGenCXX/debug-info-namespace.cpp: Disable it on non-bash lit for now.
With dosish filename, it misgenerates an improper extra entry.
!1 = metadata !{metadata !"E:\5Cllvm\5Cllvm-projec
clang/test/CodeGenCXX/debug-info-namespace.cpp: Disable it on non-bash lit for now.
With dosish filename, it misgenerates an improper extra entry.
!1 = metadata !{metadata !"E:\5Cllvm\5Cllvm-project\5Cclang\5Ctest\5CCodeGenCXX/debug-info-namespace.cpp", metadata !"E:\5Cllvm\5Cbuild\5Cninja-win32-vs11\5Ctools\5Cclang\5Ctest\5CCodeGenCXX"}
!8 = metadata !{metadata !"E:\5Cllvm\5Cllvm-project\5Cclang\5Ctest\5CCodeGenCXX\5Cdebug-info-namespace.cpp", metadata !"E:\5Cllvm\5Cbuild\5Cninja-win32-vs11\5Ctools\5Cclang\5Ctest\5CCodeGenCXX"}
!8 is unexpected.
llvm-svn: 178061
show more ...
|
#
d54bb5c1 |
| 20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Debug info - generalize namespace test to not depend on a DW_TAG_file_type entry
This isn't necessary & with the next change to LLVM the DW_TAG_file_type entry won't be emitted at all - only the raw
Debug info - generalize namespace test to not depend on a DW_TAG_file_type entry
This isn't necessary & with the next change to LLVM the DW_TAG_file_type entry won't be emitted at all - only the raw filename/directory pair, so match on that directly instead.
llvm-svn: 177609
show more ...
|
#
431153cf |
| 20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
refactoring file/directory for namespace debug info
(this is a paired commit with an LLVM change to DIBuilder - expect some buildbot skew/fallout)
llvm-svn: 177565
|
#
9e38bde1 |
| 20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Enhance debug info namespace test to check for context/scope reference
The #line directive is mostly for backend testing (keeping these files matching should simplify maintenance somewhat) though th
Enhance debug info namespace test to check for context/scope reference
The #line directive is mostly for backend testing (keeping these files matching should simplify maintenance somewhat) though the corresponding backend test improvement/update doesn't verify the file information directly just yet. Coming in a later iteration.
llvm-svn: 177559
show more ...
|
#
e60814da |
| 20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Make front-end debug info namespace test frontend-only & more specific without overconstraining it
The backend portion of this test will be committed to LLVM's test suite.
llvm-svn: 177485
|