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)) | ~~~~~~~~~~~~~~~~~~~^~~~~ ...
The code can't be run so it is probably just some syntactic check. Anyway it should be reported to Guile.
(In reply to Tom Tromey from comment #1) > The code can't be run so it is probably just some syntactic check. It is, this is with the default SCM_DEBUG_TYPING_STRICTNESS == 1, I suppose if needed we could work around this by defining to 2 or 0. See https://fossies.org/linux/guile/libguile/scm.h > Anyway it should be reported to Guile. Done. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65333