On Thu, 5 Feb 2026, Andrew Pinski wrote: > On Thu, Feb 5, 2026 at 5:11 AM Torbjörn SVENSSON > <[email protected]> wrote: > > > > Replace all usage of CONST_CAST* macros with const_cast<> C++ expression. > > For the locations that may be used in both C and C++, especially header > > files. Expand the macro to do the preprocessor selection in place (only > > 3 locations in this patch series). > > > > This patch series also replaces the need for > > https://gcc.gnu.org/pipermail/gcc-patches/2026-January/707241.html > > on trunk. The patch above is still valid for releases/gcc-15 though > > unless this entire series is to be backported to releases/gcc-15. > > > > This patch series have been regtested on top of r16-7257-g0ef6df1db19 > > for x86_64-pc-linux-gnu. In addition, I've built the source tree with > > target x86_64-w64-mingw and arm-none-eabi. > > > > > > Ok for trunk? > > Ok for 17, I will leave it up to Richard if he wants these patches in > for GCC 16 or not.
OK for trunk now, it makes the code base consistent (lot's of acutal const_cast<> are already there). Thanks for doing this! Richard. > > > > > > > > Torbjörn SVENSSON (8): > > middle-end: replace CONST_CAST_RTX_INSN with const_cast<struct > > rtx_insn *> [PR123892] > > middle-end: replace CONST_CAST_RTX with const_cast<rtx> [PR123892] > > middle-end: replace CONST_CAST_BB with const_cast<basic_block> > > [PR123892] > > middle-end: replace CONST_CAST_GIMPLE with const_cast<gimple *> > > [PR123892] > > middle-end: replace CONST_CAST_TREE with const_cast<tree> [PR123892] > > gcc/tree.h: replace CONST_CAST2 with const_cast<> [PR123892] > > middle-end: replace CONST_CAST with const_cast<> [PR123892] > > libgcc: replace CONST_CAST2 macro > > > > gcc/alias.cc | 2 +- > > gcc/attribs.cc | 14 ++++---- > > gcc/builtins.cc | 10 +++--- > > gcc/c-family/c-common.cc | 2 +- > > gcc/c-family/c-gimplify.cc | 2 +- > > gcc/c-family/c-lex.cc | 6 ++-- > > gcc/c/c-decl.cc | 2 +- > > gcc/c/c-parser.cc | 2 +- > > gcc/collect2.cc | 2 +- > > gcc/config/aarch64/aarch64.cc | 5 +-- > > gcc/config/arm/arm.cc | 6 ++-- > > gcc/config/bpf/core-builtins.cc | 4 +-- > > gcc/config/darwin.cc | 6 ++-- > > gcc/config/gcn/mkoffload.cc | 13 +++++--- > > gcc/config/i386/x86-tune-sched-bd.cc | 2 +- > > gcc/config/nvptx/mkoffload.cc | 6 ++-- > > gcc/config/nvptx/nvptx.cc | 2 +- > > gcc/config/rs6000/rs6000.cc | 6 ++-- > > gcc/cp/call.cc | 4 +-- > > gcc/cp/constraint.cc | 2 +- > > gcc/cp/cp-lang.cc | 2 +- > > gcc/cp/cp-objcp-common.cc | 2 +- > > gcc/cp/cp-tree.h | 12 ++++--- > > gcc/cp/decl.cc | 2 +- > > gcc/cp/init.cc | 2 +- > > gcc/cp/parser.cc | 2 +- > > gcc/cp/pt.cc | 12 +++---- > > gcc/cp/reflect.cc | 6 ++-- > > gcc/cp/tree.cc | 32 +++++++++---------- > > gcc/cp/typeck.cc | 10 +++--- > > gcc/cp/typeck2.cc | 2 +- > > gcc/ctfc.cc | 6 ++-- > > gcc/d/d-builtins.cc | 2 +- > > gcc/d/d-incpath.cc | 4 +-- > > gcc/d/d-lang.cc | 4 +-- > > gcc/d/d-spec.cc | 4 +-- > > gcc/d/decl.cc | 4 +-- > > gcc/dumpfile.cc | 8 ++--- > > gcc/fold-const.cc | 15 +++++---- > > gcc/fortran/gfortran.h | 7 +++- > > gcc/fortran/module.cc | 14 ++++---- > > gcc/fortran/openmp.cc | 2 +- > > gcc/fortran/options.cc | 2 +- > > gcc/fortran/parse.cc | 2 +- > > gcc/fortran/scanner.cc | 4 +-- > > gcc/fortran/st.cc | 2 +- > > gcc/fortran/trans-intrinsic.cc | 2 +- > > gcc/gcc.cc | 36 ++++++++++----------- > > gcc/gcov.cc | 2 +- > > gcc/gengtype-parse.cc | 4 +-- > > gcc/gengtype-state.cc | 2 +- > > gcc/gengtype.cc | 28 ++++++++-------- > > gcc/genoutput.cc | 2 +- > > gcc/ggc-page.cc | 2 +- > > gcc/gimple-expr.cc | 2 +- > > gcc/gimple.h | 2 +- > > gcc/godump.cc | 12 +++---- > > gcc/lto-section-in.cc | 6 ++-- > > gcc/lto-wrapper.cc | 8 ++--- > > gcc/lto/lto-common.cc | 10 +++--- > > gcc/lto/lto.cc | 2 +- > > gcc/omp-offload.cc | 2 +- > > gcc/passes.cc | 4 +-- > > gcc/plugin.cc | 2 +- > > gcc/prefix.cc | 2 +- > > gcc/pretty-print.cc | 2 +- > > gcc/print-rtl.cc | 3 +- > > gcc/recog.cc | 2 +- > > gcc/rtlanal.cc | 3 +- > > gcc/rust/backend/rust-tree.cc | 16 +++++----- > > gcc/sched-deps.cc | 2 +- > > gcc/sel-sched-ir.cc | 4 +-- > > gcc/selftest.cc | 2 +- > > gcc/statistics.cc | 2 +- > > gcc/stringpool.cc | 4 +-- > > gcc/system.h | 48 ---------------------------- > > gcc/tracer.cc | 3 +- > > gcc/tree-cfg.cc | 4 +-- > > gcc/tree-object-size.cc | 4 +-- > > gcc/tree-profile.cc | 12 +++---- > > gcc/tree.cc | 4 +-- > > gcc/tree.h | 26 +++++++-------- > > gcc/tsystem.h | 3 -- > > gcc/var-tracking.cc | 2 +- > > gcc/varasm.cc | 6 ++-- > > gcc/vec.h | 2 +- > > libgcc/config/i386/gthr-win32.h | 17 ++++------ > > libgcc/config/pa/gthr-dce.h | 18 ++++------- > > 88 files changed, 266 insertions(+), 315 deletions(-) > > > > -- > > 2.43.0 > > > -- Richard Biener <[email protected]> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Jochen Jaser, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
