aboutsummaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorJacob Bramley <jacob.bramley@arm.com>2018-06-05 14:05:30 +0100
committerJacob Bramley <jacob.bramley@arm.com>2018-07-20 11:29:25 +0100
commit5997b46feaa07a0df539effe581a3b8d2b2fe8ab (patch)
tree2994cb389c1c3dd4da1f7db375601644e6b96e55 /SConstruct
parent2af191d4f5f2a44fecf82d802f3863b2e48a03d9 (diff)
downloadvixl-5997b46feaa07a0df539effe581a3b8d2b2fe8ab.tar.gz
Check CPU features in the Assembler.
Now, when the Assembler is asked to assemble an instruction, it asserts (in debug mode) that the necessary features are available. This also updates the tests to use no features by default, so that they must be explicitly requested in the test itself. This provides some assurance that the Assembler contains reasonable checks. This patch uses variadic macros, which are a C99/C++11 feature, and I had to silence a warning in the build system for C++98 builds. However, its use is restricted to the tests, and we already rely on some other C99 features. Change-Id: Ifb9846504f98c6d0912f60ff25f219ce2b780755
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct1
1 files changed, 1 insertions, 0 deletions
diff --git a/SConstruct b/SConstruct
index 671bc740..3c64b3f1 100644
--- a/SConstruct
+++ b/SConstruct
@@ -395,6 +395,7 @@ def ConfigureEnvironmentForCompiler(env):
# When compiling with c++98 (the default), allow long long constants.
if 'std' not in env or env['std'] == 'c++98':
env.Append(CPPFLAGS = ['-Wno-long-long'])
+ env.Append(CPPFLAGS = ['-Wno-variadic-macros'])
# When compiling with c++11, suggest missing override keywords on methods.
if 'std' in env and env['std'] in ['c++11', 'c++14']:
if compiler >= 'gcc-5':