diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py index 0e2028e..4211e3077 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py
@@ -26,7 +26,7 @@ # Do NOT CHANGE this if you don't know what you're doing -- see # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md # Reverting problematic clang rolls is safe, though. -CLANG_REVISION = '263324' +CLANG_REVISION = '264334' use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ if use_head_revision: @@ -437,13 +437,17 @@ [cxx, '-print-file-name=libstdc++.so.6']).rstrip() os.environ['LD_LIBRARY_PATH'] = os.path.dirname(libstdcpp) - cflags = cxxflags = ldflags = [] + cflags = [] + cxxflags = [] + ldflags = [] base_cmake_args = ['-GNinja', '-DCMAKE_BUILD_TYPE=Release', '-DLLVM_ENABLE_ASSERTIONS=ON', '-DLLVM_ENABLE_THREADS=OFF', '-DLLVM_ENABLE_TIMESTAMPS=OFF', + # Statically link MSVCRT to avoid DLL dependencies. + '-DLLVM_USE_CRT_RELEASE=MT', ] if args.bootstrap: @@ -476,6 +480,10 @@ # https://stackoverflow.com/questions/13050827 cc = cc.replace('\\', '/') cxx = cxx.replace('\\', '/') + # If we're using VS 2015, tell the stage 1 compiler to act like it. + if GetVSVersion().ShortName().startswith('2015'): + cflags += ['-fms-compatibility-version=19'] + cxxflags += ['-fms-compatibility-version=19'] else: cc = os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR, 'bin', 'clang') cxx = os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR, 'bin', 'clang++')