1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2019-2020 Free Software Foundation, Inc.
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 3 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17
18/* This tests the handling of dwarf attributes:
19    DW_AT_endianity, DW_END_big, and DW_END_little.  */
20struct otherendian
21{
22  int v;
23  short w;
24  unsigned x : 3;
25  float f;
26  __complex__ float cplx;
27  double d;
28}
29#if defined __GNUC__ && (__GNUC__ >= 6)
30#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
31__attribute__( ( scalar_storage_order( "big-endian" ) ) )
32#else
33__attribute__( ( scalar_storage_order( "little-endian" ) ) )
34#endif
35#endif
36;
37
38void
39do_nothing (struct otherendian *c)
40{
41}
42
43int
44main (void)
45{
46  struct otherendian o = {3, 2, 7, 23.5, 1.25 + 7.25i, 75};
47
48  do_nothing (&o); /* START */
49
50  return 0;
51}
52