diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-07-18 15:43:06 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:55:57 +0100 |
commit | ad4c18174bb3dab443435fe19ca593206f98cddf (patch) | |
tree | a11b5e14fd1e06a78ff7817ed6b8940777a9f619 /gcc | |
parent | 9a99feab7cbc2dcb01c3af99dca4c2a4403d83b1 (diff) | |
download | gcc-ad4c18174bb3dab443435fe19ca593206f98cddf.zip gcc-ad4c18174bb3dab443435fe19ca593206f98cddf.tar.gz gcc-ad4c18174bb3dab443435fe19ca593206f98cddf.tar.bz2 |
gccrs: proc macro: Add crate type regression tests
Add several tests to prevent regression with proc_macro,
proc_macro_derive and proc_macro_attribute attributes error messages.
gcc/testsuite/ChangeLog:
* rust/compile/proc_macro_attribute_crate_type.rs: New test.
* rust/compile/proc_macro_crate_type.rs: New test.
* rust/compile/proc_macro_derive_crate_type.rs: New test.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc')
3 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/compile/proc_macro_attribute_crate_type.rs b/gcc/testsuite/rust/compile/proc_macro_attribute_crate_type.rs new file mode 100644 index 0000000..9ffd2b0 --- /dev/null +++ b/gcc/testsuite/rust/compile/proc_macro_attribute_crate_type.rs @@ -0,0 +1,4 @@ +// { dg-additional-options "-frust-crate-type=lib" } + +#[proc_macro_attribute] // { dg-excess-errors "the '#\[proc_macro_attribute\]' attribute is only usable with crates of the 'proc-macro' crate type" } +pub fn my_invalid_macro() {} diff --git a/gcc/testsuite/rust/compile/proc_macro_crate_type.rs b/gcc/testsuite/rust/compile/proc_macro_crate_type.rs new file mode 100644 index 0000000..f27a94a --- /dev/null +++ b/gcc/testsuite/rust/compile/proc_macro_crate_type.rs @@ -0,0 +1,4 @@ +// { dg-additional-options "-frust-crate-type=lib" } + +#[proc_macro] // { dg-excess-errors "the '#\[proc_macro\]' attribute is only usable with crates of the 'proc-macro' crate type" } +pub fn my_invalid_macro() {} diff --git a/gcc/testsuite/rust/compile/proc_macro_derive_crate_type.rs b/gcc/testsuite/rust/compile/proc_macro_derive_crate_type.rs new file mode 100644 index 0000000..20f6997 --- /dev/null +++ b/gcc/testsuite/rust/compile/proc_macro_derive_crate_type.rs @@ -0,0 +1,6 @@ +// { dg-additional-options "-frust-crate-type=lib" } + +trait Dungeness {} + +#[proc_macro_derive(Dungeness)] // { dg-excess-errors "the '#\[proc_macro_derive\]' attribute is only usable with crates of the 'proc-macro' crate type" } +pub fn my_invalid_macro() {} |