diff options
author | Gary Benson <gbenson@redhat.com> | 2020-10-12 10:35:23 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2020-10-12 10:35:23 +0100 |
commit | 71e1b6b0ac9403d7fda91890f0d2881b6d1697d6 (patch) | |
tree | 85f3c5b9ab72187adc8b727393b7398ab877f16a /gdb/testsuite/gdb.python | |
parent | 8a6e98c4a3049d7fb8ffc24b231e8cf3577fd90a (diff) | |
download | gdb-71e1b6b0ac9403d7fda91890f0d2881b6d1697d6.zip gdb-71e1b6b0ac9403d7fda91890f0d2881b6d1697d6.tar.gz gdb-71e1b6b0ac9403d7fda91890f0d2881b6d1697d6.tar.bz2 |
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.
Diffstat (limited to 'gdb/testsuite/gdb.python')
-rw-r--r-- | gdb/testsuite/gdb.python/py-as-string.c | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-objfile.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-symbol-2.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-symbol.c | 4 |
4 files changed, 6 insertions, 6 deletions
diff --git a/gdb/testsuite/gdb.python/py-as-string.c b/gdb/testsuite/gdb.python/py-as-string.c index 245bcb2..0256336 100644 --- a/gdb/testsuite/gdb.python/py-as-string.c +++ b/gdb/testsuite/gdb.python/py-as-string.c @@ -22,8 +22,8 @@ enum EnumType { ENUM_VALUE_D, }; -static enum EnumType enum_valid = ENUM_VALUE_B; -static enum EnumType enum_invalid = (enum EnumType) 20; +static enum EnumType __attribute__ ((used)) enum_valid = ENUM_VALUE_B; +static enum EnumType __attribute__ ((used)) enum_invalid = (enum EnumType) 20; int main () diff --git a/gdb/testsuite/gdb.python/py-objfile.c b/gdb/testsuite/gdb.python/py-objfile.c index e8b9e83..326d9a0 100644 --- a/gdb/testsuite/gdb.python/py-objfile.c +++ b/gdb/testsuite/gdb.python/py-objfile.c @@ -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 () diff --git a/gdb/testsuite/gdb.python/py-symbol-2.c b/gdb/testsuite/gdb.python/py-symbol-2.c index 8bc78b9..fdc4efd 100644 --- a/gdb/testsuite/gdb.python/py-symbol-2.c +++ b/gdb/testsuite/gdb.python/py-symbol-2.c @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -static int rr = 99; /* line of other rr */ +static int __attribute__ ((used)) rr = 99; /* line of other rr */ void function_in_other_file (void) diff --git a/gdb/testsuite/gdb.python/py-symbol.c b/gdb/testsuite/gdb.python/py-symbol.c index 44f87bc..e04f6b8 100644 --- a/gdb/testsuite/gdb.python/py-symbol.c +++ b/gdb/testsuite/gdb.python/py-symbol.c @@ -34,7 +34,7 @@ class SimpleClass }; namespace { - int anon = 10; + int __attribute__ ((used)) anon = 10; }; #endif @@ -43,7 +43,7 @@ extern void function_in_other_file (void); #endif int qq = 72; /* line of qq */ -static int rr = 42; /* line of rr */ +static int __attribute__ ((used)) rr = 42; /* line of rr */ int func (int arg) { |