Fix Clang windows linker detection.
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index 1ec9146..86de70b 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -287,6 +287,11 @@
         VisualStudioLikeCompiler.__init__(self, target)
         self.id = 'clang-cl'
 
+    def sanitizer_compile_args(self, value: str) -> typing.List[str]:
+        if value == 'none':
+            return []
+        args = ['-fsanitize=' + value]
+        return args
 
 class IntelClCCompiler(IntelVisualStudioLikeCompiler, VisualStudioLikeCCompilerMixin, CCompiler):
 
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 2675bca..a35efff 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -683,6 +683,8 @@
         v = search_version(o)
         if o.startswith('LLD'):
             linker = LLVMDynamicLinker(compiler, for_machine, 'lld', version=v)  # type: DynamicLinker
+        elif 'pc-windows-msvc' in o:
+            linker = LLVMDynamicLinker(compiler, for_machine, 'ld.lld', version=v)  # type: DynamicLinker
         # first is for apple clang, second is for real gcc
         elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e:
             if isinstance(prefix, str):
@@ -825,15 +827,18 @@
                 linker = ClangClDynamicLinker(for_machine, version=version)
                 return cls(compiler, version, for_machine, is_cross, exe_wrap, target, linker=linker)
             if 'clang' in out:
+                linker = None
                 if 'Apple' in out or self.machines[for_machine].is_darwin():
                     compiler_type = CompilerType.CLANG_OSX
                 elif 'windows' in out or self.machines[for_machine].is_windows():
                     compiler_type = CompilerType.CLANG_MINGW
+                    linker = self._guess_nix_linker(compiler, for_machine, prefix='')
                 else:
                     compiler_type = CompilerType.CLANG_STANDARD
                 cls = ClangCCompiler if lang == 'c' else ClangCPPCompiler
 
-                linker = self._guess_nix_linker(compiler, for_machine)
+                if linker is None:
+                    linker = self._guess_nix_linker(compiler, for_machine)
                 return cls(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, full_version=full_version, linker=linker)
             if 'Intel(R) C++ Intel(R)' in err:
                 version = search_version(err)
@@ -1057,6 +1062,7 @@
                     compiler_type = CompilerType.CLANG_MINGW
                 else:
                     compiler_type = CompilerType.CLANG_STANDARD
+
                 linker = self._guess_nix_linker(compiler, for_machine)
                 return comp(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, linker=linker)
         self._handle_exceptions(popen_exceptions, compilers)