2017-11-17 Tamar Christina <tamar.christina@arm.com>
[official-gcc.git] / gcc / testsuite / gcc.dg / struct-simple.c
blob17b956022e4efb37044c7a74cc8baa9fb779221a
1 /* { dg-do-run } */
2 /* { dg-require-effective-target word_mode_no_slow_unalign } */
3 /* { dg-additional-options "-fdump-rtl-final" } */
5 /* Copyright 1996, 1999, 2007 Free Software Foundation, Inc.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>.
21 Please email any bugs, comments, and/or additions to this file to:
22 bug-gdb@prep.ai.mit.edu */
24 #include <stdio.h>
26 struct struct3 { char a, b, c; };
27 struct struct3 foo3 = { 'A', 'B', 'C'}, L3;
29 struct struct3 fun3()
31 return foo3;
34 #ifdef PROTOTYPES
35 void Fun3(struct struct3 foo3)
36 #else
37 void Fun3(foo3)
38 struct struct3 foo3;
39 #endif
41 L3 = foo3;
44 int main()
46 struct struct3 x = fun3();
48 printf("a:%c, b:%c, c:%c\n", x.a, x.b, x.c);
51 /* { dg-final { scan-rtl-dump-not {zero_extract:.+\[\s*foo3\s*\]} "final" } } */