[08/11,gdb/testsuite] Extend gdb.base/fission-macro.exp

Message ID 20240521154415.9543-8-tdevries@suse.de
State New
Headers
Series [01/11,gdb/testsuite] Add gdb.base/fission-macro.exp |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Testing passed

Commit Message

Tom de Vries May 21, 2024, 3:44 p.m. UTC
  Add a header file to test-case gdb.base/fission-macro.exp, and check that the
macros defined there are properly listed.

Tested on x86_64-linux.

Tested test-case using a current gcc trunk build, and gcc 14.
---
 gdb/testsuite/gdb.base/fission-macro.c   |  2 ++
 gdb/testsuite/gdb.base/fission-macro.exp | 16 +++++++++++++++-
 gdb/testsuite/gdb.base/fission-macro.h   | 19 +++++++++++++++++++
 3 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 gdb/testsuite/gdb.base/fission-macro.h
  

Patch

diff --git a/gdb/testsuite/gdb.base/fission-macro.c b/gdb/testsuite/gdb.base/fission-macro.c
index 9c8cbece5c5..8c34679d57c 100644
--- a/gdb/testsuite/gdb.base/fission-macro.c
+++ b/gdb/testsuite/gdb.base/fission-macro.c
@@ -18,6 +18,8 @@ 
 #define FIRST 1
 #define SECOND 2
 
+#include "fission-macro.h"
+
 extern int foo (void);
 
 int
diff --git a/gdb/testsuite/gdb.base/fission-macro.exp b/gdb/testsuite/gdb.base/fission-macro.exp
index 2434a329b7e..5474baf21d5 100644
--- a/gdb/testsuite/gdb.base/fission-macro.exp
+++ b/gdb/testsuite/gdb.base/fission-macro.exp
@@ -16,7 +16,7 @@ 
 # Gcc 14 is the first release containing the fix for PR debug/111409.
 require {expr [gcc_major_version] >= 14}
 
-standard_testfile .c -2.c
+standard_testfile .c -2.c .h
 
 proc do_tests { dwarf_version dwarf_bits strict_dwarf } {
     set opts {}
@@ -56,6 +56,20 @@  proc do_tests { dwarf_version dwarf_bits strict_dwarf } {
     gdb_test "info macro FIRST" "#define FIRST 1"
     gdb_test "info macro SECOND" "#define SECOND 2"
 
+    gdb_test "p FIFTH" " = 5"
+    gdb_test "p SIXTH" " = 6"
+
+    gdb_test "info macro FIFTH" \
+	[multi_line \
+	     "Defined at \[^\r\n\]*$::srcfile3:$::decimal" \
+	     "  included at \[^\r\n\]*$::srcfile:$::decimal" \
+	     "#define FIFTH 5"]
+    gdb_test "info macro SIXTH" \
+	[multi_line \
+	     "Defined at \[^\r\n\]*$::srcfile3:$::decimal" \
+	     "  included at \[^\r\n\]*$::srcfile:$::decimal" \
+	     "#define SIXTH 6"]
+
     gdb_breakpoint foo
     gdb_continue_to_breakpoint "foo"
 
diff --git a/gdb/testsuite/gdb.base/fission-macro.h b/gdb/testsuite/gdb.base/fission-macro.h
new file mode 100644
index 00000000000..66f15483b1c
--- /dev/null
+++ b/gdb/testsuite/gdb.base/fission-macro.h
@@ -0,0 +1,19 @@ 
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2024 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#define FIFTH 5
+#define SIXTH 6