1 /* { dg-do compile } */
2 /* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } } */
3 /* { dg-options "-mcpu=8548 -mno-spe -mfloat-gprs=double -Os -fdata-sections -fpic -mrelocatable" } */
7 void *func2 (void *ptr
);
9 static const char *ifs
;
13 /* None of these fields are used, but removing any
14 of them makes the problem go away. */
21 #define NULL_O_STRING {NULL,0,0,0}
23 static int parse_stream (void *dest
, void *ctx
)
43 static void mapset (const char *set
, int code
)
46 for (s
=set
; *s
; s
++) map
[(int)*s
] = code
;
49 static void update_ifs_map(void)
51 /* char *ifs and char map[256] are both globals. */
53 if (ifs
== NULL
) ifs
="def";
57 char subst
[2] = {4, 0};
63 int parse_stream_outer (int flag
)
66 o_string temp
=NULL_O_STRING
;
71 func2 (&blah
); /* a memory clobber works as well. */
72 rcode
= parse_stream (&temp
, NULL
);
77 } while (rcode
!= -1);
81 /* { dg-final { if ![file exists pr60158.s] { fail "pr60158.c (compile)"; return; } } } */
83 /* { dg-final { set c_rel [llength [grep pr60158.s \\.data\\.rel\\.ro\\.local]] } } */
84 /* { dg-final { set c_fix [llength [grep pr60158.s \\.fixup]] } } */
85 /* { dg-final { if [string match $c_rel $c_fix] \{ } } */
86 /* { dg-final { pass "pr60158.c (passed)" } } */
87 /* { dg-final { \} else \{ } } */
88 /* { dg-final { fail "pr60158.c (.fixup table entries not generated for .data.rel.ro.local section)" } } */
89 /* { dg-final { \} } } */