(List (= scope= flags=0 words=[] bindings=[('CLANG_REVISION', {[LIT_CHARS 223108]})]) (= scope= flags=0 words=[] bindings=[('THIS_DIR', {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_DIR', {[DQ [VarSub THIS_DIR][LIT_CHARS /../../../third_party/llvm]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BUILD_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS "/../llvm-build/Release+Asserts"]]})]) (= scope= flags=0 words=[] bindings=[('COMPILER_RT_BUILD_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /../llvm-build/compiler-rt]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BOOTSTRAP_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /../llvm-bootstrap]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BOOTSTRAP_INSTALL_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /../llvm-bootstrap-install]]})]) (= scope= flags=0 words=[] bindings=[('CLANG_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /tools/clang]]})]) (= scope= flags=0 words=[] bindings=[('COMPILER_RT_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /compiler-rt]]})]) (= scope= flags=0 words=[] bindings=[('LIBCXX_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/libcxx]]})]) (= scope= flags=0 words=[] bindings=[('LIBCXXABI_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/libcxxabi]]})]) (= scope= flags=0 words=[] bindings=[('ANDROID_NDK_DIR', {[DQ [VarSub THIS_DIR][LIT_CHARS /../../../third_party/android_tools/ndk]]})]) (= scope= flags=0 words=[] bindings=[('STAMP_FILE', {[DQ [VarSub LLVM_DIR][LIT_CHARS /../llvm-build/cr_build_revision]]})]) (= scope= flags=0 words=[] bindings=[('CHROMIUM_TOOLS_DIR', {[DQ [VarSub THIS_DIR][LIT_CHARS /..]]})]) (= scope= flags=0 words=[] bindings=[('ABS_CHROMIUM_TOOLS_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub CHROMIUM_TOOLS_DIR]]})]) (= scope= flags=0 words=[] bindings=[('ABS_LIBCXX_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub LIBCXX_DIR]]})]) (= scope= flags=0 words=[] bindings=[('ABS_LIBCXXABI_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub LIBCXXABI_DIR]]})]) (= scope= flags=0 words=[] bindings=[('ABS_LLVM_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub LLVM_DIR]]})]) (= scope= flags=0 words=[] bindings=[('ABS_LLVM_BUILD_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub LLVM_BUILD_DIR]]})]) (= scope= flags=0 words=[] bindings=[('ABS_COMPILER_RT_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub COMPILER_RT_DIR]]})]) (= scope= flags=0 words=[] bindings=[('BLINKGCPLUGIN_REVISION', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[SQ ]} {[DQ [VarSub THIS_DIR]] [LIT_CHARS /../blink_gc_plugin/CMakeLists.txt]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d]} {[SQ ]} {[LIT_CHARS -f]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS tr]} {[LIT_CHARS -cd]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('CLANG_AND_PLUGINS_REVISION', {[DQ [VarSub CLANG_REVISION][LIT_CHARS -][VarSub BLINKGCPLUGIN_REVISION]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_REPO_URL', {[VarSub LLVM_URL test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS "https:"] [LIT_SLASH /] [LIT_SLASH /] [LIT_CHARS llvm.org] [LIT_SLASH /] [LIT_CHARS svn] [LIT_SLASH /] [LIT_CHARS llvm-project]}]})]) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub GYP_DEFINES]]}}) (= scope= flags=0 words=[] bindings=[('GYP_DEFINES', {[SQ ]})]) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub GYP_GENERATORS]]}}) (= scope= flags=0 words=[] bindings=[('GYP_GENERATORS', {[SQ ]})]) ) (Com {[LIT_CHARS set]} {[LIT_CHARS -eu]}) (= scope= flags=0 words=[] bindings=[('OS', {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]})]) (= scope= flags=0 words=[] bindings=[('if_needed', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('force_local_build', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('run_tests', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('bootstrap', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('with_android', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('chrome_tools', {[DQ [LIT_CHARS "plugins;blink_gc_plugin"]]})]) (= scope= flags=0 words=[] bindings=[('gcc_toolchain', {[SQ ]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OS]]} {[DQ [LIT_CHARS Darwin]]}}) (= scope= flags=0 words=[] bindings=[('with_android', {[SQ ]})]) ) (While (DBracket {B2 BINARY_STRING_GREAT {[VarSub #]} {[LIT_CHARS 0]}}) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS --bootstrap]}], [{[LIT_CHARS --if-needed]}], [{[LIT_CHARS --force-local-build]}], [{[LIT_CHARS --print-revision]}], [{[LIT_CHARS --run-tests]}], [{[LIT_CHARS --without-android]}], [{[LIT_CHARS --with-chrome-tools]}], [{[LIT_CHARS --gcc-toolchain]}], [{[LIT_CHARS --help]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('bootstrap', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('if_needed', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('force_local_build', {[LIT_CHARS yes]})]) (List (Com {[LIT_CHARS echo]} {[VarSub CLANG_REVISION]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (= scope= flags=0 words=[] bindings=[('run_tests', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('with_android', {[SQ ]})]) (List (Com {[LIT_CHARS shift]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub #]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--with-chrome-tools requires an argument."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('chrome_tools', {[VarSub 1]})]) ) (List (Com {[LIT_CHARS shift]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub #]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--gcc-toolchain requires an argument."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (DBracket {B1 UNARY_FILE_x {[DQ [VarSub 1][LIT_CHARS /bin/gcc]]}}) (= scope= flags=0 words=[] bindings=[('gcc_toolchain', {[VarSub 1]})]) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid --gcc-toolchain: '"][VarSub 1][LIT_CHARS "'."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "'"][VarSub 1][LIT_CHARS "/bin/gcc' does not appear to be valid."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " [--force-local-build] [--if-needed] [--run-tests] "]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--bootstrap: First build clang with CC, then with itself."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--force-local-build: Don't try to download prebuilt binaries."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--if-needed: Download clang only if the script thinks it is needed."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--run-tests: Run tests after building. Only for local builds."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--print-revision: Print current clang revision and exit."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--without-android: Don't build ASan Android runtime library."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--with-chrome-tools: Select which chrome tools to build."]]} {[DQ [LIT_CHARS "Defaults to plugins;blink_gc_plugin."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " Example: --with-chrome-tools plugins;empty-string"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--gcc-toolchain: Set the prefix for which GCC version should"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " be used for building. For example, to use gcc in"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " /opt/foo/bin/gcc, use '--gcc-toolchain '/opt/foo"]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown argument: '"][VarSub 1][LIT_CHARS "'."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Use --help for help."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS shift]}) ) ) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub if_needed]]}}) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OS]]} {[DQ [LIT_CHARS Darwin]]}}) (Com {[LIT_CHARS true]}) (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[DQ [VarSub GYP_DEFINES]]} {[LIT_CHARS .] [LIT_OTHER "*"] [LIT_CHARS "("] [LIT_CHARS clang] [LIT_CHARS "|"] [LIT_CHARS tsan] [LIT_CHARS "|"] [LIT_CHARS asan] [LIT_CHARS "|"] [LIT_CHARS lsan] [LIT_CHARS "|"] [LIT_CHARS msan] [LIT_CHARS ")"] [LIT_OTHER "="] [LIT_CHARS 1.] [LIT_OTHER "*"]}}) (Com {[LIT_CHARS true]}) (DBracket {B1 UNARY_FILE_d {[DQ [VarSub LLVM_BUILD_DIR]]}}) (Com {[LIT_CHARS true]}) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OS]]} {[DQ [LIT_CHARS Linux]]}}) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (Com {[LIT_CHARS touch]} {[DQ [VarSub LLVM_BUILD_DIR][LIT_CHARS /autoinstall_stamp]]}) (Com {[LIT_CHARS true]}) ) (ElseTrue) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (If (DBracket {B1 UNARY_FILE_f {[DQ [VarSub STAMP_FILE]]}}) (List (= scope= flags=0 words=[] bindings=[('PREVIOUSLY_BUILT_REVISON', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub STAMP_FILE]]})]})]) (If (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_z {[DQ [VarSub force_local_build]]}}) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub PREVIOUSLY_BUILT_REVISON]]} {[DQ [VarSub CLANG_AND_PLUGINS_REVISION]]}}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Clang already at "][VarSub CLANG_AND_PLUGINS_REVISION]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub STAMP_FILE]]}) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub force_local_build]]}}) (List (= scope= flags=0 words=[] bindings=[('CDS_URL', {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //commondatastorage.googleapis.com/chromium-browser-clang]})]) (= scope= flags=0 words=[] bindings=[('CDS_FILE', {[DQ [LIT_CHARS clang-][VarSub CLANG_REVISION][LIT_CHARS .tgz]]})]) (= scope= flags=0 words=[] bindings=[('CDS_OUT_DIR', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -d]} {[LIT_CHARS -t]} {[LIT_CHARS clang_download.XXXXXX]})]})]) (= scope= flags=0 words=[] bindings=[('CDS_OUTPUT', {[DQ [VarSub CDS_OUT_DIR][LIT_CHARS /][VarSub CDS_FILE]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Linux]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('CDS_FULL_URL', {[DQ [VarSub CDS_URL][LIT_CHARS /Linux_x64/][VarSub CDS_FILE]]})]) (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('CDS_FULL_URL', {[DQ [VarSub CDS_URL][LIT_CHARS /Mac/][VarSub CDS_FILE]]})]) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Trying]} {[LIT_CHARS to]} {[LIT_CHARS download]} {[LIT_CHARS prebuilt]} {[LIT_CHARS clang]}) (If (Com {[LIT_CHARS which]} {[LIT_CHARS curl]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[LIT_CHARS --fail]} {[DQ [VarSub CDS_FULL_URL]]} {[LIT_CHARS -o]} {[DQ [VarSub CDS_OUTPUT]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub CDS_OUT_DIR]]}) ) (Com {[LIT_CHARS which]} {[LIT_CHARS wget]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS wget]} {[DQ [VarSub CDS_FULL_URL]]} {[LIT_CHARS -O]} {[DQ [VarSub CDS_OUTPUT]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub CDS_OUT_DIR]]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Neither curl nor wget found. Please install one of these."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub CDS_OUTPUT]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS -xzf]} {[DQ [VarSub CDS_OUTPUT]]} {[LIT_CHARS -C]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS clang]} {[DQ [VarSub CLANG_REVISION]]} {[LIT_CHARS unpacked]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub CLANG_AND_PLUGINS_REVISION]]} < (FilenameRedirectNode filename={[DQ [VarSub STAMP_FILE]]} "> 1), > ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub CDS_OUT_DIR]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[LIT_CHARS Did]} {[LIT_CHARS not]} {[LIT_CHARS find]} {[LIT_CHARS prebuilt]} {[LIT_CHARS clang]} {[LIT_CHARS at]} {[LIT_CHARS r] [DQ [VarSub CLANG_REVISION]] [LIT_COMMA ","]} {[LIT_CHARS building]}) ) ) ) (If (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_n {[DQ [VarSub with_android]]}}) (Pipeline! (DBracket {B1 UNARY_FILE_d {[DQ [VarSub ANDROID_NDK_DIR]]}}) ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Android NDK not found at "][VarSub ANDROID_NDK_DIR]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "The Android NDK is needed to build a Clang whose -fsanitize=address"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "works on Android. See "]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "http://code.google.com/p/chromium/wiki/AndroidBuildInstructions for how"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "to install the NDK, or pass --without-android."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (Pipeline! (Com {[LIT_CHARS which]} {[LIT_CHARS cmake]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "CMake needed to build clang; please install"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (Pipeline! (Com {[LIT_CHARS which]} {[LIT_CHARS ninja]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ninja needed to build clang, please install"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Reverting]} {[LIT_CHARS previously]} {[LIT_CHARS patched]} {[LIT_CHARS files]}) (For i [{[DQ [VarSub CLANG_DIR][LIT_CHARS /test/Index/crash-recovery-modules.m]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /unittests/libclang/LibclangTest.cpp]]}, {[DQ [VarSub COMPILER_RT_DIR][LIT_CHARS /lib/asan/asan_rtl.cc]]}, {[DQ [VarSub COMPILER_RT_DIR][LIT_CHARS /test/asan/TestCases/Linux/new_array_cookie_test.cc]]}, {[DQ [VarSub LLVM_DIR][LIT_CHARS /test/DebugInfo/gmlt.ll]]}, {[DQ [VarSub LLVM_DIR][LIT_CHARS /lib/CodeGen/SpillPlacement.cpp]]}, {[DQ [VarSub LLVM_DIR][LIT_CHARS /lib/CodeGen/SpillPlacement.h]]}, {[DQ [VarSub LLVM_DIR][LIT_CHARS /lib/Transforms/Instrumentation/MemorySanitizer.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /test/Driver/env.c]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /lib/Frontend/InitPreprocessor.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /test/Frontend/exceptions.c]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /test/Preprocessor/predefined-exceptions.m]]}, {[DQ [VarSub LLVM_DIR][LIT_CHARS /test/Bindings/Go/go.test]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /lib/Parse/ParseExpr.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /lib/Parse/ParseTemplate.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /lib/Sema/SemaDeclCXX.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /lib/Sema/SemaExprCXX.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /test/SemaCXX/default2.cpp]]}, {[DQ [VarSub CLANG_DIR][LIT_CHARS /test/SemaCXX/typo-correction-delayed.cpp]]}]) (If (DBracket {B1 UNARY_FILE_e {[DQ [VarSub i]]}}) (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub i]]}) (Com {[LIT_CHARS svn]} {[LIT_CHARS revert]} {[DQ [VarSub i]]}) ) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Remove]} {[LIT_CHARS the]} {[LIT_CHARS Clang]} {[LIT_CHARS tools]} {[LIT_CHARS shim]} {[LIT_CHARS dir]}) (= scope= flags=0 words=[] bindings=[('CHROME_TOOLS_SHIM_DIR', {[VarSub ABS_LLVM_DIR] [LIT_CHARS /tools/chrometools]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rfv]} {[VarSub CHROME_TOOLS_SHIM_DIR]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Getting]} {[LIT_CHARS LLVM]} {[LIT_CHARS r] [DQ [VarSub CLANG_REVISION]]} {[LIT_CHARS in]} {[DQ [VarSub LLVM_DIR]]}) (If (Pipeline! (Com {[LIT_CHARS svn]} {[LIT_CHARS co]} {[LIT_CHARS --force]} {[DQ [VarSub LLVM_REPO_URL][LIT_CHARS "/llvm/trunk@"][VarSub CLANG_REVISION]]} {[DQ [VarSub LLVM_DIR]]}) ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Checkout]} {[LIT_CHARS failed] [LIT_COMMA ","]} {[LIT_CHARS retrying]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LLVM_DIR]]}) (Com {[LIT_CHARS svn]} {[LIT_CHARS co]} {[LIT_CHARS --force]} {[DQ [VarSub LLVM_REPO_URL][LIT_CHARS "/llvm/trunk@"][VarSub CLANG_REVISION]]} {[DQ [VarSub LLVM_DIR]]}) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Getting]} {[LIT_CHARS clang]} {[LIT_CHARS r] [DQ [VarSub CLANG_REVISION]]} {[LIT_CHARS in]} {[DQ [VarSub CLANG_DIR]]}) (Com {[LIT_CHARS svn]} {[LIT_CHARS co]} {[LIT_CHARS --force]} {[DQ [VarSub LLVM_REPO_URL][LIT_CHARS "/cfe/trunk@"][VarSub CLANG_REVISION]]} {[DQ [VarSub CLANG_DIR]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/compiler-rt]]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Getting]} {[LIT_CHARS compiler-rt]} {[LIT_CHARS r] [DQ [VarSub CLANG_REVISION]]} {[LIT_CHARS in]} {[DQ [VarSub COMPILER_RT_DIR]]}) (Com {[LIT_CHARS svn]} {[LIT_CHARS co]} {[LIT_CHARS --force]} {[DQ [VarSub LLVM_REPO_URL][LIT_CHARS "/compiler-rt/trunk@"][VarSub CLANG_REVISION]]} {[DQ [VarSub COMPILER_RT_DIR]]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Getting]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"]} {[LIT_CHARS r] [DQ [VarSub CLANG_REVISION]]} {[LIT_CHARS in]} {[DQ [VarSub LIBCXX_DIR]]}) (Com {[LIT_CHARS svn]} {[LIT_CHARS co]} {[LIT_CHARS --force]} {[DQ [VarSub LLVM_REPO_URL][LIT_CHARS "/libcxx/trunk@"][VarSub CLANG_REVISION]]} {[DQ [VarSub LIBCXX_DIR]]}) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Getting]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS abi]} {[LIT_CHARS r] [DQ [VarSub CLANG_REVISION]]} {[LIT_CHARS in]} {[DQ [VarSub LIBCXXABI_DIR]]}) (Com {[LIT_CHARS svn]} {[LIT_CHARS co]} {[LIT_CHARS --force]} {[DQ [VarSub LLVM_REPO_URL][LIT_CHARS "/libcxxabi/trunk@"][VarSub CLANG_REVISION]]} {[DQ [VarSub LIBCXXABI_DIR]]}) ) ) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m\t(revision 202554)\n"] [LIT_CHARS "+++ third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m\t(working copy)\n"] [LIT_CHARS "@@ -12,6 +12,8 @@\n"] [LIT_CHARS " \n"] [LIT_CHARS " // REQUIRES: crash-recovery\n"] [LIT_CHARS " // REQUIRES: shell\n"] [LIT_CHARS "+// XFAIL: *\n"] [LIT_CHARS "+// (PR11974)\n"] [LIT_CHARS " \n"] [LIT_CHARS " @import Crash;\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p4]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- unittests/libclang/LibclangTest.cpp (revision 215949)\n"] [LIT_CHARS "+++ unittests/libclang/LibclangTest.cpp (working copy)\n"] [LIT_CHARS "@@ -431,7 +431,7 @@\n"] [LIT_CHARS " EXPECT_EQ(0U, clang_getNumDiagnostics(ClangTU));\n"] [LIT_CHARS " }\n"] [LIT_CHARS "\n"] [LIT_CHARS "-TEST_F(LibclangReparseTest, ReparseWithModule) {\n"] [LIT_CHARS "+TEST_F(LibclangReparseTest, DISABLED_ReparseWithModule) {\n"] [LIT_CHARS " const char *HeaderTop = \"#ifndef H\\n#define H\\nstruct Foo { int bar;\";\n"] [LIT_CHARS " const char *HeaderBottom = \"\\n};\\n#endif\\n\";\n"] [LIT_CHARS " const char *MFile = \"#include \\\"HeaderFile.h\\\"\\nint main() {\"\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p0]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub LLVM_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Transforms/Instrumentation/MemorySanitizer.cpp\n"] [LIT_CHARS "+++ b/lib/Transforms/Instrumentation/MemorySanitizer.cpp\n"] [LIT_CHARS "@@ -921,8 +921,6 @@ struct MemorySanitizerVisitor : public InstVisitor {\n"] [LIT_CHARS " Value *OriginPtr =\n"] [LIT_CHARS " getOriginPtrForArgument(&FArg, EntryIRB, ArgOffset);\n"] [LIT_CHARS " setOrigin(A, EntryIRB.CreateLoad(OriginPtr));\n"] [LIT_CHARS "- } else {\n"] [LIT_CHARS "- setOrigin(A, getCleanOrigin());\n"] [LIT_CHARS " }\n"] [LIT_CHARS " }\n"] [LIT_CHARS " ArgOffset += RoundUpToAlignment(Size, kShadowTLSAlignment);\n"] [LIT_CHARS "@@ -942,13 +940,15 @@ struct MemorySanitizerVisitor : public InstVisitor {\n"] [LIT_CHARS " /// \\brief Get the origin for a value.\n"] [LIT_CHARS " Value *getOrigin(Value *V) {\n"] [LIT_CHARS " if (!MS.TrackOrigins) return nullptr;\n"] [LIT_CHARS "- if (!PropagateShadow) return getCleanOrigin();\n"] [LIT_CHARS "- if (isa(V)) return getCleanOrigin();\n"] [LIT_CHARS "- assert((isa(V) || isa(V)) &&\n"] [LIT_CHARS "- \"Unexpected value type in getOrigin()\");\n"] [LIT_CHARS "- Value *Origin = OriginMap[V];\n"] [LIT_CHARS "- assert(Origin && \"Missing origin\");\n"] [LIT_CHARS "- return Origin;\n"] [LIT_CHARS "+ if (isa(V) || isa(V)) {\n"] [LIT_CHARS "+ Value *Origin = OriginMap[V];\n"] [LIT_CHARS "+ if (!Origin) {\n"] [LIT_CHARS "+ DEBUG(dbgs() << \"NO ORIGIN: \" << *V << \"\\n\");\n"] [LIT_CHARS "+ Origin = getCleanOrigin();\n"] [LIT_CHARS "+ }\n"] [LIT_CHARS "+ return Origin;\n"] [LIT_CHARS "+ }\n"] [LIT_CHARS "+ return getCleanOrigin();\n"] [LIT_CHARS " }\n"] [LIT_CHARS " \n"] [LIT_CHARS " /// \\brief Get the origin for i-th argument of the instruction I.\n"] [LIT_CHARS "@@ -1088,7 +1088,6 @@ struct MemorySanitizerVisitor : public InstVisitor {\n"] [LIT_CHARS " IRB.CreateStore(getCleanShadow(&I), ShadowPtr);\n"] [LIT_CHARS " \n"] [LIT_CHARS " setShadow(&I, getCleanShadow(&I));\n"] [LIT_CHARS "- setOrigin(&I, getCleanOrigin());\n"] [LIT_CHARS " }\n"] [LIT_CHARS " \n"] [LIT_CHARS " void visitAtomicRMWInst(AtomicRMWInst &I) {\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/test/Driver/env.c\n"] [LIT_CHARS "+++ b/test/Driver/env.c\n"] [LIT_CHARS "@@ -5,12 +5,14 @@\n"] [LIT_CHARS " // REQUIRES: shell\n"] [LIT_CHARS " //\n"] [LIT_CHARS " // The PATH variable is heavily used when trying to find a linker.\n"] [LIT_CHARS "-// RUN: env -i LC_ALL=C %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \\\n"] [LIT_CHARS "+// RUN: env -i LC_ALL=C LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\" \\\n"] [LIT_CHARS "+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \\\n"] [LIT_CHARS " // RUN: --target=i386-unknown-linux \\\n"] [LIT_CHARS " // RUN: --sysroot=%S/Inputs/basic_linux_tree \\\n"] [LIT_CHARS " // RUN: | FileCheck --check-prefix=CHECK-LD-32 %s\n"] [LIT_CHARS " //\n"] [LIT_CHARS "-// RUN: env -i LC_ALL=C PATH=\"\" %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \\\n"] [LIT_CHARS "+// RUN: env -i LC_ALL=C PATH=\"\" LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\" \\\n"] [LIT_CHARS "+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \\\n"] [LIT_CHARS " // RUN: --target=i386-unknown-linux \\\n"] [LIT_CHARS " // RUN: --sysroot=%S/Inputs/basic_linux_tree \\\n"] [LIT_CHARS " // RUN: | FileCheck --check-prefix=CHECK-LD-32 %s\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Frontend/InitPreprocessor.cpp\n"] [LIT_CHARS "+++ b/lib/Frontend/InitPreprocessor.cpp\n"] [LIT_CHARS "@@ -566,7 +566,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI,\n"] [LIT_CHARS " Builder.defineMacro(\"__BLOCKS__\");\n"] [LIT_CHARS " }\n"] [LIT_CHARS " \n"] [LIT_CHARS "- if (!LangOpts.MSVCCompat && LangOpts.Exceptions)\n"] [LIT_CHARS "+ if (!LangOpts.MSVCCompat && LangOpts.CXXExceptions)\n"] [LIT_CHARS " Builder.defineMacro(\"__EXCEPTIONS\");\n"] [LIT_CHARS " if (!LangOpts.MSVCCompat && LangOpts.RTTI)\n"] [LIT_CHARS " Builder.defineMacro(\"__GXX_RTTI\");\n"] [LIT_CHARS "diff --git a/test/Frontend/exceptions.c b/test/Frontend/exceptions.c\n"] [LIT_CHARS "index 981b5b9..4bbaaa3 100644\n"] [LIT_CHARS "--- a/test/Frontend/exceptions.c\n"] [LIT_CHARS "+++ b/test/Frontend/exceptions.c\n"] [LIT_CHARS "@@ -1,9 +1,6 @@\n"] [LIT_CHARS "-// RUN: %clang_cc1 -fms-compatibility -fexceptions -fcxx-exceptions -DMS_MODE -verify %s\n"] [LIT_CHARS "+// RUN: %clang_cc1 -fms-compatibility -fexceptions -fcxx-exceptions -verify %s\n"] [LIT_CHARS " // expected-no-diagnostics\n"] [LIT_CHARS " \n"] [LIT_CHARS "-// RUN: %clang_cc1 -fms-compatibility -fexceptions -verify %s\n"] [LIT_CHARS "-// expected-no-diagnostics\n"] [LIT_CHARS "-\n"] [LIT_CHARS "-#if defined(MS_MODE) && defined(__EXCEPTIONS)\n"] [LIT_CHARS "+#if defined(__EXCEPTIONS)\n"] [LIT_CHARS " #error __EXCEPTIONS should not be defined.\n"] [LIT_CHARS " #endif\n"] [LIT_CHARS "diff --git a/test/Preprocessor/predefined-exceptions.m b/test/Preprocessor/predefined-exceptions.m\n"] [LIT_CHARS "index 0791075..c13f429 100644\n"] [LIT_CHARS "--- a/test/Preprocessor/predefined-exceptions.m\n"] [LIT_CHARS "+++ b/test/Preprocessor/predefined-exceptions.m\n"] [LIT_CHARS "@@ -1,6 +1,6 @@\n"] [LIT_CHARS " // RUN: %clang_cc1 -x objective-c -fobjc-exceptions -fexceptions -E -dM %s | FileCheck -check-prefix=CHECK-OBJC-NOCXX %s \n"] [LIT_CHARS " // CHECK-OBJC-NOCXX: #define OBJC_ZEROCOST_EXCEPTIONS 1\n"] [LIT_CHARS "-// CHECK-OBJC-NOCXX: #define __EXCEPTIONS 1\n"] [LIT_CHARS "+// CHECK-OBJC-NOCXX-NOT: #define __EXCEPTIONS 1\n"] [LIT_CHARS " \n"] [LIT_CHARS " // RUN: %clang_cc1 -x objective-c++ -fobjc-exceptions -fexceptions -fcxx-exceptions -E -dM %s | FileCheck -check-prefix=CHECK-OBJC-CXX %s \n"] [LIT_CHARS " // CHECK-OBJC-CXX: #define OBJC_ZEROCOST_EXCEPTIONS 1\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Parse/ParseTemplate.cpp\n"] [LIT_CHARS "+++ b/lib/Parse/ParseTemplate.cpp\n"] [LIT_CHARS "@@ -676,7 +676,7 @@ Parser::ParseNonTypeTemplateParameter(unsigned Depth, unsigned Position) {\n"] [LIT_CHARS " GreaterThanIsOperatorScope G(GreaterThanIsOperator, false);\n"] [LIT_CHARS " EnterExpressionEvaluationContext Unevaluated(Actions, Sema::Unevaluated);\n"] [LIT_CHARS " \n"] [LIT_CHARS "- DefaultArg = ParseAssignmentExpression();\n"] [LIT_CHARS "+ DefaultArg = Actions.CorrectDelayedTyposInExpr(ParseAssignmentExpression());\n"] [LIT_CHARS " if (DefaultArg.isInvalid())\n"] [LIT_CHARS " SkipUntil(tok::comma, tok::greater, StopAtSemi | StopBeforeMatch);\n"] [LIT_CHARS " }\n"] [LIT_CHARS "diff --git a/test/SemaCXX/default2.cpp b/test/SemaCXX/default2.cpp\n"] [LIT_CHARS "index 1626044..c4d40b4 100644\n"] [LIT_CHARS "--- a/test/SemaCXX/default2.cpp\n"] [LIT_CHARS "+++ b/test/SemaCXX/default2.cpp\n"] [LIT_CHARS "@@ -122,3 +122,9 @@ class XX {\n"] [LIT_CHARS " void A(int length = -1 ) { } \n"] [LIT_CHARS " void B() { A(); }\n"] [LIT_CHARS " };\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+template struct S {}; // expected-error-re {{use of undeclared identifier 'I'{{$}}}}\n"] [LIT_CHARS "+S<1> s;\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+template struct T {}; // expected-error-re {{use of undeclared identifier 'I2'{{$}}}}\n"] [LIT_CHARS "+T<0, 1> t;\n"] [LIT_CHARS "diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "index bff1d76..7bf9258 100644\n"] [LIT_CHARS "--- a/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "+++ b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "@@ -102,3 +102,7 @@ void f(int *i) {\n"] [LIT_CHARS " __atomic_load(i, i, something_something); // expected-error-re {{use of undeclared identifier 'something_something'{{$}}}}\n"] [LIT_CHARS " }\n"] [LIT_CHARS " }\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+const int DefaultArg = 9; // expected-note {{'DefaultArg' declared here}}\n"] [LIT_CHARS "+template struct S {}; // expected-error {{use of undeclared identifier 'defaultArg'; did you mean 'DefaultArg'?}}\n"] [LIT_CHARS "+S<1> s;\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Parse/ParseExpr.cpp\n"] [LIT_CHARS "+++ b/lib/Parse/ParseExpr.cpp\n"] [LIT_CHARS "@@ -1390,6 +1390,7 @@ Parser::ParsePostfixExpressionSuffix(ExprResult LHS) {\n"] [LIT_CHARS " SourceLocation OpenLoc = ConsumeToken();\n"] [LIT_CHARS " \n"] [LIT_CHARS " if (ParseSimpleExpressionList(ExecConfigExprs, ExecConfigCommaLocs)) {\n"] [LIT_CHARS "+ (void)Actions.CorrectDelayedTyposInExpr(LHS);\n"] [LIT_CHARS " LHS = ExprError();\n"] [LIT_CHARS " }\n"] [LIT_CHARS " \n"] [LIT_CHARS "@@ -1440,6 +1441,7 @@ Parser::ParsePostfixExpressionSuffix(ExprResult LHS) {\n"] [LIT_CHARS " if (Tok.isNot(tok::r_paren)) {\n"] [LIT_CHARS " if (ParseExpressionList(ArgExprs, CommaLocs, &Sema::CodeCompleteCall,\n"] [LIT_CHARS " LHS.get())) {\n"] [LIT_CHARS "+ (void)Actions.CorrectDelayedTyposInExpr(LHS);\n"] [LIT_CHARS " LHS = ExprError();\n"] [LIT_CHARS " }\n"] [LIT_CHARS " }\n"] [LIT_CHARS "diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "index 7bf9258..f7ef015 100644\n"] [LIT_CHARS "--- a/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "+++ b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "@@ -106,3 +106,9 @@ void f(int *i) {\n"] [LIT_CHARS " const int DefaultArg = 9; // expected-note {{'DefaultArg' declared here}}\n"] [LIT_CHARS " template struct S {}; // expected-error {{use of undeclared identifier 'defaultArg'; did you mean 'DefaultArg'?}}\n"] [LIT_CHARS " S<1> s;\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+namespace foo {}\n"] [LIT_CHARS "+void test_paren_suffix() {\n"] [LIT_CHARS "+ foo::bar({5, 6}); // expected-error-re {{no member named 'bar' in namespace 'foo'{{$}}}} \\\n"] [LIT_CHARS "+ // expected-error {{expected expression}}\n"] [LIT_CHARS "+}\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Sema/SemaDeclCXX.cpp\n"] [LIT_CHARS "+++ b/lib/Sema/SemaDeclCXX.cpp\n"] [LIT_CHARS "@@ -2813,6 +2813,11 @@ Sema::BuildMemInitializer(Decl *ConstructorD,\n"] [LIT_CHARS " SourceLocation IdLoc,\n"] [LIT_CHARS " Expr *Init,\n"] [LIT_CHARS " SourceLocation EllipsisLoc) {\n"] [LIT_CHARS "+ ExprResult Res = CorrectDelayedTyposInExpr(Init);\n"] [LIT_CHARS "+ if (!Res.isUsable())\n"] [LIT_CHARS "+ return true;\n"] [LIT_CHARS "+ Init = Res.get();\n"] [LIT_CHARS "+\n"] [LIT_CHARS " if (!ConstructorD)\n"] [LIT_CHARS " return true;\n"] [LIT_CHARS " \n"] [LIT_CHARS "diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "index f7ef015..d303b58 100644\n"] [LIT_CHARS "--- a/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "+++ b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "@@ -112,3 +112,10 @@ void test_paren_suffix() {\n"] [LIT_CHARS " foo::bar({5, 6}); // expected-error-re {{no member named 'bar' in namespace 'foo'{{$}}}} \\\n"] [LIT_CHARS " // expected-error {{expected expression}}\n"] [LIT_CHARS " }\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+const int kNum = 10; // expected-note {{'kNum' declared here}}\n"] [LIT_CHARS "+class SomeClass {\n"] [LIT_CHARS "+ int Kind;\n"] [LIT_CHARS "+public:\n"] [LIT_CHARS "+ explicit SomeClass() : Kind(kSum) {} // expected-error {{use of undeclared identifier 'kSum'; did you mean 'kNum'?}}\n"] [LIT_CHARS "+};\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Sema/SemaExprCXX.cpp\n"] [LIT_CHARS "+++ b/lib/Sema/SemaExprCXX.cpp\n"] [LIT_CHARS "@@ -6105,8 +6105,13 @@ public:\n"] [LIT_CHARS " auto Result = BaseTransform::RebuildCallExpr(Callee, LParenLoc, Args,\n"] [LIT_CHARS " RParenLoc, ExecConfig);\n"] [LIT_CHARS " if (auto *OE = dyn_cast(Callee)) {\n"] [LIT_CHARS "- if (!Result.isInvalid() && Result.get())\n"] [LIT_CHARS "- OverloadResolution[OE] = cast(Result.get())->getCallee();\n"] [LIT_CHARS "+ if (!Result.isInvalid() && Result.get()) {\n"] [LIT_CHARS "+ Expr *ResultCall = Result.get();\n"] [LIT_CHARS "+ if (auto *BE = dyn_cast(ResultCall))\n"] [LIT_CHARS "+ ResultCall = BE->getSubExpr();\n"] [LIT_CHARS "+ if (auto *CE = dyn_cast(ResultCall))\n"] [LIT_CHARS "+ OverloadResolution[OE] = CE->getCallee();\n"] [LIT_CHARS "+ }\n"] [LIT_CHARS " }\n"] [LIT_CHARS " return Result;\n"] [LIT_CHARS " }\n"] [LIT_CHARS "diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "index d303b58..d42888f 100644\n"] [LIT_CHARS "--- a/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "+++ b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "@@ -119,3 +119,23 @@ class SomeClass {\n"] [LIT_CHARS " public:\n"] [LIT_CHARS " explicit SomeClass() : Kind(kSum) {} // expected-error {{use of undeclared identifier 'kSum'; did you mean 'kNum'?}}\n"] [LIT_CHARS " };\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+extern \"C\" int printf(const char *, ...);\n"] [LIT_CHARS "+\n"] [LIT_CHARS "+// There used to be an issue with typo resolution inside overloads.\n"] [LIT_CHARS "+struct AssertionResult {\n"] [LIT_CHARS "+ ~AssertionResult();\n"] [LIT_CHARS "+ operator bool();\n"] [LIT_CHARS "+ int val;\n"] [LIT_CHARS "+};\n"] [LIT_CHARS "+AssertionResult Compare(const char *a, const char *b);\n"] [LIT_CHARS "+AssertionResult Compare(int a, int b);\n"] [LIT_CHARS "+int main() {\n"] [LIT_CHARS "+ // expected-note@+1 {{'result' declared here}}\n"] [LIT_CHARS "+ const char *result;\n"] [LIT_CHARS "+ // expected-error@+1 {{use of undeclared identifier 'resulta'; did you mean 'result'?}}\n"] [LIT_CHARS "+ if (AssertionResult ar = (Compare(\"value1\", resulta)))\n"] [LIT_CHARS "+ ;\n"] [LIT_CHARS "+ else\n"] [LIT_CHARS "+ printf(\"ar: %d\\n\", ar.val);\n"] [LIT_CHARS "+}\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub CLANG_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "--- a/lib/Sema/SemaExprCXX.cpp\n"] [LIT_CHARS "+++ b/lib/Sema/SemaExprCXX.cpp\n"] [LIT_CHARS "@@ -6105,7 +6105,7 @@ public:\n"] [LIT_CHARS " auto Result = BaseTransform::RebuildCallExpr(Callee, LParenLoc, Args,\n"] [LIT_CHARS " RParenLoc, ExecConfig);\n"] [LIT_CHARS " if (auto *OE = dyn_cast(Callee)) {\n"] [LIT_CHARS "- if (!Result.isInvalid() && Result.get()) {\n"] [LIT_CHARS "+ if (Result.isUsable()) {\n"] [LIT_CHARS " Expr *ResultCall = Result.get();\n"] [LIT_CHARS " if (auto *BE = dyn_cast(ResultCall))\n"] [LIT_CHARS " ResultCall = BE->getSubExpr();\n"] [LIT_CHARS "diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "index d42888f..7879d29 100644\n"] [LIT_CHARS "--- a/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "+++ b/test/SemaCXX/typo-correction-delayed.cpp\n"] [LIT_CHARS "@@ -120,22 +120,13 @@ public:\n"] [LIT_CHARS " explicit SomeClass() : Kind(kSum) {} // expected-error {{use of undeclared identifier 'kSum'; did you mean 'kNum'?}}\n"] [LIT_CHARS " };\n"] [LIT_CHARS " \n"] [LIT_CHARS "-extern \"C\" int printf(const char *, ...);\n"] [LIT_CHARS "-\n"] [LIT_CHARS " // There used to be an issue with typo resolution inside overloads.\n"] [LIT_CHARS "-struct AssertionResult {\n"] [LIT_CHARS "- ~AssertionResult();\n"] [LIT_CHARS "- operator bool();\n"] [LIT_CHARS "- int val;\n"] [LIT_CHARS "-};\n"] [LIT_CHARS "-AssertionResult Compare(const char *a, const char *b);\n"] [LIT_CHARS "-AssertionResult Compare(int a, int b);\n"] [LIT_CHARS "-int main() {\n"] [LIT_CHARS "+struct AssertionResult { ~AssertionResult(); };\n"] [LIT_CHARS "+AssertionResult Overload(const char *a);\n"] [LIT_CHARS "+AssertionResult Overload(int a);\n"] [LIT_CHARS "+void UseOverload() {\n"] [LIT_CHARS " // expected-note@+1 {{'result' declared here}}\n"] [LIT_CHARS " const char *result;\n"] [LIT_CHARS " // expected-error@+1 {{use of undeclared identifier 'resulta'; did you mean 'result'?}}\n"] [LIT_CHARS "- if (AssertionResult ar = (Compare(\"value1\", resulta)))\n"] [LIT_CHARS "- ;\n"] [LIT_CHARS "- else\n"] [LIT_CHARS "- printf(\"ar: %d\\n\", ar.val);\n"] [LIT_CHARS "+ Overload(resulta);\n"] [LIT_CHARS " }\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub LLVM_DIR]]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "Index: test/Bindings/Go/go.test\n"] [LIT_CHARS "===================================================================\n"] [LIT_CHARS "--- test/Bindings/Go/go.test (revision 223109)\n"] [LIT_CHARS "+++ test/Bindings/Go/go.test (working copy)\n"] [LIT_CHARS "@@ -1,3 +1,3 @@\n"] [LIT_CHARS "-; RUN: llvm-go test llvm.org/llvm/bindings/go/llvm\n"] [LIT_CHARS "+; RUN: true\n"] [LIT_CHARS " \n"] [LIT_CHARS " ; REQUIRES: shell\n"]} 0), > ) (Com {[LIT_CHARS patch]} {[LIT_CHARS -p0]}) ) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS set]} {[LIT_CHARS -x]}) (= scope= flags=0 words=[] bindings=[('CC', {[VarSub CC test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS cc]}]})]) (= scope= flags=0 words=[] bindings=[('CXX', {[VarSub CXX test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS "c++"]}]})]) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub gcc_toolchain]]}}) (List (= scope= flags=0 words=[] bindings=[('CC', {[DQ [VarSub gcc_toolchain][LIT_CHARS /bin/gcc]]})]) (= scope= flags=0 words=[] bindings=[('CXX', {[DQ [VarSub gcc_toolchain][LIT_CHARS "/bin/g++"]]})]) (= scope= flags=1 words=[] bindings=[('LD_LIBRARY_PATH', {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[ComSub (Com {[VarSub CXX]} {[LIT_CHARS -print-file-name] [LIT_OTHER "="] [LIT_CHARS libstdc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .so.6]})]})]]})]) ) ) (= scope= flags=0 words=[] bindings=[('CFLAGS', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('CXXFLAGS', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('LDFLAGS', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('deployment_target', {[DQ ]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('CFLAGS', {[DQ [LIT_CHARS "-isysroot "][ComSub (Com {[LIT_CHARS xcrun]} {[LIT_CHARS --show-sdk-path]})]]})]) (= scope= flags=0 words=[] bindings=[('CPPFLAGS', {[DQ [VarSub CFLAGS]]})]) (= scope= flags=0 words=[] bindings=[('CXXFLAGS', {[DQ [LIT_CHARS "-stdlib=libc++ -nostdinc++ -I"][VarSub ABS_LIBCXX_DIR][LIT_CHARS "/include "][VarSub CFLAGS]]})]) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub bootstrap]]}}) (= scope= flags=0 words=[] bindings=[('deployment_target', {[LIT_CHARS 10.6]})]) ) ) ) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub bootstrap]]}}) (List (= scope= flags=0 words=[] bindings=[('ABS_INSTALL_DIR', {[DQ [VarSub PWD][LIT_CHARS /][VarSub LLVM_BOOTSTRAP_INSTALL_DIR]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Building bootstrap compiler"]]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LLVM_BOOTSTRAP_DIR]]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub LLVM_BOOTSTRAP_DIR]]}) (Com {[LIT_CHARS cmake]} {[LIT_CHARS -GNinja]} {[LIT_CHARS -DCMAKE_BUILD_TYPE] [LIT_OTHER "="] [LIT_CHARS Release]} {[LIT_CHARS -DLLVM_ENABLE_ASSERTIONS] [LIT_OTHER "="] [LIT_CHARS ON]} {[LIT_CHARS -DLLVM_TARGETS_TO_BUILD] [LIT_OTHER "="] [LIT_CHARS host]} {[LIT_CHARS -DLLVM_ENABLE_THREADS] [LIT_OTHER "="] [LIT_CHARS OFF]} {[LIT_CHARS -DCMAKE_INSTALL_PREFIX] [LIT_OTHER "="] [DQ [VarSub ABS_INSTALL_DIR]]} {[LIT_CHARS -DCMAKE_C_COMPILER] [LIT_OTHER "="] [DQ [VarSub CC]]} {[LIT_CHARS -DCMAKE_CXX_COMPILER] [LIT_OTHER "="] [DQ [VarSub CXX]]} {[LIT_CHARS -DCMAKE_C_FLAGS] [LIT_OTHER "="] [DQ [VarSub CFLAGS]]} {[LIT_CHARS -DCMAKE_CXX_FLAGS] [LIT_OTHER "="] [DQ [VarSub CXXFLAGS]]} {[LIT_CHARS ../llvm]}) (Com {[LIT_CHARS ninja]}) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub run_tests]]}}) (Com {[LIT_CHARS ninja]} {[LIT_CHARS check-all]}) ) (Com {[LIT_CHARS ninja]} {[LIT_CHARS install]}) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub gcc_toolchain]]}}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[DQ [ComSub (Com {[VarSub CXX]} {[LIT_CHARS -print-file-name] [LIT_OTHER "="] [LIT_CHARS libstdc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .so.6]})]]} {[DQ [VarSub ABS_INSTALL_DIR][LIT_CHARS /lib/]]}) ) (Com {[LIT_CHARS popd]}) (= scope= flags=0 words=[] bindings=[('CC', {[DQ [VarSub ABS_INSTALL_DIR][LIT_CHARS /bin/clang]]})]) (= scope= flags=0 words=[] bindings=[('CXX', {[DQ [VarSub ABS_INSTALL_DIR][LIT_CHARS "/bin/clang++"]]})]) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub gcc_toolchain]]}}) (List (= scope= flags=0 words=[] bindings=[('CFLAGS', {[DQ [LIT_CHARS "--gcc-toolchain="][VarSub gcc_toolchain]]})]) (= scope= flags=0 words=[] bindings=[('CXXFLAGS', {[DQ [LIT_CHARS "--gcc-toolchain="][VarSub gcc_toolchain]]})]) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Building final compiler"]]}) ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS libcxxbuild]}) (= scope= flags=0 words=[] bindings=[('LIBCXXFLAGS', {[DQ [LIT_CHARS "-O3 -std=c++11 -fstrict-aliasing"]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS libcxxbuild/libcxx]}) (Com {[LIT_CHARS pushd]} {[LIT_CHARS libcxxbuild/libcxx]}) (Com {[VarSub CXX test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS "c++"]}]} {[LIT_CHARS -c]} {[VarSub CXXFLAGS]} {[VarSub LIBCXXFLAGS]} {[DQ [VarSub ABS_LIBCXX_DIR]] [LIT_CHARS /src/] [LIT_OTHER "*"] [LIT_CHARS .cpp]}) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS libcxxbuild/libcxxabi]}) (Com {[LIT_CHARS pushd]} {[LIT_CHARS libcxxbuild/libcxxabi]}) (Com {[VarSub CXX test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS "c++"]}]} {[LIT_CHARS -c]} {[VarSub CXXFLAGS]} {[VarSub LIBCXXFLAGS]} {[DQ [VarSub ABS_LIBCXXABI_DIR]] [LIT_CHARS /src/] [LIT_OTHER "*"] [LIT_CHARS .cpp]} {[LIT_CHARS -I] [DQ [VarSub ABS_LIBCXXABI_DIR][LIT_CHARS /include]]}) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS pushd]} {[LIT_CHARS libcxxbuild]}) (Com {[VarSub CC test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS cc]}]} {[LIT_CHARS libcxx/] [LIT_OTHER "*"] [LIT_CHARS .o]} {[LIT_CHARS libcxxabi/] [LIT_OTHER "*"] [LIT_CHARS .o]} {[LIT_CHARS -o]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .1.dylib]} {[LIT_CHARS -dynamiclib]} {[LIT_CHARS -nodefaultlibs]} {[LIT_CHARS -current_version]} {[LIT_CHARS 1]} {[LIT_CHARS -compatibility_version]} {[LIT_CHARS 1]} {[LIT_CHARS -lSystem]} {[LIT_CHARS -install_name]} {[LIT_OTHER "@"] [LIT_CHARS executable_path/libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .dylib]} {[LIT_CHARS -Wl] [LIT_COMMA ","] [LIT_CHARS -unexported_symbols_list] [LIT_COMMA ","] [VarSub ABS_LIBCXX_DIR] [LIT_CHARS /lib/libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS unexp.exp]} {[LIT_CHARS -Wl] [LIT_COMMA ","] [LIT_CHARS -force_symbols_not_weak_list] [LIT_COMMA ","] [VarSub ABS_LIBCXX_DIR] [LIT_CHARS /lib/notweak.exp]} {[LIT_CHARS -Wl] [LIT_COMMA ","] [LIT_CHARS -force_symbols_weak_list] [LIT_COMMA ","] [VarSub ABS_LIBCXX_DIR] [LIT_CHARS /lib/weak.exp]}) (Com {[LIT_CHARS ln]} {[LIT_CHARS -sf]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .1.dylib]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .dylib]}) (Com {[LIT_CHARS popd]}) (= scope= flags=0 words=[] bindings=[('LDFLAGS+', {[DQ [LIT_CHARS "-stdlib=libc++ -L"][VarSub PWD][LIT_CHARS /libcxxbuild]]})]) ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -v]} {[VarSub CHROME_TOOLS_SHIM_DIR]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub CHROME_TOOLS_SHIM_DIR] [LIT_CHARS /CMakeLists.txt]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "# Since tools/clang isn't actually a subdirectory, use the two argument version\n"][LIT_CHARS "# to specify where build artifacts go. CMake doesn't allow reusing the same\n"][LIT_CHARS "# binary dir for multiple source dirs, so the build artifacts have to go into a\n"][LIT_CHARS "# subdirectory...\n"][LIT_CHARS "add_subdirectory("][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{CHROMIUM_TOOLS_SRC} "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{CMAKE_CURRENT_BINARY_DIR}/a)\n"]]} 0), > ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fv]} {[LIT_CHARS CMakeCache.txt]}) (Com {[LIT_CHARS cmake]} {[LIT_CHARS -GNinja]} {[LIT_CHARS -DCMAKE_BUILD_TYPE] [LIT_OTHER "="] [LIT_CHARS Release]} {[LIT_CHARS -DLLVM_ENABLE_ASSERTIONS] [LIT_OTHER "="] [LIT_CHARS ON]} {[LIT_CHARS -DLLVM_ENABLE_THREADS] [LIT_OTHER "="] [LIT_CHARS OFF]} {[LIT_CHARS -DCMAKE_C_COMPILER] [LIT_OTHER "="] [DQ [VarSub CC]]} {[LIT_CHARS -DCMAKE_CXX_COMPILER] [LIT_OTHER "="] [DQ [VarSub CXX]]} {[LIT_CHARS -DCMAKE_C_FLAGS] [LIT_OTHER "="] [DQ [VarSub CFLAGS]]} {[LIT_CHARS -DCMAKE_CXX_FLAGS] [LIT_OTHER "="] [DQ [VarSub CXXFLAGS]]} {[LIT_CHARS -DCMAKE_EXE_LINKER_FLAGS] [LIT_OTHER "="] [DQ [VarSub LDFLAGS]]} {[LIT_CHARS -DCMAKE_SHARED_LINKER_FLAGS] [LIT_OTHER "="] [DQ [VarSub LDFLAGS]]} {[LIT_CHARS -DCMAKE_MODULE_LINKER_FLAGS] [LIT_OTHER "="] [DQ [VarSub LDFLAGS]]} {[LIT_CHARS -DCMAKE_INSTALL_PREFIX] [LIT_OTHER "="] [DQ [VarSub ABS_LLVM_BUILD_DIR]]} {[LIT_CHARS -DCHROMIUM_TOOLS_SRC] [LIT_OTHER "="] [DQ [VarSub ABS_CHROMIUM_TOOLS_DIR]]} {[LIT_CHARS -DCHROMIUM_TOOLS] [LIT_OTHER "="] [DQ [VarSub chrome_tools]]} {[DQ [VarSub ABS_LLVM_DIR]]} more_env=[('MACOSX_DEPLOYMENT_TARGET', {[VarSub deployment_target]})] ) (Com {[LIT_CHARS env]}) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub gcc_toolchain]]}}) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS lib]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[DQ [ComSub (Com {[VarSub CXX]} {[VarSub CXXFLAGS]} {[LIT_CHARS -print-file-name] [LIT_OTHER "="] [LIT_CHARS libstdc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .so.6]})]]} {[LIT_CHARS lib/]}) ) ) (Com {[LIT_CHARS ninja]}) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub chrome_tools]]}}) (Com {[LIT_CHARS ninja]} {[LIT_CHARS cr-install]}) ) (= scope= flags=0 words=[] bindings=[('STRIP_FLAGS', {[SQ ]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub OS]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('STRIP_FLAGS', {[LIT_CHARS -x]})]) (Com {[LIT_CHARS cp]} {[LIT_CHARS libcxxbuild/libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .1.dylib]} {[LIT_CHARS bin/]}) ) ) (Com {[LIT_CHARS strip]} {[VarSub STRIP_FLAGS]} {[LIT_CHARS bin/clang]}) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub COMPILER_RT_BUILD_DIR]]}) (Com {[LIT_CHARS pushd]} {[DQ [VarSub COMPILER_RT_BUILD_DIR]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fv]} {[LIT_CHARS CMakeCache.txt]}) (Com {[LIT_CHARS cmake]} {[LIT_CHARS -GNinja]} {[LIT_CHARS -DCMAKE_BUILD_TYPE] [LIT_OTHER "="] [LIT_CHARS Release]} {[LIT_CHARS -DLLVM_ENABLE_ASSERTIONS] [LIT_OTHER "="] [LIT_CHARS ON]} {[LIT_CHARS -DLLVM_ENABLE_THREADS] [LIT_OTHER "="] [LIT_CHARS OFF]} {[LIT_CHARS -DCMAKE_C_COMPILER] [LIT_OTHER "="] [DQ [VarSub CC]]} {[LIT_CHARS -DCMAKE_CXX_COMPILER] [LIT_OTHER "="] [DQ [VarSub CXX]]} {[LIT_CHARS -DLLVM_CONFIG_PATH] [LIT_OTHER "="] [DQ [VarSub ABS_LLVM_BUILD_DIR][LIT_CHARS /bin/llvm-config]]} {[DQ [VarSub ABS_COMPILER_RT_DIR]]} more_env=[('MACOSX_DEPLOYMENT_TARGET', {[VarSub deployment_target]})] ) (Com {[LIT_CHARS ninja]}) (= scope= flags=0 words=[] bindings=[('CLANG_VERSION', {[ComSub (Pipeline (Com {[DQ [VarSub ABS_LLVM_BUILD_DIR][LIT_CHARS /bin/clang]]} {[LIT_CHARS --version]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -ne]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('ABS_LLVM_CLANG_LIB_DIR', {[DQ [VarSub ABS_LLVM_BUILD_DIR][LIT_CHARS /lib/clang/][VarSub CLANG_VERSION]]})]) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS -c]} {[LIT_OTHER "*"] [LIT_CHARS blacklist.txt]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS -C]} {[VarSub ABS_LLVM_CLANG_LIB_DIR]} {[LIT_CHARS -xv]}) ) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS -c]} {[LIT_CHARS include/sanitizer]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS -C]} {[VarSub ABS_LLVM_CLANG_LIB_DIR]} {[LIT_CHARS -xv]}) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OS]]} {[DQ [LIT_CHARS Darwin]]}}) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS -c]} {[LIT_CHARS lib/darwin]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS -C]} {[VarSub ABS_LLVM_CLANG_LIB_DIR]} {[LIT_CHARS -xv]}) ) (ElseTrue) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS -c]} {[LIT_CHARS lib/linux]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS -C]} {[VarSub ABS_LLVM_CLANG_LIB_DIR]} {[LIT_CHARS -xv]}) ) ) (Com {[LIT_CHARS popd]}) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub with_android]]}}) (List (Com {[VarSub ANDROID_NDK_DIR] [LIT_CHARS /build/tools/make-standalone-toolchain.sh]} {[LIT_CHARS --platform] [LIT_OTHER "="] [LIT_CHARS android-14]} {[LIT_CHARS --install-dir] [LIT_OTHER "="] [DQ [VarSub LLVM_BUILD_DIR][LIT_CHARS /android-toolchain]]} {[LIT_CHARS --system] [LIT_OTHER "="] [LIT_CHARS linux-x86_64]} {[LIT_CHARS --stl] [LIT_OTHER "="] [LIT_CHARS stlport]} {[LIT_CHARS --toolchain] [LIT_OTHER "="] [LIT_CHARS arm-linux-androideabi-4.9]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -v]} {[DQ [VarSub LLVM_BUILD_DIR]] [LIT_CHARS /android-toolchain/include/c] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /unwind.h]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub LLVM_BUILD_DIR] [LIT_CHARS /android]}) (Com {[LIT_CHARS pushd]} {[VarSub LLVM_BUILD_DIR] [LIT_CHARS /android]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fv]} {[LIT_CHARS CMakeCache.txt]}) (Com {[LIT_CHARS cmake]} {[LIT_CHARS -GNinja]} {[LIT_CHARS -DCMAKE_BUILD_TYPE] [LIT_OTHER "="] [LIT_CHARS Release]} {[LIT_CHARS -DLLVM_ENABLE_ASSERTIONS] [LIT_OTHER "="] [LIT_CHARS ON]} {[LIT_CHARS -DLLVM_ENABLE_THREADS] [LIT_OTHER "="] [LIT_CHARS OFF]} {[LIT_CHARS -DCMAKE_C_COMPILER] [LIT_OTHER "="] [VarSub PWD] [LIT_CHARS /../bin/clang]} {[LIT_CHARS -DCMAKE_CXX_COMPILER] [LIT_OTHER "="] [VarSub PWD] [LIT_CHARS /../bin/clang] [LIT_OTHER "+"] [LIT_OTHER "+"]} {[LIT_CHARS -DLLVM_CONFIG_PATH] [LIT_OTHER "="] [VarSub PWD] [LIT_CHARS /../bin/llvm-config]} {[LIT_CHARS -DCMAKE_C_FLAGS] [LIT_OTHER "="] [DQ [LIT_CHARS "--target=arm-linux-androideabi --sysroot="][VarSub PWD][LIT_CHARS "/../android-toolchain/sysroot -B"][VarSub PWD][LIT_CHARS /../android-toolchain]]} {[LIT_CHARS -DCMAKE_CXX_FLAGS] [LIT_OTHER "="] [DQ [LIT_CHARS "--target=arm-linux-androideabi --sysroot="][VarSub PWD][LIT_CHARS "/../android-toolchain/sysroot -B"][VarSub PWD][LIT_CHARS /../android-toolchain]]} {[LIT_CHARS -DANDROID] [LIT_OTHER "="] [LIT_CHARS 1]} {[DQ [VarSub ABS_COMPILER_RT_DIR]]} more_env=[('MACOSX_DEPLOYMENT_TARGET', {[VarSub deployment_target]})] ) (Com {[LIT_CHARS ninja]} {[LIT_CHARS libclang_rt.asan-arm-android.so]}) (Com {[LIT_CHARS cp]} {[DQ [ComSub (Com {[LIT_CHARS find]} {[LIT_CHARS -name]} {[LIT_CHARS libclang_rt.asan-arm-android.so]})]]} {[DQ [VarSub ABS_LLVM_CLANG_LIB_DIR][LIT_CHARS /lib/linux/]]}) (Com {[LIT_CHARS popd]}) ) ) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub run_tests]]}}) (List (Com {[LIT_CHARS ninja]} {[LIT_CHARS -C]} {[DQ [VarSub LLVM_BUILD_DIR]]} {[LIT_CHARS cr-check-all]}) (Com {[LIT_CHARS ninja]} {[LIT_CHARS -C]} {[DQ [VarSub LLVM_BUILD_DIR]]} {[LIT_CHARS check-all]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub CLANG_AND_PLUGINS_REVISION]]} < (FilenameRedirectNode filename={[DQ [VarSub STAMP_FILE]]} "> 1), > ) )