[gdb/build] Fix struct token_and_value odr violation
authorTom de Vries <tdevries@suse.de>
Mon, 14 Aug 2023 16:32:29 +0000 (18:32 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 14 Aug 2023 16:32:29 +0000 (18:32 +0200)
commit9972aac27d5d664a29abc88acd3a84c1e72064c4
treea717d488960f10226be6610a1ce6247d96a039f3
parent6a93ab8af49be41a44af1b4651e9ab2ebc6d2f77
[gdb/build] Fix struct token_and_value odr violation

When build gdb with -O2 -flto I run into:
...
gdb/c-exp.y:3003:8: warning: type 'struct token_and_value' violates the C++ \
  One Definition Rule [-Wodr]
 struct token_and_value
        ^
gdb/d-exp.y:1310:8: note: a different type is defined in another translation \
  unit
 struct token_and_value
        ^
...

Fix this by renaming to c_token_and_value and d_token_and_value.

Likewise in gdb/go-exp.y, renaming to go_token_and_value.

Tested on x86_64-linux.

Approved-By: Tom Tromey <tom@tromey.com>
PR build/22395
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395
gdb/c-exp.y
gdb/d-exp.y
gdb/go-exp.y