On Fri, 25 Sept 2026 at 17:41, Tomasz Kaminski <[email protected]> wrote: > > > > On Fri, Sep 25, 2026 at 6:30 PM Jonathan Wakely <[email protected]> wrote: >> >> The stdalign.h macros were removed from C++26 but this patch just tweaks >> the comment, without actually removing them. Doing so would be a >> breaking change, although probably not in practice because it seems very >> unlikely any C++ code is checking those macros. >> >> The macros were also removed from C23, so if we remove them from >> stdalign.h for C then we can decide to do the same for C++ at that time. >> >> gcc/ChangeLog: >> >> * ginclude/stdalign.h: Note that the macros were removed from >> C++ in C++26. >> * ginclude/stdbool.h: Note that the macro is deprecated since >> C++23. >> --- >> >> Tested x86_64-linux. >> >> OK for trunk? > > This looks good to me, but we usually reserve OK as approval from the > official reviewer. > (unless I become one, and I am not aware of it).
It needs approval from a GCC front-end maintainer or global approver, because these headers are not part of libstdc++ (I included the libstdc++ list for awareness because these headers are certainly used by libstdc++ and deprecating/removing the macros is a C++ library change). >> >> >> gcc/ginclude/stdalign.h | 2 +- >> gcc/ginclude/stdbool.h | 1 + >> 2 files changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/gcc/ginclude/stdalign.h b/gcc/ginclude/stdalign.h >> index a68cb28059ce..94ecbf14a417 100644 >> --- a/gcc/ginclude/stdalign.h >> +++ b/gcc/ginclude/stdalign.h >> @@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. >> If not, see >> #define alignof _Alignof >> #endif >> >> -/* These are defined for C++, but deprecated in C++23. */ >> +/* These are defined for C++, but deprecated in C++23 and gone in C++26. */ >> #define __alignas_is_defined 1 >> #define __alignof_is_defined 1 >> >> diff --git a/gcc/ginclude/stdbool.h b/gcc/ginclude/stdbool.h >> index 9070a1876233..6f72714f6d62 100644 >> --- a/gcc/ginclude/stdbool.h >> +++ b/gcc/ginclude/stdbool.h >> @@ -46,6 +46,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. >> If not, see >> #endif /* __cplusplus */ >> >> /* Signal that all the definitions are present. */ >> +/* This is defined for C++, but deprecated in C++23. */ >> #define __bool_true_false_are_defined 1 >> >> #endif /* stdbool.h */ >> -- >> 2.55.0 >>
