X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Fgdbarch-selftests.c;h=24a7515a3151d677f54e654f38c71d8a55cb2aaf;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=50062abe8ae401803e956f4ac300230c77397b5f;hpb=42a4f53d2bf8938c2aeda9f52be7a20534b214a9;p=deliverable%2Fbinutils-gdb.git
diff --git a/gdb/gdbarch-selftests.c b/gdb/gdbarch-selftests.c
index 50062abe8a..24a7515a31 100644
--- a/gdb/gdbarch-selftests.c
+++ b/gdb/gdbarch-selftests.c
@@ -1,6 +1,6 @@
/* Self tests for gdbarch for GDB, the GNU debugger.
- Copyright (C) 2017-2019 Free Software Foundation, Inc.
+ Copyright (C) 2017-2020 Free Software Foundation, Inc.
This file is part of GDB.
@@ -18,15 +18,15 @@
along with this program. If not, see . */
#include "defs.h"
-#if GDB_SELF_TEST
-#include "selftest.h"
+#include "gdbsupport/selftest.h"
#include "selftest-arch.h"
#include "inferior.h"
#include "gdbthread.h"
#include "target.h"
#include "test-target.h"
#include "target-float.h"
-#include "common/def-vector.h"
+#include "gdbsupport/def-vector.h"
+#include "gdbarch.h"
namespace selftests {
@@ -70,11 +70,6 @@ register_to_value_test (struct gdbarch *gdbarch)
builtin->builtin_char32,
};
- /* Error out if debugging something, because we're going to push the
- test target, which would pop any existing target. */
- if (current_top_target ()->stratum () >= process_stratum)
- error (_("target already pushed"));
-
/* Create a mock environment. An inferior with a thread, with a
process_stratum target pushed. */
@@ -104,13 +99,7 @@ register_to_value_test (struct gdbarch *gdbarch)
push_target (&mock_target);
/* Pop it again on exit (return/exception). */
- struct on_exit
- {
- ~on_exit ()
- {
- pop_all_targets_at_and_above (process_stratum);
- }
- } pop_targets;
+ SCOPE_EXIT { pop_all_targets_at_and_above (process_stratum); };
/* Switch to the mock thread. */
scoped_restore restore_inferior_ptid
@@ -129,7 +118,7 @@ register_to_value_test (struct gdbarch *gdbarch)
{
std::vector expected (TYPE_LENGTH (type), 0);
- if (TYPE_CODE (type) == TYPE_CODE_FLT)
+ if (type->code () == TYPE_CODE_FLT)
{
/* Generate valid float format. */
target_float_from_string (expected.data (), type, "1.25");
@@ -168,13 +157,11 @@ register_to_value_test (struct gdbarch *gdbarch)
}
} // namespace selftests
-#endif /* GDB_SELF_TEST */
+void _initialize_gdbarch_selftests ();
void
-_initialize_gdbarch_selftests (void)
+_initialize_gdbarch_selftests ()
{
-#if GDB_SELF_TEST
selftests::register_test_foreach_arch ("register_to_value",
selftests::register_to_value_test);
-#endif
}