diff options
Diffstat (limited to 'tests/run-make/issue-47551')
-rw-r--r-- | tests/run-make/issue-47551/Makefile | 9 | ||||
-rw-r--r-- | tests/run-make/issue-47551/eh_frame-terminator.rs | 22 |
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/run-make/issue-47551/Makefile b/tests/run-make/issue-47551/Makefile new file mode 100644 index 000000000..5a6ac7257 --- /dev/null +++ b/tests/run-make/issue-47551/Makefile @@ -0,0 +1,9 @@ +# only-linux +# ignore-32bit + +include ../tools.mk + +all: + $(RUSTC) eh_frame-terminator.rs + $(call RUN,eh_frame-terminator) | $(CGREP) '1122334455667788' + objdump --dwarf=frames $(TMPDIR)/eh_frame-terminator | $(CGREP) 'ZERO terminator' diff --git a/tests/run-make/issue-47551/eh_frame-terminator.rs b/tests/run-make/issue-47551/eh_frame-terminator.rs new file mode 100644 index 000000000..a2c7a31b7 --- /dev/null +++ b/tests/run-make/issue-47551/eh_frame-terminator.rs @@ -0,0 +1,22 @@ +// run-pass + +#[derive(Clone, Copy)] +struct Foo { + array: [u64; 10240], +} + +impl Foo { + const fn new() -> Self { + Self { + array: [0x1122_3344_5566_7788; 10240] + } + } +} + +static BAR: [Foo; 10240] = [Foo::new(); 10240]; + +fn main() { + let bt = std::backtrace::Backtrace::force_capture(); + println!("Hello, world! {:?}", bt); + println!("{:x}", BAR[0].array[0]); +} |