diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-01-26 10:14:57 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-01-26 12:36:47 +0530 |
commit | e084a47a0a28f0bae70057ddb7812cb283456d07 (patch) | |
tree | 080f020a4c86b4c398f3629510cf449c53256557 | |
parent | 85b8e92bc447a13a19d42bc9ebe8758cd05be463 (diff) | |
download | meson-e084a47a0a28f0bae70057ddb7812cb283456d07.zip meson-e084a47a0a28f0bae70057ddb7812cb283456d07.tar.gz meson-e084a47a0a28f0bae70057ddb7812cb283456d07.tar.bz2 |
compilers: Don't run built-in checks on MSVC
MSVC does not have built-ins, so this is totally useless. Instead, add
a test for intrinsics to ensure that we do find them.
-rw-r--r-- | mesonbuild/compilers.py | 4 | ||||
-rw-r--r-- | test cases/common/43 has function/meson.build | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py index c800bbe..de14d4a 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -1046,6 +1046,10 @@ class CCompiler(Compiler): if self.links(templ.format(**fargs), env, extra_args, dependencies): return True + # MSVC does not have compiler __builtin_-s. + if self.get_id() == 'msvc': + return False + # Detect function as a built-in # # Some functions like alloca() are defined as compiler built-ins which diff --git a/test cases/common/43 has function/meson.build b/test cases/common/43 has function/meson.build index d4a2431..eb30acd 100644 --- a/test cases/common/43 has function/meson.build +++ b/test cases/common/43 has function/meson.build @@ -28,6 +28,11 @@ foreach cc : compilers assert(cc.has_function('fprintf', prefix : '#include <stdio.h>', args : unit_test_args), '"fprintf" function not found with include (on msvc).') + # Compiler intrinsics + assert(cc.has_function('strcmp'), + 'strcmp intrinsic should have been found on MSVC') + assert(cc.has_function('strcmp', prefix : '#include <string.h>'), + 'strcmp intrinsic should have been found with #include on MSVC') endif if cc.has_function('hfkerhisadf', prefix : '#include<stdio.h>', |