bug#65333: SCM_UNPACK triggers Werror=volatile in c++20

Tom de Vries <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

I tried to build gdb with guile support with -std=c++20 and ran 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))
       |                                            ~~~~~~~~~~~~~~~~~~~^~~~~
...

FWIW, I ran into the same with guile 3.0.x.

Thanks,
- Tom

GDB PR: https://sourceware.org/bugzilla/show_bug.cgi?id=30767
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.