gdb/testsuite: add "macros" option to gdb_compile
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 7 Apr 2022 01:51:57 +0000 (21:51 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 7 Apr 2022 18:41:28 +0000 (14:41 -0400)
commit9be5d742dbe3d23f740bbeb5bd1337da8ece536e
tree4b87a6e848daac7225d457c1b299e44303c040f7
parent4f7df13ee75be36ae5c6046b6d6f60e04498b719
gdb/testsuite: add "macros" option to gdb_compile

Make gdb_compile handle a new "macros" option, which makes it pass the
appropriate flag to make the compiler include macro information in the
debug info.  This will help simplify tests using macros, reduce
redundant code, and make it easier to add support for a new compiler.

Right now it only handles clang specially (using -fdebug-macro) and
falls back to -g3 otherwise (which works for gcc).  Other compilers can
be added as needed.

There are some tests that are currently skipped if the compiler is nor
gcc nor clang.  After this patch, the tests will attempt to run (the -g3
fall back will be used).  That gives a chance to people using other
compilers to notice something is wrong and maybe add support for their
compiler.  If it is needed to support a compiler that doesn't have a way
to include macro information, then we can always introduce a
"skip_macro_tests" that can be used to skip over them.

Change-Id: I50cd6ab1bfbb478c1005486408e214b551364c9b
gdb/testsuite/gdb.base/info-macros.exp
gdb/testsuite/gdb.base/macscp.exp
gdb/testsuite/gdb.base/style.exp
gdb/testsuite/gdb.linespec/macro-relative.exp
gdb/testsuite/lib/gdb.exp