1 # Copyright 2023 Free Software Foundation, Inc.
2 # This program is free software; you can redistribute it and/or modify
3 # it under the terms of the GNU General Public License as published by
4 # the Free Software Foundation; either version 3 of the License, or
5 # (at your option) any later version.
7 # This program is distributed in the hope that it will be useful,
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 # GNU General Public License for more details.
12 # You should have received a copy of the GNU General Public License
13 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # Test how GDB displays empty enums. At one point an enum with no
16 # enumeration values would be considered a flag enum, and, as a
17 # consequence any value with that type would display like:
19 # (gdb) print enum_var
22 # Which resulted in a lot of noise. Now GDB treats empty enums as a
23 # non-flag enum, and should print them like this:
25 # (gdb) print enum_var
28 # This test checks this behaviour.
32 if {[prepare_for_testing "failed to prepare" $testfile $srcfile]} {
40 gdb_breakpoint "breakpt"
41 gdb_continue_to_breakpoint "stop in breakpt"
44 gdb_test "print arg1" " = 8"
45 gdb_test "print arg2" " = 4"
47 gdb_test "ptype arg1" "type = enum enum1 : unsigned int \\{\\}"
48 gdb_test "ptype arg2" "type = enum class enum2 : unsigned char \\{\\}"