rust/tests/ui/debuginfo/dwarf-versions.rs
Wesley Wiser eea8ce5be4 Emit an error if -Zdwarf-version=1 is requested
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.
2025-02-09 10:05:13 -06:00

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() {}