OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [gnu89-init-2.c] - Blame information for rev 298

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* Test whether __compound_literal.* objects are not emitted unless
2
   they are actually needed.  */
3
/* Origin: Jakub Jelinek <jakub@redhat.com> */
4
/* { dg-do compile } */
5
/* { dg-options "-std=gnu89 -O2" } */
6
/* { dg-final { scan-assembler-not "__compound_literal" } } */
7
 
8
struct A { int i; int j; int k[4]; };
9
struct B { };
10
struct C { int i; };
11
struct D { int i; struct C j; };
12
 
13
struct A a = (struct A) { .j = 6, .k[2] = 12 };
14
struct B b = (struct B) { };
15
int c[] = (int []) { [2] = 6, 7, 8 };
16
int d[] = (int [3]) { 1 };
17
int e[2] = (int []) { 1, 2 };
18
int f[2] = (int [2]) { 1 };
19
struct C g[3] = { [2] = (struct C) { 13 }, [1] = (const struct C) { 12 } };
20
struct D h = { .j = (struct C) { 15 }, .i = 14 };
21
struct D i[2] = { [1].j = (const struct C) { 17 },
22
                  [0] = { 0, (struct C) { 16 } } };
23
static const int *j = 1 ? (const int *) 0 : & (const int) { 26 };
24
int k = (int) sizeof ((int [6]) { 1, 2, 3, 4, 5, 6 }) + 4;
25
int l = (int) sizeof ((struct C) { 16 });

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.