diff options
author | Tom de Vries <tdevries@suse.de> | 2023-08-14 22:52:52 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-08-14 22:52:52 +0200 |
commit | bc6c74b1406cd9f71b432ac61799c1d1bea60a39 (patch) | |
tree | aae99fc5e0725266837bd61c82e5217862c959bf | |
parent | fdeef5e428c0d85003911262a7831babc66c60de (diff) | |
download | binutils-bc6c74b1406cd9f71b432ac61799c1d1bea60a39.zip binutils-bc6c74b1406cd9f71b432ac61799c1d1bea60a39.tar.gz binutils-bc6c74b1406cd9f71b432ac61799c1d1bea60a39.tar.bz2 |
[gdb/build] Fix YYSTYPE and yyalloc odr violation
When building gdb with -O2 -flto I run into:
...
ada-exp.c.tmp:576:7: error: type ‘union YYSTYPE’ violates the C++ One \
Definition Rule [-Werror=odr]
...
Fix this by renaming to ada_exp_YYSTYPE and likewise for other .y files.
Likewise for yyalloc.
Tested on x86_64-linux. Also tested with byacc rather than bison on
suggestion of Tom Tromey.
Approved-By: Tom Tromey <tom@tromey.com>
PR build/22395
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395
-rw-r--r-- | gdb/Makefile.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 8521e8d..ccdd84b 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -2509,6 +2509,8 @@ po/$(PACKAGE).pot: force -e 's/\([ \t;,(]\)free$$/\1xfree/g' \ -e '/^#line.*y.tab.c/d' \ -e 's/YY_NULL/YY_NULLPTR/g' \ + -e "s/YYSTYPE/$(subst -,_,$*)_YYSTYPE/g" \ + -e "s/yyalloc/$(subst -,_,$*)_yyalloc/g" \ < $@.tmp > $@.new && \ rm -f $@.tmp && \ mv $@.new $@ |