Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.cp / many-args.cc
1 /* Copyright 2019-2022 Free Software Foundation, Inc.
2
3 This file is part of GDB.
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 #include <string.h>
19
20 /* Vector type will align on a 16-byte boundary. */
21 typedef int v4si __attribute__ ((vector_size (16)));
22
23 struct ss
24 {
25 static v4si static_field;
26
27 unsigned char aa;
28
29 bool operator== (const ss &rhs)
30 {
31 return (memcmp (&this->static_field, &rhs.static_field,
32 sizeof (this->static_field)) == 0
33 && this->aa == rhs.aa);
34 }
35 };
36
37 v4si ss::static_field = { 1, 2, 3, 4 };
38
39 ss ref_val = { 'a' };
40
41 bool
42 check_val (ss v1, ss v2, ss v3, ss v4, ss v5, ss v6, ss v7, ss v8,
43 ss v9, ss v10, ss v11, ss v12, ss v13, ss v14, ss v15,
44 ss v16, ss v17, ss v18, ss v19, ss v20, ss v21, ss v22,
45 ss v23, ss v24, ss v25, ss v26, ss v27, ss v28, ss v29,
46 ss v30, ss v31, ss v32, ss v33, ss v34, ss v35, ss v36,
47 ss v37, ss v38, ss v39, ss v40)
48 {
49 return (v1 == ref_val && v2 == ref_val && v3 == ref_val && v4 == ref_val
50 && v5 == ref_val && v6 == ref_val && v7 == ref_val
51 && v8 == ref_val && v9 == ref_val && v10 == ref_val
52 && v11 == ref_val && v12 == ref_val && v13 == ref_val
53 && v14 == ref_val && v15 == ref_val && v16 == ref_val
54 && v17 == ref_val && v18 == ref_val && v19 == ref_val
55 && v20 == ref_val && v21 == ref_val && v22 == ref_val
56 && v23 == ref_val && v24 == ref_val && v25 == ref_val
57 && v26 == ref_val && v27 == ref_val && v28 == ref_val
58 && v29 == ref_val && v30 == ref_val && v31 == ref_val
59 && v32 == ref_val && v33 == ref_val && v34 == ref_val
60 && v35 == ref_val && v36 == ref_val && v37 == ref_val
61 && v38 == ref_val && v39 == ref_val && v40 == ref_val);
62 }
63
64 int
65 main ()
66 {
67 bool flag = check_val (ref_val, ref_val, ref_val, ref_val, ref_val,
68 ref_val, ref_val, ref_val, ref_val, ref_val,
69 ref_val, ref_val, ref_val, ref_val, ref_val,
70 ref_val, ref_val, ref_val, ref_val, ref_val,
71 ref_val, ref_val, ref_val, ref_val, ref_val,
72 ref_val, ref_val, ref_val, ref_val, ref_val,
73 ref_val, ref_val, ref_val, ref_val, ref_val,
74 ref_val, ref_val, ref_val, ref_val, ref_val);
75 return (flag ? 0 : 1); /* break-here */
76 }
This page took 0.030685 seconds and 4 git commands to generate.