diff options
author | Sayed Adel <seiko@imavr.com> | 2023-03-15 21:24:04 +0200 |
---|---|---|
committer | Sayed Adel <seiko@imavr.com> | 2023-04-04 04:13:01 +0200 |
commit | d183edf54e3c74c52471c694068ec7fcc5f7aa34 (patch) | |
tree | f5fb19ae237cc9dcc88d8cb154b13eac5e01bea9 /numpy/distutils | |
parent | 08e778407064c37d6f814e0c59065344dea1ec2a (diff) | |
download | numpy-d183edf54e3c74c52471c694068ec7fcc5f7aa34.tar.gz |
ENH: Raise C++ standard to C++17
Diffstat (limited to 'numpy/distutils')
-rw-r--r-- | numpy/distutils/ccompiler_opt.py | 11 | ||||
-rw-r--r-- | numpy/distutils/command/build_clib.py | 1 | ||||
-rw-r--r-- | numpy/distutils/command/build_ext.py | 1 |
3 files changed, 3 insertions, 10 deletions
diff --git a/numpy/distutils/ccompiler_opt.py b/numpy/distutils/ccompiler_opt.py index 4904dd3dd..6ba4cd816 100644 --- a/numpy/distutils/ccompiler_opt.py +++ b/numpy/distutils/ccompiler_opt.py @@ -16,15 +16,6 @@ import re import subprocess import textwrap -# These flags are used to compile any C++ source within Numpy. -# They are chosen to have very few runtime dependencies. -NPY_CXX_FLAGS = [ - '-std=c++11', # Minimal standard version - '-D__STDC_VERSION__=0', # for compatibility with C headers - '-fno-exceptions', # no exception support - '-fno-rtti'] # no runtime type information - - class _Config: """An abstract class holds all configurable attributes of `CCompilerOpt`, these class attributes can be used to change the default behavior @@ -1000,7 +991,7 @@ class _CCompiler: ) detect_args = ( ("cc_has_debug", ".*(O0|Od|ggdb|coverage|debug:full).*", ""), - ("cc_has_native", + ("cc_has_native", ".*(-march=native|-xHost|/QxHost|-mcpu=a64fx).*", ""), # in case if the class run with -DNPY_DISABLE_OPTIMIZATION ("cc_noopt", ".*DISABLE_OPT.*", ""), diff --git a/numpy/distutils/command/build_clib.py b/numpy/distutils/command/build_clib.py index 45201f98f..11999dae2 100644 --- a/numpy/distutils/command/build_clib.py +++ b/numpy/distutils/command/build_clib.py @@ -307,6 +307,7 @@ class build_clib(old_build_clib): # problem, msvc uses its own convention :( c_sources += cxx_sources cxx_sources = [] + extra_cflags += extra_cxxflags # filtering C dispatch-table sources when optimization is not disabled, # otherwise treated as normal sources. diff --git a/numpy/distutils/command/build_ext.py b/numpy/distutils/command/build_ext.py index 6dc6b4265..d24162a42 100644 --- a/numpy/distutils/command/build_ext.py +++ b/numpy/distutils/command/build_ext.py @@ -407,6 +407,7 @@ class build_ext (old_build_ext): if cxx_sources: # Needed to compile kiva.agg._agg extension. extra_args.append('/Zm1000') + extra_cflags += extra_cxxflags # this hack works around the msvc compiler attributes # problem, msvc uses its own convention :( c_sources += cxx_sources |