jbofihe: fix build with gcc14
- add patch fixing gcc14 errors:
`implicit-int`:
```
rpc_tab.c:1:8: error: type defaults to 'int' in declaration of
'elide_trace_reduce' [-Wimplicit-int]
1 | extern elide_trace_reduce(int, int);
| ^~~~~~~~~~~~~~~~~~
rpc_tab.c:2:8: error: type defaults to 'int' in declaration of
'elide_trace_shift' [-Wimplicit-int]
2 | extern elide_trace_shift(int,int);
| ^~~~~~~~~~~~~~~~~
rpc_tab.c:3:8: error: type defaults to 'int' in declaration of
'report_trace_shift' [-Wimplicit-int]
3 | extern report_trace_shift(int);
| ^~~~~~~~~~~~~~~~~~
rpc_tab.c:4:8: error: type defaults to 'int' in declaration of
'report_trace_reduce' [-Wimplicit-int]
4 | extern report_trace_reduce(int, int);
| ^~~~~~~~~~~~~~~~~~~
rpc_tab.c:5:8: error: type defaults to 'int' in declaration of
'report_trace_error' [-Wimplicit-int]
5 | extern report_trace_error(short *yyss, short *yyssp);
| ^~~~~~~~~~~~~~~~~~
```
`implicit-function-declaration`:
```
parse.tab.c: In function 'yyparse':
parse.tab.c:1148:16: error: implicit declaration of function 'yylex'
[-Wimplicit-function-declaration]
1148 | yychar = yylex ();
| ^~~~~
parse.tab.c:1595:7: error: implicit declaration of function 'yyerror';
did you mean 'yyerrok'? [-Wimplicit-function-declaration]
1595 | yyerror (YY_("syntax error"));
| ^~~~~~~
| yyerrok
n2d.c: In function 'main':
n2d.c:1529:12: error: implicit declaration of function 'yyparse'
[-Wimplicit-function-declaration]
1529 | result = yyparse();
| ^~~~~~~
```
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
diff --git a/add_trace_to_tabc.pl b/add_trace_to_tabc.pl
|
||||
index 04be787..3186075 100644
|
||||
--- a/add_trace_to_tabc.pl
|
||||
+++ b/add_trace_to_tabc.pl
|
||||
@@ -15,11 +15,11 @@
|
||||
# COPYRIGHT
|
||||
|
||||
print <<EOF;
|
||||
-extern elide_trace_reduce(int, int);
|
||||
-extern elide_trace_shift(int,int);
|
||||
-extern report_trace_shift(int);
|
||||
-extern report_trace_reduce(int, int);
|
||||
-extern report_trace_error(short *yyss, short *yyssp);
|
||||
+extern void elide_trace_reduce(int, int);
|
||||
+extern void elide_trace_shift(int,int);
|
||||
+extern void report_trace_shift(int);
|
||||
+extern void report_trace_reduce(int, int);
|
||||
+extern void report_trace_error(short *yyss, short *yyssp);
|
||||
EOF
|
||||
|
||||
while (<>) {
|
||||
diff --git a/dfasyn/n2d.h b/dfasyn/n2d.h
|
||||
index b2159ba..6c56abb 100644
|
||||
--- a/dfasyn/n2d.h
|
||||
+++ b/dfasyn/n2d.h
|
||||
@@ -181,6 +181,10 @@ Expr * new_xor_expr(Expr *c1, Expr *c2);
|
||||
Expr * new_cond_expr(Expr *c1, Expr *c2, Expr *c3);
|
||||
Expr * new_sym_expr(char *sym_name);
|
||||
|
||||
+int yyparse(void);
|
||||
+void yyerror(char *);
|
||||
+int yylex(void);
|
||||
+
|
||||
void define_symbol(Evaluator *x, char *name, Expr *e);
|
||||
void define_result(Evaluator *x, char *string, Expr *e, int early);
|
||||
void define_symresult(Evaluator *x, char *string, Expr *e, int early);
|
||||
|
||||
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1xx7x1256sjncyzx656jl6jl546vn8zz0siymqalz6v9yf341p98";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix build with gcc14:
|
||||
# https://github.com/lojban/jbofihe/pull/19
|
||||
./fix-gcc14-errors.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
flex
|
||||
|
||||
Reference in New Issue
Block a user