21#include "gdbsupport/selftest.h"
22#include "gdbsupport/scoped_restore.h"
25namespace scoped_restore_tests {
34static scoped_restore_tmpl<int>
48 scoped_restore restore = make_scoped_restore (&integer);
49 SELF_CHECK (integer == 0);
52 SELF_CHECK (integer == 0);
59 scoped_restore restore = make_scoped_restore (&integer, 1);
60 SELF_CHECK (integer == 1);
62 SELF_CHECK (integer == 0);
69 scoped_restore restore = make_scoped_restore (&integer, 1);
70 SELF_CHECK (integer == 1);
74 SELF_CHECK (integer == 1);
83 scoped_restore restore = make_scoped_restore (&base, &derived);
85 SELF_CHECK (base == &derived);
87 SELF_CHECK (base ==
nullptr);
110 selftests::register_test (
"scoped_restore",
static scoped_restore_tmpl< int > make_scoped_restore_global(int value)
void _initialize_scoped_restore_selftests()