repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
2007-05-23 H.J. Lu <hongjiu.lu@intel.com>
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.target
/
i386
/
20000807-1.c
blob
70b0182b05407edd615990daeb1b44e30a1311b5
1
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
2
/* { dg-require-effective-target fpic } */
3
/* { dg-options "-Os -fpic" } */
4
5
#include <string.h>
6
7
typedef
struct
8
{
9
char
*
a
;
10
char
*
b
;
11
} *
foo
;
12
13
void
14
bar
(
foo x
)
15
{
16
char
*
c
=
x
->
b
;
17
char
*
d
= (
void
*)
0
;
18
unsigned int
e
=
0
,
f
=
0
,
g
;
19
while
(*
c
!=
':'
)
20
if
(*
c
==
'%'
)
21
{
22
++
c
;
23
switch
(*
c
++)
24
{
25
case
'N'
:
26
g
=
strlen
(
x
->
a
);
27
if
(
e
+
g
>=
f
) {
28
char
*
h
=
d
;
29
f
+=
256
+
g
;
30
d
= (
char
*)
__builtin_alloca
(
f
);
31
memcpy
(
d
,
h
,
e
);
32
};
33
memcpy
(&
d
[
e
],
x
->
a
,
g
);
34
e
+=
g
;
35
break
;
36
}
37
}
38
}