On 2026-02-06 08:20, Richard Biener wrote:
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 the quick approval!
Pushed as
r16-7352-gbcb3b1eef1eca3
r16-7351-g458c7926d48959
r16-7350-ga95daad1a32476
r16-7349-g6b228f02ef7fa5
r16-7348-gc3d96ff9e916c0
r16-7347-g21f06216674aad
r16-7346-g5f12ad3aff8325
r16-7345-gdef106e9a2f219
Kind regards,
Torbjörn
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