From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dirk Mueller Subject: [PATCH] Remove redundant YYLOC global declaration Date: Tue, 14 Jan 2020 18:53:41 +0100 Message-ID: <20200114175341.2994-1-dmueller@suse.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: Sender: devicetree-compiler-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dmueller-IBi9RG/b67k@public.gmane.org gcc 10 will default to -fno-common, which causes this error at link time: (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here This is because both dtc-lexer as well as dtc-parser define the same global symbol yyloc. Before with -fcommon those were merged into one defintion. The proper solution would be to to mark this as "extern", however that leads to: dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls] 26 | extern YYLTYPE yylloc; | ^~~~~~ In file included from dtc-lexer.l:24: dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here 127 | extern YYLTYPE yylloc; | ^~~~~~ cc1: all warnings being treated as errors which means the declaration is completely redundant and can just be dropped. Signed-off-by: Dirk Mueller --- dtc-lexer.l | 1 - 1 file changed, 1 deletion(-) diff --git a/dtc-lexer.l b/dtc-lexer.l index 5c6c3fd..b3b7270 100644 --- a/dtc-lexer.l +++ b/dtc-lexer.l @@ -23,7 +23,6 @@ LINECOMMENT "//".*\n #include "srcpos.h" #include "dtc-parser.tab.h" -YYLTYPE yylloc; extern bool treesource_error; /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ -- 2.24.1