Fix testcases with required but unreferenced functions and variables

A number of testcases define variables and/or functions which are
referenced by GDB during the test, but which are not referenced from
within the test executable.  Clang correctly recognizes that these
variables and functions are unused, and optimizes them out, causing
the testcases in question to fail.  This commit adds __attribute__
((used)) in various places to prevent this.

gdb/testsuite/ChangeLog:

	* gdb.base/msym-bp.c (foo): Add __attribute__ ((used)).
	* gdb.base/msym-bp-2.c (foo): Likewise.
	* gdb.base/msym-lang.c (foo): Likewise.
	* gdb.base/msym-lang-main.c (foo): Likewise.
	* gdb.base/symtab-search-order-1.c (static_global): Likewise.
	* gdb.guile/scm-pretty-print.c (eval_func): Likewise.
	* gdb.mi/mi-sym-info-1.c (global_f1): Likewise.
	* gdb.mi/mi-sym-info-2.c (global_f1, var1, var2): Likewise.
	* gdb.multi/watchpoint-multi-exit.c (globalvar): Likewise.
	* gdb.python/py-as-string.c (enum_valid, enum_invalid): Likewise.
	* gdb.python/py-objfile.c (static_var): Likewise.
	* gdb.python/py-symbol.c (rr): Likewise.
	* gdb.python/py-symbol-2.c (anon, rr): Likewise.
	* gdb.mi/mi-sym-info.exp (lineno1, lineno2): Updated.
This commit is contained in:
Gary Benson
2020-10-12 10:35:23 +01:00
parent 8a6e98c4a3
commit 71e1b6b0ac
15 changed files with 36 additions and 19 deletions

View File

@ -16,7 +16,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
int global_var = 42;
static int static_var = 50;
static int __attribute__ ((used)) static_var = 50;
int
main ()