cobol: Avoid conflict with OVERFLOW in system headers [PR119217]
parse.h causes the COBOL build to break on Solaris: cobol/parse.h:356:5: error: expected identifier before numeric constant 356 | OVERFLOW = 305, /* OVERFLOW */ | ^~~~~~~~ The problem is that <math.h> has #define OVERFLOW 3 To avoid the conflict, this patch renames OVERFLOW to OVERFLOW_kw, following existing praxis. Btw., token_names.h has a comment claiming // generated by ./token_names.h.gen ../../build/gcc/cobol/parse.h but there's no token_names.h.gen anywhere in the tree, so I've updated the file manually. Bootstrapped without regressions on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and x86_64-pc-linux-gnu. 2025-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc/cobol: PR cobol/119217 * parse.y: Rename OVERFLOW to OVERFLOW_kw. Specify type name in %token directive. * scan.l: Likewise. * token_names.h: Regenerate. Co-Authored-By: Simon Sobisch <simonsobisch@gnu.org>
This commit is contained in:
parent
ee6173800e
commit
b0fb746bf2
3 changed files with 10 additions and 10 deletions
|
@ -338,7 +338,7 @@
|
|||
%token <number> INVALID
|
||||
%token <number> NUMBER NEGATIVE
|
||||
%token <numstr> NUMSTR "numeric literal"
|
||||
%token <number> OVERFLOW
|
||||
%token <number> OVERFLOW_kw "OVERFLOW"
|
||||
%token <computational> COMPUTATIONAL
|
||||
|
||||
%token <boolean> PERFORM BACKWARD
|
||||
|
@ -997,7 +997,7 @@
|
|||
DELETE DISPLAY DIVIDE EVALUATE END EOP EXIT FILLER_kw
|
||||
GOBACK GOTO
|
||||
INITIALIZE INSPECT
|
||||
MERGE MOVE MULTIPLY OPEN OVERFLOW PARAGRAPH PERFORM
|
||||
MERGE MOVE MULTIPLY OPEN OVERFLOW_kw PARAGRAPH PERFORM
|
||||
READ RELEASE RETURN REWRITE
|
||||
SEARCH SET SELECT SORT SORT_MERGE
|
||||
STRING_kw STOP SUBTRACT START
|
||||
|
@ -9488,7 +9488,7 @@ call_except: EXCEPTION
|
|||
std::swap($$.on_error, $$.not_error);
|
||||
}
|
||||
}
|
||||
| OVERFLOW
|
||||
| OVERFLOW_kw
|
||||
{
|
||||
$$.not_error = NULL;
|
||||
$$.on_error = label_add(LblArith,
|
||||
|
@ -9496,7 +9496,7 @@ call_except: EXCEPTION
|
|||
if( !$$.on_error ) YYERROR;
|
||||
parser_call_exception( $$.on_error );
|
||||
|
||||
assert( $1 == OVERFLOW || $1 == NOT );
|
||||
assert( $1 == OVERFLOW_kw || $1 == NOT );
|
||||
if( $1 == NOT ) {
|
||||
std::swap($$.on_error, $$.not_error);
|
||||
}
|
||||
|
@ -9751,7 +9751,7 @@ on_overflows: on_overflow[over] statements %prec ADD
|
|||
}
|
||||
;
|
||||
|
||||
on_overflow: OVERFLOW
|
||||
on_overflow: OVERFLOW_kw
|
||||
{
|
||||
$$.not_error = NULL;
|
||||
$$.on_error = label_add(LblString,
|
||||
|
@ -9759,7 +9759,7 @@ on_overflow: OVERFLOW
|
|||
if( !$$.on_error ) YYERROR;
|
||||
parser_string_overflow( $$.on_error );
|
||||
|
||||
assert( $1 == OVERFLOW || $1 == NOT );
|
||||
assert( $1 == OVERFLOW_kw || $1 == NOT );
|
||||
if( $1 == NOT ) {
|
||||
std::swap($$.on_error, $$.not_error);
|
||||
}
|
||||
|
|
|
@ -1543,9 +1543,9 @@ USE({SPC}FOR)? { return USE; }
|
|||
NOT{SPC}(ON{SPC})?EXCEPTION {
|
||||
yylval.number = NOT; return EXCEPTION; }
|
||||
|
||||
(ON{SPC})?OVERFLOW { yylval.number = OVERFLOW; return OVERFLOW; }
|
||||
(ON{SPC})?OVERFLOW { yylval.number = OVERFLOW_kw; return OVERFLOW_kw; }
|
||||
NOT{SPC}(ON{SPC})?OVERFLOW {
|
||||
yylval.number = NOT; return OVERFLOW; }
|
||||
yylval.number = NOT; return OVERFLOW_kw; }
|
||||
|
||||
(AT{SPC})?END/[[:space:]] { yylval.number = END;
|
||||
return END; }
|
||||
|
@ -2312,7 +2312,7 @@ BASIS { yy_push_state(basis); return BASIS; }
|
|||
ORGANIZATION { return ORGANIZATION; }
|
||||
OTHER { return OTHER; }
|
||||
OUTPUT { return OUTPUT; }
|
||||
OVERFLOW { return OVERFLOW; }
|
||||
OVERFLOW { return OVERFLOW_kw; }
|
||||
OVERRIDE { return OVERRIDE; }
|
||||
PACKED-DECIMAL { return PACKED_DECIMAL; }
|
||||
PAGE { return PAGE; }
|
||||
|
|
|
@ -49,7 +49,7 @@ tokens = {
|
|||
{ "number", NUMBER }, // 302
|
||||
{ "negative", NEGATIVE }, // 303
|
||||
{ "numstr", NUMSTR }, // 304
|
||||
{ "overflow", OVERFLOW }, // 305
|
||||
{ "overflow", OVERFLOW_kw }, // 305
|
||||
{ "computational", COMPUTATIONAL }, // 306
|
||||
{ "perform", PERFORM }, // 307
|
||||
{ "backward", BACKWARD }, // 308
|
||||
|
|
Loading…
Add table
Reference in a new issue