aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-08-03 09:18:41 +0000
committerGitHub <noreply@github.com>2022-08-03 09:18:41 +0000
commitc788a806195f326a595cd15b96c59e7584927f1a (patch)
tree463678546ddc7a6b59194619e70d326fc3558568 /gcc/testsuite
parent8809ee8c6a5621e830f3cfe66c381f986e63c7f2 (diff)
parent9fc6a27b5c6ea2c775646c4474b9084da76b1764 (diff)
downloadgcc-c788a806195f326a595cd15b96c59e7584927f1a.zip
gcc-c788a806195f326a595cd15b96c59e7584927f1a.tar.gz
gcc-c788a806195f326a595cd15b96c59e7584927f1a.tar.bz2
Merge #1429
1429: expand: correctly handles non-macro nodes r=philberty a=liushuyu - expand: correctly handles non-macro nodes when expanding macros recursively to avoid improperly stripping them Fixes #1426 Co-authored-by: liushuyu <liushuyu011@gmail.com>
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/rust/compile/macro-issue1403.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/compile/macro-issue1403.rs b/gcc/testsuite/rust/compile/macro-issue1403.rs
new file mode 100644
index 0000000..756d374
--- /dev/null
+++ b/gcc/testsuite/rust/compile/macro-issue1403.rs
@@ -0,0 +1,31 @@
+// { dg-do compile }
+// { dg-options "-O1 -gdwarf-5 -dA -w" }
+macro_rules! stmt {
+ ($s:stmt) => {
+ $s
+ };
+ ($s:stmt, $($ss:stmt),*) => {
+ $s;
+ stmt!($($ss),*);
+ };
+}
+
+pub fn test() -> i32 {
+ stmt!(
+ let a = 1
+ );
+ stmt!(
+ let b = 2,
+ let c = 3,
+ let d = 4,
+ let e = 5,
+ let f = b + c + d + e
+ );
+ // { dg-final { scan-assembler "14" } }
+ f
+}
+
+fn main() {
+ let _ = test();
+}
+