1# Tests for anonymous union support.
2# Copyright 2011-2020 Free Software Foundation, Inc.
3
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17standard_testfile .cc
18
19if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug c++}] } {
20     return -1
21}
22
23if { [is_aarch32_target] } {
24    gdb_test "ptype t::t" "type = struct t {\r\n    C m;\r\n} \\*\\(t \\* const\\)" \
25	"print type of t::t"
26} else {
27    gdb_test "ptype t::t" "type = void \\(t \\* const\\)" \
28	"print type of t::t"
29}
30
31gdb_test "ptype X::t2" "type = struct X::t2 {\[\r\n \]*X::C2 m;\[\r\n \]*}" \
32    "print type of X::t2"
33
34if { [is_aarch32_target] } {
35    gdb_test "ptype X::t2::t2" "type = struct X::t2 {\r\n    X::C2 m;\r\n} \\*\\(X::t2 \\* const\\)" \
36	"print type of X::t2::t2"
37    gdb_test "ptype t3::~t3" "type = void \\*\\(t3 \\* const\\)" \
38	"print type of t3::~t3"
39} else {
40    gdb_test "ptype X::t2::t2" "type = void \\(X::t2 \\* const\\)" \
41	"print type of X::t2::t2"
42    gdb_test "ptype t3::~t3" "type = void \\(t3 \\* const\\)" \
43	"print type of t3::~t3"
44}
45