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

Reply via email to