aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers.py4
-rw-r--r--test cases/common/43 has function/meson.build5
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>',