gccrs: Add link cases testsuite
authorPhilip Herron <philip.herron@embecosm.com>
Tue, 23 Aug 2022 15:00:51 +0000 (16:00 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 13 Dec 2022 13:00:03 +0000 (14:00 +0100)
commitf60df7e6202300b25739b30b9e7430c0be22eb9f
treeee0ff858c4e3851726c92ad2d5e813bedddadfc1
parent4b8f3005af0ddfd409f43e671b817f846e3c47e4
gccrs: Add link cases testsuite

This testsuite is heavily inspired from the LTO testsuite that uses a
pattern where each file is compiled to an object file and finally linked
together. Since Rust does not have headers/prototypes, we rely on the
ordering here so that all files numbered greater than zero get compiled to
object files first. This leaves the _0 file free to test the 'extern crate' and
'use' keywords to force testing of the compiler to read metadata from the
other 'crates'.

gcc/testsuite/
* rust/link/generic_function_0.rs: New.
* rust/link/generic_function_1.rs: New.
* rust/link/link.exp: New.
* rust/link/simple_function_0.rs: New.
* rust/link/simple_function_1.rs: New.
* rust/link/trait_import_0.rs: New.
* rust/link/trait_import_1.rs: New.
gcc/testsuite/rust/link/generic_function_0.rs [new file with mode: 0644]
gcc/testsuite/rust/link/generic_function_1.rs [new file with mode: 0644]
gcc/testsuite/rust/link/link.exp [new file with mode: 0644]
gcc/testsuite/rust/link/simple_function_0.rs [new file with mode: 0644]
gcc/testsuite/rust/link/simple_function_1.rs [new file with mode: 0644]
gcc/testsuite/rust/link/trait_import_0.rs [new file with mode: 0644]
gcc/testsuite/rust/link/trait_import_1.rs [new file with mode: 0644]