about summary refs log tree commit diff
path: root/src/test/debuginfo/struct-style-enum.rs
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-90/+0
2021-04-03Remove redundant `ignore-tidy-linelength` annotationsSimon Jakobi-2/+0
This is step 2 towards fixing #77548. In the codegen and codegen-units test suites, the `//` comment markers were kept in order not to affect any source locations. This is because these tests cannot be automatically `--bless`ed.
2020-04-14Update the minimum external LLVM to 8Josh Stone-3/+1
LLVM 8 was released on March 20, 2019, over a year ago.
2019-03-22Correct minimum system LLVM version in testsSamuel Holland-1/+1
Since commit 9452a8dfa3ba, the new debug info format is only generated for LLVM 8 and newer versions. However, the tests still assume that LLVM 7 will use the new debug info format. Fix the tests (and a comment in the code) to match the actual version check.
2018-12-25Remove licensesMark Rousskov-10/+0
2018-10-30Update enum debuginfo testsTom Tromey-13/+9
Bug #52452 notes some debuginfo test regressions when moving to gdb 8.1. This series will also cause versions of gdb before 8.2 to fail when a recent LLVM is used -- DW_TAG_variant_part support was not added until 8.2. This patch updates one of the builders to a later version of Ubuntu, which comes with gdb 8.2. It updates the relevant tests to require both a new-enough LLVM and a new-enough gdb; the subsequent patch arranges to continue testing the fallback mode. The "gdbg" results are removed from these tests because the tests now require a rust-enabled gdb. If you read closely, you'll see that some of the lldb results in this patch still look a bit strange. This will be addressed in a subsequent patch; I believe the fix is to disable the Python pretty-printers when lldb is rust-enabled.
2018-10-08Run debuginfo tests against rust-enabled lldb, when possibleTom Tromey-4/+8
If the rust-enabled lldb was built, then use it when running the debuginfo tests. Updating the lldb submodule was necessary as this needed a way to differentiate the rust-enabled lldb, so I added a line to the --version output. This adds compiletest commands to differentiate between the rust-enabled and non-rust-enabled lldb, as is already done for gdb. A new "rust-lldb" header directive is also added, but not used in this patch; I plan to use it in #54004. This updates all the tests.
2017-02-04ignore more gdb versions with buggy rust supportTim Neumann-1/+1
2017-01-13debuginfo: Ignore optimized enum tests for GDB versions that can't handle them.Michael Woerister-0/+1
2016-12-14Modify debuginfo to deal with the difference between source and memory orderAustin Hicks-3/+3
Fix gdb enum tests to ignore garbage variants, as we no longer actually know what the garbage is.
2016-10-31adapt debuginfo tests for gdb with native rust supportTim Neumann-4/+8
2015-09-19Feature-gate `#[no_debug]` and `#[omit_gdb_pretty_printer_section]`Andrew Paseltiner-0/+1
Closes #28091.
2015-03-28Fix some typosVadim Petrochenkov-1/+1
2015-02-10Enable test/debuginfo on androidEunji Jeong-1/+0
2014-12-30debuginfo: Add a rust-gdb shell script that will start GDB with Rust pretty ↵Michael Woerister-0/+1
printers enabled.
2014-11-20removed struct_variant feature from testsSimon Wollwage-1/+0
2014-11-17Switch to purely namespaced enumsSteven Fackler-0/+3
This breaks code that referred to variant names in the same namespace as their enum. Reexport the variants in the old location or alter code to refer to the new locations: ``` pub enum Foo { A, B } fn main() { let a = A; } ``` => ``` pub use self::Foo::{A, B}; pub enum Foo { A, B } fn main() { let a = A; } ``` or ``` pub enum Foo { A, B } fn main() { let a = Foo::A; } ``` [breaking-change]
2014-10-31debuginfo: Make GDB tests use line breakpoints like done in LLDB tests.Michael Woerister-2/+0
On some Windows versions of GDB this is more stable than setting breakpoints via function names.
2014-10-28Update code with new lint namesAaron Turon-1/+1
2014-10-22debuginfo: Gate all LLDB debuginfo tests on a minimum LLDB version being ↵Michael Woerister-0/+1
available
2014-10-08debuginfo: Don't mark struct fields as artificial.Michael Woerister-3/+3
LLDB doesn't allow for reading 'artifical' fields (fields that are generated by the compiler). So do not mark, slice fields, enum discriminants, and GcBox value fields as artificial.
2014-07-16debuginfo: Add LLDB autotests to debuginfo test suite.Michael Woerister-1/+21
This commit adds LLDB autotests to the test suite but does not activate them by default yet.
2014-05-29debuginfo: Make DWARF representation of enums uniform.Michael Woerister-1/+1
So far the DWARF information for enums was different for regular enums, univariant enums, Option-like enums, etc. Regular enums were encoded as unions of structs, while the other variants were encoded as bare structs. With the changes in this PR all enums are encoded as unions so that debuggers can reconstruct if something originally was a struct, a univariant enum, or an Option-like enum. For the latter case, information about the Null variant is encoded into the union field name. This information can then be used by the debugger to print a None value actually as None instead of Some(0x0).
2014-05-07debuginfo: Split debuginfo autotests into debuginfo-gdb and debuginfo-lldbMichael Woerister-0/+77