summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-12-06 14:31:22 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-12-06 07:49:55 -0500
commitb9b79ef012500360c33ebc0c24dc7b3d30dde8bf (patch)
tree387c57a933ac0c07e881bb1db566b5ac1ccfe903
parentbc83c58d37421b84c5420356a79e04ade2b851a7 (diff)
downloadmeson-c++17.tar.gz
Add C++17 flags to GCC and Clang.c++17
-rw-r--r--mesonbuild/compilers/cpp.py8
-rwxr-xr-xrun_unittests.py4
2 files changed, 7 insertions, 5 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index 15eb9a0e6..48e6a518b 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -76,8 +76,8 @@ class ClangCPPCompiler(ClangCompiler, CPPCompiler):
def get_options(self):
return {'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++1z',
- 'gnu++11', 'gnu++14', 'gnu++1z'],
+ ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
+ 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'],
'none')}
def get_option_compile_args(self, options):
@@ -102,8 +102,8 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
def get_options(self):
opts = {'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++1z',
- 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++1z'],
+ ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
+ 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'],
'none'),
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
'STL debug mode',
diff --git a/run_unittests.py b/run_unittests.py
index 0002f6cfd..5687184dd 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -35,7 +35,7 @@ import mesonbuild.mesonlib
import mesonbuild.coredata
from mesonbuild.interpreter import ObjectHolder
from mesonbuild.mesonlib import is_linux, is_windows, is_osx, is_cygwin, windows_proof_rmtree
-from mesonbuild.mesonlib import python_command, meson_command
+from mesonbuild.mesonlib import python_command, meson_command, version_compare
from mesonbuild.environment import Environment
from mesonbuild.dependencies import DependencyException
from mesonbuild.dependencies import PkgConfigDependency, ExternalProgram
@@ -2046,6 +2046,8 @@ class LinuxlikeTests(BasePlatformTests):
# Check that all the listed -std=xxx options for this compiler work
# just fine when used
for v in compiler.get_options()[lang_std].choices:
+ if compiler.get_id() == 'clang' and version_compare(compiler.version, '<5.0.0') and '17' in v:
+ continue
std_opt = '{}={}'.format(lang_std, v)
self.init(testdir, ['-D' + std_opt])
cmd = self.get_compdb()[0]['command']