
[PATCH] Fix build failure with gcc-15
* see more details: http://errors.yoctoproject.org/Errors/Details/851179/
yang-data.c:594:9: error: too many arguments to function 'yangparse'; expected 0, have 1 594 | yangparse(parser); | ^~~~~~~~~ ~~~~~~ In file included from scanner-yang.h:19, from yang-data.c:47: parser-yang.h:16:12: note: declared here 16 | extern int yangparse(); | ^~~~~~~~~ In file included from parser-yang.c:346: parser-yang.tab.h:170:5: error: conflicting types for 'yangparse'; have 'int(struct Parser *)' 170 | int yangparse (struct Parser *parserPtr); | ^~~~~~~~~ In file included from parser-yang.y:40: parser-yang.h:16:12: note: previous declaration of 'yangparse' with type 'int(void)' 16 | extern int yangparse(); | ^~~~~~~~~ make[2]: *** [Makefile:573: yang-data.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... smi-data.c: In function 'loadModule': smi-data.c:4658:9: error: too many arguments to function 'smiparse'; expected 0, have 1 4658 | smiparse((void *)&parser); | ^~~~~~~~ ~~~~~~~~~~~~~~~ smi-data.c:42:12: note: declared here 42 | extern int smiparse(); | ^~~~~~~~ parser-smi.c:1515:5: error: conflicting types for 'smiparse'; have 'int(struct Parser *)' 1515 | int smiparse (struct Parser *parserPtr); | ^~~~~~~~ In file included from parser-smi.y:37: parser-smi.h:27:12: note: previous declaration of 'smiparse' with type 'int(void)' 27 | extern int smiparse(); | ^~~~~~~~ parser-smi.c:63:25: error: conflicting types for 'smiparse'; have 'int(struct Parser *)' 63 | #define yyparse smiparse | ^~~~~~~~ parser-smi.c:3207:1: note: in expansion of macro 'yyparse' 3207 | yyparse (struct Parser *parserPtr) | ^~~~~~~ parser-smi.h:27:12: note: previous declaration of 'smiparse' with type 'int(void)' 27 | extern int smiparse(); | ^~~~~~~~ parser-yang.c:68:25: error: conflicting types for 'yangparse'; have 'int(struct Parser *)' 68 | #define yyparse yangparse | ^~~~~~~~~ parser-yang.c:2312:1: note: in expansion of macro 'yyparse' 2312 | yyparse (struct Parser *parserPtr) | ^~~~~~~ parser-yang.h:16:12: note: previous declaration of 'yangparse' with type 'int(void)' 16 | extern int yangparse(); | ^~~~~~~~~ In file included from scanner-yang.l:31: parser-yang.tab.h:170:5: error: conflicting types for 'yangparse'; have 'int(struct Parser *)' 170 | int yangparse (struct Parser *parserPtr); | ^~~~~~~~~ In file included from scanner-yang.l:30: parser-yang.h:16:12: note: previous declaration of 'yangparse' with type 'int(void)' 16 | extern int yangparse(); | ^~~~~~~~~ scanner-yang.l: In function 'yangEnterLexRecursion': scanner-yang.l:79:1: warning: old-style function definition [-Wold-style-definition] 79 | | ^ make[2]: *** [Makefile:573: smi-data.lo] Error 1 In file included from parser-smi.y:36: parser-smi.c: In function 'smiparse': parser-smi.c:10265:29: warning: passing argument 1 of 'smiyyerror' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 10265 | yyerror (parserPtr, yymsgp); | ^~~~~~ error.h:25:44: note: in definition of macro 'yyerror' 25 | #define yyerror(parserPtr, msg) smiyyerror(msg, parserPtr) | ^~~ In file included from parser-smi.y:40: smi-check.h:71:30: note: expected 'char *' but argument is of type 'const char *' 71 | extern void smiyyerror(char *msg, Parser *parserPtr); | ~~~~~~^~~ make[2]: *** [Makefile:573: parser-yang.lo] Error 1 make[2]: *** [Makefile:573: parser-smi.lo] Error 1 make[2]: *** [Makefile:573: scanner-yang.lo] Error 1 In file included from scanner-smi.l:34: parser-smi.tab.h:192:5: error: conflicting types for 'smiparse'; have 'int(struct Parser *)' 192 | int smiparse (struct Parser *parserPtr); | ^~~~~~~~ In file included from util.h:22, from scanner-smi.l:32: parser-smi.h:27:12: note: previous declaration of 'smiparse' with type 'int(void)' 27 | extern int smiparse(); | ^~~~~~~~ scanner-smi.l: In function 'smiEnterLexRecursion': scanner-smi.l:76:1: warning: old-style function definition [-Wold-style-definition] 76 | smiEnterLexRecursion(file) | ^~~~~~~~~~~~~~~~~~~~
Signed-off-by: mark.yang mark.yang@lge.com --- lib/parser-smi.h | 2 +- lib/parser-yang.h | 4 ++-- lib/smi-data.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/parser-smi.h b/lib/parser-smi.h index 90d7ec2..c2a3d1f 100644 --- a/lib/parser-smi.h +++ b/lib/parser-smi.h @@ -24,7 +24,7 @@
-extern int smiparse(); +extern int smiparse(struct Parser *parserPtr);
diff --git a/lib/parser-yang.h b/lib/parser-yang.h index dbfec46..f008cd6 100644 --- a/lib/parser-yang.h +++ b/lib/parser-yang.h @@ -6,14 +6,14 @@ #include <stdio.h>
#include "yang-data.h" - +#include "smi-data.h"
#define YYERROR_VERBOSE
-extern int yangparse(); +extern int yangparse(struct Parser *parserPtr);
diff --git a/lib/smi-data.c b/lib/smi-data.c index c9d95a4..773bc01 100644 --- a/lib/smi-data.c +++ b/lib/smi-data.c @@ -39,7 +39,7 @@
#ifdef BACKEND_SMI #include "scanner-smi.h" -extern int smiparse(); +extern int smiparse(struct Parser *parserPtr); #endif
#ifdef BACKEND_SMING
participants (1)
-
mark.yang@lge.com