diff options
author | Jacob Bramley <jacob.bramley@arm.com> | 2018-06-05 14:05:30 +0100 |
---|---|---|
committer | Jacob Bramley <jacob.bramley@arm.com> | 2018-07-20 11:29:25 +0100 |
commit | 5997b46feaa07a0df539effe581a3b8d2b2fe8ab (patch) | |
tree | 2994cb389c1c3dd4da1f7db375601644e6b96e55 /SConstruct | |
parent | 2af191d4f5f2a44fecf82d802f3863b2e48a03d9 (diff) | |
download | vixl-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-- | SConstruct | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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': |