Fix -Wstring-compare testcase build failure

Clang fails to compile the file gdb/testsuite/gdb.cp/try_catch.cc
with the following error:
  warning: result of comparison against a string literal is
  unspecified (use strncmp instead) [-Wstring-compare]

This commit fixes the error, replacing the pointer comparison with
a call to strcmp.  This commit also adds a final check: the test
program is run to the final return statement, and the value of
"test" is checked to ensure it is still "true" at that point.

gdb/testsuite/ChangeLog:

	* gdb.cp/try_catch.cc: Include string.h.
	(main): Replace comparison against string literal with
	strcmp, avoiding build failure with -Wstring-compare.
	Add "marker test-complete".
	* gdb.cp/try_catch.exp: Run the test to the above marker,
	then verify that the value of "test" is still true.
This commit is contained in:
Gary Benson 2020-06-26 14:53:28 +01:00
parent edf92af0fb
commit f53b3eeb67
3 changed files with 16 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2020-06-26 Gary Benson <gbenson@redhat.com>
* gdb.cp/try_catch.cc: Include string.h.
(main): Replace comparison against string literal with
strcmp, avoiding build failure with -Wstring-compare.
Add "marker test-complete".
* gdb.cp/try_catch.exp: Run the test to the above marker,
then verify that the value of "test" is still true.
2020-06-25 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.arch/riscv-tdesc-regs.exp: New test cases.

View File

@ -18,6 +18,7 @@
#include <exception>
#include <stdexcept>
#include <string>
#include <string.h>
enum region { oriental, egyptian, greek, etruscan, roman };
@ -129,8 +130,8 @@ int main()
}
catch (exception& obj)
{
if (obj.what() != "gdb.1") // marker 3-catch
if (strcmp (obj.what(), "gdb.1") != 0) // marker 3-catch
test &= false;
}
return 0;
return 0; // marker test-complete
}

View File

@ -63,5 +63,9 @@ gdb_continue_to_breakpoint "marker 3-throw"
gdb_breakpoint [gdb_get_line_number "marker 3-catch"]
gdb_continue_to_breakpoint "marker 3-catch"
gdb_breakpoint [gdb_get_line_number "marker test-complete"]
gdb_continue_to_breakpoint "marker test-complete"
gdb_test "p test" "= true"
gdb_exit
return 0