blob: ee7a32ad29b585166a891be09f193e7ae37c11b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
/* Copyright (C) 2009 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your option)
any later version.
This file is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with this file; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Valid __ea declarations. */
/* { dg-do compile } */
/* Typedefs. */
typedef __ea int ea_int_t;
typedef __ea int *ea_int_star_t;
typedef int outer_t;
/* Externs. */
__ea extern int i1;
extern __ea int i2;
extern int __ea i3;
extern __ea ea_int_t i4; /* __ea qualifier permitted via typedef. */
extern int __ea __ea __ea dupe; /* __ea duplicate permitted directly. */
extern int __ea *ppu;
/* Pointers. */
__ea int *i4p;
/* Structs. */
struct st {
__ea int *p;
};
/* Variable definitions. */
__ea int ii0;
int *__ea ii1;
static int __ea ii2;
void
f1 ()
{
int *spu;
ppu = (ea_int_t *) spu;
ppu = (ea_int_star_t) spu;
}
void
f2 ()
{
int *spu;
spu = (int *) ppu;
ppu = (__ea int *) spu;
}
void
f3 ()
{
int i = sizeof (__ea int);
}
__ea int *f4 (void)
{
return 0;
}
int f5 (__ea int *parm)
{
static __ea int local4;
int tmp = local4;
local4 = *parm;
return tmp;
}
static inline __ea void *f6 (__ea void *start)
{
return 0;
}
void f7 (void)
{
__ea void *s1;
auto __ea void *s2;
}
__ea int *f8 (__ea int *x)
{
register __ea int *y = x;
__ea int *z = y;
return z;
}
long long f9 (__ea long long x[2])
{
return x[0] + x[1];
}
void f10 ()
{
static __ea outer_t o;
}
|