Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
2c22cfd4 |
| 16-Dec-2022 |
Michael Buch <michaelbuch12@gmail.com> |
[clang][DebugInfo] Add DW_AT_default_value support for template template parameters
After this patch, in the following snippet: ``` template <typename T> Foo {};
template <template <typename T> cla
[clang][DebugInfo] Add DW_AT_default_value support for template template parameters
After this patch, in the following snippet: ``` template <typename T> Foo {};
template <template <typename T> class CT = Foo> Bar {};
Bar<> b; ```
The debug-info entry for the `CT` template parameter will have a `DW_AT_default_value (true)` attached to it.
Differential Revision: https://reviews.llvm.org/D139989
show more ...
|
#
8d3843ba |
| 13-Dec-2022 |
Michael Buch <michaelbuch12@gmail.com> |
[clang][DebugInfo] Simplify logic to determine DW_AT_default_value for template parameters
DWARFv5 added support for labelling template parameters with DW_AT_default_value to indicate whether the pa
[clang][DebugInfo] Simplify logic to determine DW_AT_default_value for template parameters
DWARFv5 added support for labelling template parameters with DW_AT_default_value to indicate whether the particular instantiation defaulted parameter. The current implementation only supports a limited set of possible cases. Namely for non-value-dependent integral template parameters and simple type template parameters.
Useful cases that don't work are: 1. Type template parameters with defaults that are themselves templates. E.g., ``` template<typename T1, typename T2 = Foo<T1>> class C1; template<typename T = Foo<int>> class C2; etc. ``` 2. Template template parameters
`clang::isSubstitutedDefaultArgument` already implement the required logic to determine whether a template argument is defaulted. This patch re-uses this logic for DWARF CodeGen.
Differential Revision: https://reviews.llvm.org/D139988
show more ...
|
#
738bfbce |
| 15-Dec-2022 |
Michael Buch <michaelbuch12@gmail.com> |
[llvm][test] Split DW_AT_default_value check out of clang/test/
Followup to D139953 to fix build failure on machines not configured for x86.
Differential Revision: https://reviews.llvm.org/D140084
|
#
c9861e57 |
| 13-Dec-2022 |
Michael Buch <michaelbuch12@gmail.com> |
[llvm][DebugInfo] Backport DW_AT_default_value for template args
**Summary**
Starting with DWARFv5, DW_AT_default_value can be used to indicate that a template argument has a default value. With th
[llvm][DebugInfo] Backport DW_AT_default_value for template args
**Summary**
Starting with DWARFv5, DW_AT_default_value can be used to indicate that a template argument has a default value. With this patch LLVM will emit the this attribute earlier versions of DWARF, unless compiling with -gstrict-dwarf.
Differential Revision: https://reviews.llvm.org/D139953
show more ...
|
#
5996ce17 |
| 13-Dec-2022 |
Michael Buch <michaelbuch12@gmail.com> |
[clang][DebugInfo] Attach DW_AT_default_value to template arg metadata regardless of DwarfVersion
**Summary**
Starting with DWARFv5, DW_AT_default_value can be used to indicate that a template argu
[clang][DebugInfo] Attach DW_AT_default_value to template arg metadata regardless of DwarfVersion
**Summary**
Starting with DWARFv5, DW_AT_default_value can be used to indicate that a template argument has a default value. With this patch Clang will attach the attribute to the debug metadata regardless of version.
In a follow-up patch we will change llvm to emit this attribute in earlier versions of DWARF, unless compiling with -gstrict-dwarf.
**Details**
* Previously the DwarfVersion check in CGDebugInfo was inconsistent: For non-type template arguments we attached the attribute to the debug metadata in DWARFv5 only. Whereas for type template arguments we didn't have such a version restriction. With this patch we attach the attribute regardless of DWARF version (and instead offload the check to the AsmPrinter in a future patch).
show more ...
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0 |
|
#
83ea47ac |
| 04-Sep-2022 |
Fangrui Song <i@maskray.me> |
[test] Make tests pass regardless of gnu++14/gnu++17 default
GCC from 11 onwards defaults to -std=gnu++17 for C++ source files. We want to do the same (https://discourse.llvm.org/t/c-objc-switch-to-
[test] Make tests pass regardless of gnu++14/gnu++17 default
GCC from 11 onwards defaults to -std=gnu++17 for C++ source files. We want to do the same (https://discourse.llvm.org/t/c-objc-switch-to-gnu-17-as-the-default-dialect/64360). Split RUN lines, adjust `-verify`, or add `__cplusplus < 201703L` or `-Wno-dynamic-exception-spec`, so that tests will pass regardless of gnu++14/gnu++17 default.
We have a desire to mark a test compatible with multiple language standards. There are ongoing discussions how to add markers in the long term:
* https://discourse.llvm.org/t/iterating-lit-run-lines/62596 * https://discourse.llvm.org/t/lit-run-a-run-line-multiple-times-with-different-replacements/64932
As a workaround in the short term, add lit substitutions `%std_cxx98-`, `%std_cxx11-14`, etc. They can be used for tests which work across multiple language standards. If a range has `n` standards, run lit multiple times, with `LIT_CLANG_STD_GROUP=0`, `LIT_CLANG_STD_GROUP=1`, etc to cover all `n` standards.
Reviewed By: #clang-language-wg, aaron.ballman
Differential Revision: https://reviews.llvm.org/D131464
show more ...
|
Revision tags: llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
#
e9644e6f |
| 05-Apr-2020 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Fix default template parameter computation for dependent non-type template parameters
This addresses the immediate bug, though in theory we could still produce a default parameter for the
DebugInfo: Fix default template parameter computation for dependent non-type template parameters
This addresses the immediate bug, though in theory we could still produce a default parameter for the DWARF in this test case - but other cases will be definitely unachievable (you could have a default parameter that cannot be evaluated - so long as the user overrode it with another value rather than relying on that default)
show more ...
|
#
db92719c |
| 01-Apr-2020 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Defaulted non-type template parameters of bool type
Caused an assertion due to mismatched bit widths - this seems like the right API to use for a possibly width-varying equality test. Tho
DebugInfo: Defaulted non-type template parameters of bool type
Caused an assertion due to mismatched bit widths - this seems like the right API to use for a possibly width-varying equality test. Though certainly open to some post-commit review feedback if there's a more suitable way to do this comparison/test.
show more ...
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
1cb0e01e |
| 03-Mar-2020 |
Awanish Pandey <Awanish.Pandey@amd.com> |
[DebugInfo][DWARF5]: Added support for debuginfo generation for defaulted parameters
This patch adds support for dwarf emission/dumping part of debuginfo generation for defaulted parameters.
Review
[DebugInfo][DWARF5]: Added support for debuginfo generation for defaulted parameters
This patch adds support for dwarf emission/dumping part of debuginfo generation for defaulted parameters.
Reviewers: probinson, aprantl, dblaikie
Reviewed By: aprantl, dblaikie
Differential Revision: https://reviews.llvm.org/D73462
show more ...
|