mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-01 20:47:36 +00:00

DWARF 1 is very different than DWARF 2+ (see the commentary in https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-gdwarf) and LLVM does not really seem to support DWARF 1 as Clang does not offer a `-gdwarf-1` flag and `llc` will just generate DWARF 2 with the version set to 1: https://godbolt.org/z/s85d87n3a. Since this isn't actually supported (and it's not clear it would be useful anyway), report that DWARF 1 is not supported if it is requested. Also add a help message to the error saying which versions are supported.
39 lines
1009 B
Rust
39 lines
1009 B
Rust
// This test verifies the expected behavior of various options passed to
|
|
// `-Zdwarf-version`: 2 - 5 (valid) with all other options being invalid.
|
|
|
|
//@ revisions: zero one two three four five six
|
|
|
|
//@[zero] compile-flags: -Zdwarf-version=0
|
|
//@[zero] error-pattern: requested DWARF version 0 is not supported
|
|
|
|
//@[one] compile-flags: -Zdwarf-version=1
|
|
//@[one] error-pattern: requested DWARF version 1 is not supported
|
|
|
|
//@[two] compile-flags: -Zdwarf-version=2
|
|
//@[two] check-pass
|
|
|
|
//@[three] compile-flags: -Zdwarf-version=3
|
|
//@[three] check-pass
|
|
|
|
//@[four] compile-flags: -Zdwarf-version=4
|
|
//@[four] check-pass
|
|
|
|
//@[five] compile-flags: -Zdwarf-version=5
|
|
//@[five] check-pass
|
|
|
|
//@[six] compile-flags: -Zdwarf-version=6
|
|
//@[six] error-pattern: requested DWARF version 6 is not supported
|
|
|
|
//@ compile-flags: -g --target x86_64-unknown-linux-gnu --crate-type cdylib
|
|
//@ needs-llvm-components: x86
|
|
|
|
#![feature(no_core, lang_items)]
|
|
|
|
#![no_core]
|
|
#![no_std]
|
|
|
|
#[lang = "sized"]
|
|
pub trait Sized {}
|
|
|
|
pub fn foo() {}
|