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.
+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.
#include <exception>
#include <stdexcept>
#include <string>
+#include <string.h>
enum region { oriental, egyptian, greek, etruscan, roman };
}
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
}
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