diff --git a/gdb/testsuite/gdb.dwarf2/enum-type-c++.cc b/gdb/testsuite/gdb.dwarf2/enum-type-c++.cc new file mode 100644 index 00000000000..c0ffaad0316 --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/enum-type-c++.cc @@ -0,0 +1,29 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2024 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +namespace ns { + +class A { +public: + enum { + val1 = 1 + }; +}; + +} + +int u1 = ns::A::val1; diff --git a/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp b/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp new file mode 100644 index 00000000000..44ad225de02 --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp @@ -0,0 +1,44 @@ +# Copyright 2024 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +require !readnow + +load_lib dwarf.exp + +# This test can only be run on targets which support DWARF-2 and use gas. +require dwarf2_support + +standard_testfile main.c .cc + +if { [prepare_for_testing "failed to prepare" $testfile \ + [list $srcfile $srcfile2] {debug c++}] } { + return -1 +} + +require {string equal [have_index $binfile] ""} + +set re_ws "\[ \t\]" + +# Regression test for PR31900. +setup_kfail "gdb/31900" *-*-* +set val1 ns::A::val1 +gdb_test_lines "maint print objfiles" \ + "val1 has a parent" \ + [multi_line \ + "" \ + "$re_ws+qualified:$re_ws+$val1" \ + ".*"] + +gdb_test "print $val1" " = $val1"