Hi gcc-patches mailing list, Karl Meakin via Sourceware Forge <[email protected]> has requested that the following forgejo pull request be published on the mailing list.
Created on: 2026-07-09 16:32:59+00:00 Latest update: 2026-07-09 17:35:45+00:00 Changes: 23 changed files, 915 additions, 920 deletions Head revision: karmea01/gcc-TEST ref km/constexpr commit d06b04d90ca5dc572ecf49fc3676eb21e872ae14 Base revision: gcc/gcc-TEST ref trunk commit d2b0fd6c438acca3fa38ebb74f3997189ed26364 r17-2284-gd2b0fd6c438acc Merge base: d2b0fd6c438acca3fa38ebb74f3997189ed26364 Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/188.diff Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/188 Requested Reviewers: The `CONSTEXPR` macro was used to support building GCC with compiler that don't support `constexpr`, but we have required GCC to be built with in C++14 mode for a few years now, so any compiler will have to support `constexpr` anyway. gcc/ChangeLog: * bitmap.h: Replace uses of `CONSTEXPR` with `constexpr`. * config/aarch64/aarch64-acle-builtins.cc: Likewise. * config/aarch64/aarch64-builtins.cc: Likewise. * config/aarch64/aarch64-protos.h: Likewise. * config/aarch64/aarch64-sve-builtins-base.cc: Likewise. * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. * config/aarch64/aarch64-sve-builtins-sme.cc: Likewise. * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. * config/aarch64/aarch64.cc: Likewise. * config/aarch64/driver-aarch64.cc: Likewise. * config/arm/arm-mve-builtins-base.cc: Likewise. * config/arm/arm-mve-builtins-functions.h: Likewise. * config/arm/arm-mve-builtins-shapes.cc: Likewise. * config/arm/arm-mve-builtins.cc: Likewise. * config/riscv/andes-vector-builtins-bases.cc: Likewise. * config/riscv/riscv-protos.h: Likewise. * config/riscv/riscv-vector-builtins-bases.cc: Likewise. * config/riscv/riscv-vector-builtins-shapes.cc: Likewise. * config/riscv/riscv-vector-builtins.cc: Likewise. * config/riscv/riscv-vector-builtins.h: Likewise. * config/riscv/sifive-vector-builtins-bases.cc: Likewise. * machmode.h: Likewise. ChangeLog: * v1: Initial revision * v2: Leave `CONSTEXPR` macro definition in-place, because it might be used by other projects that also include `ansidecl.h` Changed files: - M: gcc/bitmap.h - M: gcc/config/aarch64/aarch64-acle-builtins.cc - M: gcc/config/aarch64/aarch64-builtins.cc - M: gcc/config/aarch64/aarch64-protos.h - M: gcc/config/aarch64/aarch64-sve-builtins-base.cc - M: gcc/config/aarch64/aarch64-sve-builtins-functions.h - M: gcc/config/aarch64/aarch64-sve-builtins-shapes.cc - M: gcc/config/aarch64/aarch64-sve-builtins-sme.cc - M: gcc/config/aarch64/aarch64-sve-builtins-sve2.cc - M: gcc/config/aarch64/aarch64.cc - M: gcc/config/aarch64/driver-aarch64.cc - M: gcc/config/arm/arm-mve-builtins-base.cc - M: gcc/config/arm/arm-mve-builtins-functions.h - M: gcc/config/arm/arm-mve-builtins-shapes.cc - M: gcc/config/arm/arm-mve-builtins.cc - M: gcc/config/riscv/andes-vector-builtins-bases.cc - M: gcc/config/riscv/riscv-protos.h - M: gcc/config/riscv/riscv-vector-builtins-bases.cc - M: gcc/config/riscv/riscv-vector-builtins-shapes.cc - M: gcc/config/riscv/riscv-vector-builtins.cc - M: gcc/config/riscv/riscv-vector-builtins.h - M: gcc/config/riscv/sifive-vector-builtins-bases.cc - M: gcc/machmode.h Karl Meakin (1): Remove uses of `CONSTEXPR` macro gcc/bitmap.h | 2 +- gcc/config/aarch64/aarch64-acle-builtins.cc | 17 +- gcc/config/aarch64/aarch64-builtins.cc | 2 +- gcc/config/aarch64/aarch64-protos.h | 24 +- .../aarch64/aarch64-sve-builtins-base.cc | 80 +- .../aarch64/aarch64-sve-builtins-functions.h | 42 +- .../aarch64/aarch64-sve-builtins-shapes.cc | 8 +- .../aarch64/aarch64-sve-builtins-sme.cc | 4 +- .../aarch64/aarch64-sve-builtins-sve2.cc | 36 +- gcc/config/aarch64/aarch64.cc | 2 +- gcc/config/aarch64/driver-aarch64.cc | 4 +- gcc/config/arm/arm-mve-builtins-base.cc | 24 +- gcc/config/arm/arm-mve-builtins-functions.h | 36 +- gcc/config/arm/arm-mve-builtins-shapes.cc | 2 +- gcc/config/arm/arm-mve-builtins.cc | 8 +- .../riscv/andes-vector-builtins-bases.cc | 24 +- gcc/config/riscv/riscv-protos.h | 2 +- .../riscv/riscv-vector-builtins-bases.cc | 638 +++++++------- .../riscv/riscv-vector-builtins-shapes.cc | 2 +- gcc/config/riscv/riscv-vector-builtins.cc | 808 +++++++++--------- gcc/config/riscv/riscv-vector-builtins.h | 2 +- .../riscv/sifive-vector-builtins-bases.cc | 14 +- gcc/machmode.h | 54 +- 23 files changed, 915 insertions(+), 920 deletions(-) Range-diff against v1: 1: dab43695a2ab ! 1: d06b04d90ca5 ansidecl.h: Delete `CONSTEXPR` macro @@ Metadata Author: Karl Meakin <[email protected]> ## Commit message ## - ansidecl.h: Delete `CONSTEXPR` macro + Remove uses of `CONSTEXPR` macro - The `CONSTEXPR` was used to support building GCC with compiler that - don't support `constexpr`, but we have required GCC to be built with in - C++14 mode for a few years now, so any compiler will have to support - `constexpr` anyway. + The `CONSTEXPR` macro was used to support building GCC with compiler + that don't support `constexpr`, but we have required GCC to be built + with in C++14 mode for a few years now, so any compiler will have to + support `constexpr` anyway. gcc/ChangeLog: @@ Commit message * config/riscv/sifive-vector-builtins-bases.cc: Likewise. * machmode.h: Likewise. - include/ChangeLog: - - * ansidecl.h (CONSTEXPR): Delete macro. - ## gcc/bitmap.h ## @@ gcc/bitmap.h: class GTY(()) bitmap_head { public: @@ gcc/machmode.h: public: static bool includes_p (machine_mode); - - ## include/ansidecl.h ## -@@ include/ansidecl.h: So instead we use the macro below and test it against specific values. */ - #define ENUM_BITFIELD(TYPE) unsigned int - #endif - --#if defined(__cplusplus) && __cpp_constexpr >= 200704 --#define CONSTEXPR constexpr --#else --#define CONSTEXPR --#endif -- - /* A macro to disable the copy constructor and assignment operator. - When building with C++11 and above, the methods are explicitly - deleted, causing a compile-time error if something tries to copy. -- 2.54.0
