是否可以在gcc中仅启用特定的C ++语言功能?

时间:2019-11-20 16:35:26

标签: c++ gcc

我有一个目前针对gcc 7.2的c ++ 14项目,并且我正在寻找从针对c ++ 17的项目中移植代码的方法。该项目广泛使用了if constexpr。 gcc 7.2使用--std = c ++ 1z标志支持if constexpr,但是它同时具有其他所有(当时)实验性的C ++ 17功能。

是否有一种方法可以在gcc 7.2中仅启用特定的语言功能(在本例中为if constexpr)?

1 个答案:

答案 0 :(得分:2)

否,这是不可能的。是全有还是全无。

在g ++中,对语言方言的控制水平有限 How to Run External Commands and Programs Locally and Remotely from JMeter

如果使用了这些方言,它会发出警告,并且您可以将该警告转变为错误。

另一种方法可能是创建用于clang-tidy或clang-query的插件,以检查您的C ++代码库不使用您不需要的任何构造,但是要达到预期的目的将是一项相当大的工作。