2 /* { dg-options "-O2 -std=c99" } */
5 int puts(const char *);
6 int snprintf(char *, __SIZE_TYPE__
, const char *, ...);
7 __SIZE_TYPE__
strspn(const char *, const char *);
17 static int tostringbuff (struct TValue
*num
, char *str
) {
20 len
= snprintf(str
,50,"%lld",num
->value_
.i
);
22 len
= snprintf(str
,50,"%.14g",num
->value_
.n
);
23 if (str
[strspn(str
, "-0123456789")] == '\0') {
31 void unused (int *buff
, struct TValue
*num
) {
33 *buff
+= tostringbuff(num
, junk
);
38 void addnum2buff (int *buff
, struct TValue
*num
) __attribute__((__noinline__
));
39 void addnum2buff (int *buff
, struct TValue
*num
) {
40 *buff
+= tostringbuff(num
, space
);
43 int __attribute__((noipa
)) check_space (char *s
)
45 return (s
[0] == '1' && s
[1] == '.' && s
[2] =='0' && s
[3] == '\0');
53 addnum2buff(&buff
, &num
);
54 if (!check_space(space
))