Commit d77df813 authored by Tom Lane's avatar Tom Lane

Got tired of waiting for spoonbill's compiler to get fixed. Let's

see if using an intermediate variable avoids the gcc bug.
parent 87e8014d
...@@ -11,15 +11,14 @@ ...@@ -11,15 +11,14 @@
extern int seg_yylex(void); extern int seg_yylex(void);
extern int significant_digits( char *str ); /* defined in seg.c */ extern int significant_digits(char *str); /* defined in seg.c */
void seg_yyerror(const char *message); void seg_yyerror(const char *message);
int seg_yyparse(void *result); int seg_yyparse(void *result);
float seg_atof( char *value ); static float seg_atof(char *value);
long threshold; static char strbuf[25] = {
char strbuf[25] = {
'0', '0', '0', '0', '0', '0', '0', '0', '0', '0',
'0', '0', '0', '0', '0', '0', '0', '0', '0', '0',
'0', '0', '0', '0', '0', '0', '0', '0', '0', '0',
...@@ -108,30 +107,39 @@ range: ...@@ -108,30 +107,39 @@ range:
boundary: boundary:
SEGFLOAT { SEGFLOAT {
$$.ext = '\0'; /* temp variable avoids a gcc 3.3.x bug on Sparc64 */
$$.sigd = significant_digits($1); float val = seg_atof($1);
$$.val = seg_atof($1);
$$.ext = '\0';
$$.sigd = significant_digits($1);
$$.val = val;
} }
| |
EXTENSION SEGFLOAT { EXTENSION SEGFLOAT {
$$.ext = $1[0]; /* temp variable avoids a gcc 3.3.x bug on Sparc64 */
$$.sigd = significant_digits($2); float val = seg_atof($2);
$$.val = seg_atof($2);
$$.ext = $1[0];
$$.sigd = significant_digits($2);
$$.val = val;
} }
; ;
deviation: deviation:
SEGFLOAT { SEGFLOAT {
$$.ext = '\0'; /* temp variable avoids a gcc 3.3.x bug on Sparc64 */
$$.sigd = significant_digits($1); float val = seg_atof($1);
$$.val = seg_atof($1);
$$.ext = '\0';
$$.sigd = significant_digits($1);
$$.val = val;
} }
; ;
%% %%
float static float
seg_atof(char *value) seg_atof(char *value)
{ {
Datum datum; Datum datum;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment