g++ 6.3 启用宽松的 constexpr
g++ 6.3 enable relaxed constexpr
我正在使用 gcc 6.3.0(特别是 MinGW,尽管我也想支持 linux)。我的代码具有有效的 constexpr
函数。我使用的一个库在函数声明中使用了一个具有 constexpr
潜力的宏,它仅在 __has_feature(cxx_relaxed_constexpr)
时被定义为 constexpr
。虽然我知道有问题的库函数可以与定义的宏一起正常工作,但它没有定义为 constexpr
因为显然 mingw g++(可能还有真正的 g++)默认情况下没有启用该功能。我想让 g++ 启用该标志,希望通过 makefile 中的 cli 标志,这样我就不必修改库头文件了。
constexpr if
and/or if constexpr
可以的话也不错
我能找到的最相关的 SO post 是 this one,但未得到答复。
你需要一台更好的时光机。
- GCC 6.3 released on 2016 年 12 月 21 日。
- C++17 标准直到 2017 年底才发布。
这个 page 说 constexpr if
在 gcc 7 中首次可用。
我正在使用 gcc 6.3.0(特别是 MinGW,尽管我也想支持 linux)。我的代码具有有效的 constexpr
函数。我使用的一个库在函数声明中使用了一个具有 constexpr
潜力的宏,它仅在 __has_feature(cxx_relaxed_constexpr)
时被定义为 constexpr
。虽然我知道有问题的库函数可以与定义的宏一起正常工作,但它没有定义为 constexpr
因为显然 mingw g++(可能还有真正的 g++)默认情况下没有启用该功能。我想让 g++ 启用该标志,希望通过 makefile 中的 cli 标志,这样我就不必修改库头文件了。
constexpr if
and/or if constexpr
可以的话也不错
我能找到的最相关的 SO post 是 this one,但未得到答复。
你需要一台更好的时光机。
- GCC 6.3 released on 2016 年 12 月 21 日。
- C++17 标准直到 2017 年底才发布。
这个 page 说 constexpr if
在 gcc 7 中首次可用。