File tree 1 file changed +22
-14
lines changed
1 file changed +22
-14
lines changed Original file line number Diff line number Diff line change 11
11
12
12
extern int seg_yylex (void );
13
13
14
- extern int significant_digits ( char *str ); /* defined in seg.c */
14
+ extern int significant_digits (char *str); /* defined in seg.c */
15
15
16
16
void seg_yyerror (const char *message);
17
17
int seg_yyparse (void *result);
18
18
19
- float seg_atof ( char *value );
19
+ static float seg_atof (char *value);
20
20
21
- long threshold;
22
- char strbuf[25 ] = {
21
+ static char strbuf[25 ] = {
23
22
' 0' , ' 0' , ' 0' , ' 0' , ' 0' ,
24
23
' 0' , ' 0' , ' 0' , ' 0' , ' 0' ,
25
24
' 0' , ' 0' , ' 0' , ' 0' , ' 0' ,
@@ -108,30 +107,39 @@ range:
108
107
109
108
boundary :
110
109
SEGFLOAT {
111
- $$ .ext = ' \0 ' ;
112
- $$ .sigd = significant_digits($1 );
113
- $$ .val = seg_atof($1 );
110
+ /* temp variable avoids a gcc 3.3.x bug on Sparc64 */
111
+ float val = seg_atof($1 );
112
+
113
+ $$ .ext = ' \0 ' ;
114
+ $$ .sigd = significant_digits($1 );
115
+ $$ .val = val;
114
116
}
115
117
|
116
118
EXTENSION SEGFLOAT {
117
- $$ .ext = $1 [0 ];
118
- $$ .sigd = significant_digits($2 );
119
- $$ .val = seg_atof($2 );
119
+ /* temp variable avoids a gcc 3.3.x bug on Sparc64 */
120
+ float val = seg_atof($2 );
121
+
122
+ $$ .ext = $1 [0 ];
123
+ $$ .sigd = significant_digits($2 );
124
+ $$ .val = val;
120
125
}
121
126
;
122
127
123
128
deviation :
124
129
SEGFLOAT {
125
- $$ .ext = ' \0 ' ;
126
- $$ .sigd = significant_digits($1 );
127
- $$ .val = seg_atof($1 );
130
+ /* temp variable avoids a gcc 3.3.x bug on Sparc64 */
131
+ float val = seg_atof($1 );
132
+
133
+ $$ .ext = ' \0 ' ;
134
+ $$ .sigd = significant_digits($1 );
135
+ $$ .val = val;
128
136
}
129
137
;
130
138
131
139
%%
132
140
133
141
134
- float
142
+ static float
135
143
seg_atof (char *value)
136
144
{
137
145
Datum datum;
You can’t perform that action at this time.
0 commit comments