]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[gdb/guile, c++20] Work around Werror=volatile in libguile.h
authorTom de Vries <tdevries@suse.de>
Sat, 19 Oct 2024 06:01:59 +0000 (08:01 +0200)
committerTom de Vries <tdevries@suse.de>
Sat, 19 Oct 2024 06:01:59 +0000 (08:01 +0200)
commit3173529d7decb91711f19a06eee54475683a1783
tree4e90431e2b570746fb69e0571ff2cc5d70c35571
parentcd05f8d44dd3a11b753a11ef5f8e36dcf4a379f5
[gdb/guile, c++20] Work around Werror=volatile in libguile.h

When building gdb with -std=c++20, I run into:
...
In file included from /usr/include/guile/2.0/libguile/__scm.h:479,
                 from /usr/include/guile/2.0/libguile.h:31,
                 from /data/vries/gdb/src/gdb/guile/guile-internal.h:30,
                 from /data/vries/gdb/src/gdb/guile/guile.c:37:
/usr/include/guile/2.0/libguile/gc.h: In function ‘scm_unused_struct* \
  scm_cell(scm_t_bits, scm_t_bits)’:
/usr/include/guile/2.0/libguile/tags.h:98:63: error: using value of \
  assignment with ‘volatile’-qualified left operand is deprecated \
  [-Werror=volatile]
   98 | #   define SCM_UNPACK(x) ((scm_t_bits) (0? (*(volatile SCM *)0=(x)): x))
      |                                            ~~~~~~~~~~~~~~~~~~~^~~~~
...

This was reported upstream [1].

Work around this by using SCM_DEBUG_TYPING_STRICTNESS == 0 instead of the
default SCM_DEBUG_TYPING_STRICTNESS == 1.

Tested on x86_64-linux.

Approved-By: Tom Tromey <tom@tromey.com>
PR guile/30767
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30767

[1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65333
gdb/guile/guile-internal.h