<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">If you add me to the review I can try you patch locally which should give us a pretty good indicator whether it will work on the bots.<div class=""><br class=""></div><div class="">-- adrian<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Dec 6, 2017, at 10:25 AM, Don Hinton <<a href="mailto:hintonda@gmail.com" class="">hintonda@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">On Wed, Dec 6, 2017 at 10:23 AM, Adrian Prantl <span dir="ltr" class=""><<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><br class=""><div class=""><span class=""><br class=""><blockquote type="cite" class=""><div class="">On Dec 6, 2017, at 10:21 AM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:</div><br class="m_2350711368940184731Apple-interchange-newline"><div class=""><div dir="ltr" class="">Can I have some assurance that if it fails again, someone will look into who has access to the builders so I don't have to keep doing speculative commits?</div></div></blockquote><div class=""><br class=""></div></span><div class="">Sure. I did this last time and I promise to also do it this time.</div></div></div></blockquote><div class=""><br class=""></div><div class="">I'd be happy to create a new phab diff for this it that would help...</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><span class="HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div><div class="">-- adrian</div></font></span><div class=""><div class="h5"><br class=""><blockquote type="cite" class=""><div class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, Dec 6, 2017 at 10:13 AM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Dec 6, 2017, at 10:10 AM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:</div><br class="m_2350711368940184731m_-8228895605495592334Apple-interchange-newline"><div class=""><div dir="ltr" class="">Adrian, Mike, Chris?  Any update on this?  I've temporarily switched to working on something different, but I plan to be back on this in a couple of weeks.  It's been a month since my first revert of this CL, which seems like a reasonable amount of lead-time to deal with issues surrounding downstream buildbot failures.  I'm planning to move forward with this in a couple of weeks once I finish up my current task, and I would really prefer to not be further blocked by downstream buildbot failures.<div class=""><br class=""></div><div class="">Is there any way you can try Don's patch above on one of the failing machines?  Or proceed with your earlier solution of fixing up all the jenkins builders?  </div></div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">When he has verified that they work locally on a Darwin machine, they should also work on the bots. We don't have any special configuration on those machines that isn't also visible in the Jenkins build log. I don't mind you committing the patch to verify that they work as long as you keep a close eye on the bots to ensure that they don't break and immediately revert if they do.</div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class=""><br class=""></div><div class="">-- adrian</div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Sat, Nov 25, 2017 at 3:46 PM Don Hinton <<a href="mailto:hintonda@gmail.com" target="_blank" class="">hintonda@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class="">Hi Zachary:</div><div class=""><br class=""></div>I was able to reproduce the greendragon results locally (OSX), and fix the problem by excluding 'debuginfo-tests' from check-clang -- this prevents them from being added twice, once for check-clang and again for check-debuginfo.<div class=""><br class=""></div><div class="">Below are the minimized patches I used to reproduce and fix the problem -- based on your originals.</div><div class=""><br class=""></div><div class="">I've verified these patches work when including debuginfo-tests in either clang/test or llvm/projects.</div><div class=""><br class=""></div><div class="">hth...</div><div class="">don</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class=""><font face="monospace, monospace" class="">local:/Users/dhinton/projects/<wbr class="">llvm_project/llvm/tools/clang $ git diff master</font></div><div class=""><font face="monospace, monospace" class="">diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt</font></div><div class=""><font face="monospace, monospace" class="">index c1ac9e4f0f..8c2db7600d 100644</font></div><div class=""><font face="monospace, monospace" class="">--- a/test/CMakeLists.txt</font></div><div class=""><font face="monospace, monospace" class="">+++ b/test/CMakeLists.txt</font></div><div class=""><font face="monospace, monospace" class="">@@ -131,3 +131,7 @@ add_lit_testsuites(CLANG ${CMAKE_CURRENT_SOURCE_DIR}</font></div><div class=""><font face="monospace, monospace" class=""> add_custom_target(clang-test)</font></div><div class=""><font face="monospace, monospace" class=""> add_dependencies(clang-test check-clang)</font></div><div class=""><font face="monospace, monospace" class=""> set_target_properties(clang-<wbr class="">test PROPERTIES FOLDER "Clang tests")</font></div><div class=""><font face="monospace, monospace" class="">+</font></div><div class=""><font face="monospace, monospace" class="">+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">debuginfo-tests/CMakeLists.<wbr class="">txt")</font></div><div class=""><font face="monospace, monospace" class="">+  add_subdirectory(debuginfo-<wbr class="">tests)</font></div><div class=""><font face="monospace, monospace" class="">+endif()</font></div><div class=""><font face="monospace, monospace" class="">diff --git a/test/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a> b/test/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a></font></div><div class=""><font face="monospace, monospace" class="">index 39bdf36afd..5323cfe735 100644</font></div><div class=""><font face="monospace, monospace" class="">--- a/test/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a></font></div><div class=""><font face="monospace, monospace" class="">+++ b/test/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a></font></div><div class=""><font face="monospace, monospace" class="">@@ -31,7 +31,7 @@ config.suffixes = ['.c', '.cpp', '.cppm', '.m', '.mm', '.cu',</font></div><div class=""><font face="monospace, monospace" class=""> # excludes: A list of directories to exclude from the testsuite. The 'Inputs'</font></div><div class=""><font face="monospace, monospace" class=""> # subdirectories contain auxiliary inputs for various tests in their parent</font></div><div class=""><font face="monospace, monospace" class=""> # directories.</font></div><div class=""><font face="monospace, monospace" class="">-config.excludes = ['Inputs', 'CMakeLists.txt', 'README.txt', 'LICENSE.txt']</font></div><div class=""><font face="monospace, monospace" class="">+config.excludes = ['Inputs', 'CMakeLists.txt', 'README.txt', 'LICENSE.txt', 'debuginfo-tests']</font></div><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><font face="monospace, monospace" class=""> # test_source_root: The root path where tests are located.</font></div><div class=""><font face="monospace, monospace" class=""> config.test_source_root = os.path.dirname(__file__)</font></div><div class=""><font face="monospace, monospace" class="">@@ -58,8 +58,6 @@ tool_dirs = [config.clang_tools_dir, config.llvm_tools_dir]</font></div><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><font face="monospace, monospace" class=""> tools = [</font></div><div class=""><font face="monospace, monospace" class="">     'c-index-test', 'clang-check', 'clang-diff', 'clang-format', 'opt',</font></div><div class=""><font face="monospace, monospace" class="">-    ToolSubst('%test_debuginfo', command=os.path.join(</font></div><div class=""><font face="monospace, monospace" class="">-        config.llvm_src_root, 'utils', '<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a>')),</font></div><div class=""><font face="monospace, monospace" class="">     ToolSubst('%clang_func_map', command=FindTool(</font></div><div class=""><font face="monospace, monospace" class="">         'clang-func-mapping'), unresolved='ignore'),</font></div><div class=""><font face="monospace, monospace" class=""> ]</font></div></div><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><pre style="word-wrap:break-word;white-space:pre-wrap" class=""><font face="monospace, monospace" class="">local:/Users/dhinton/projects/<wbr class="">llvm_project/debuginfo-tests $ git diff master
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..87260f1
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,26 @@
+# Debug Info tests.  These tests invoke clang to generate programs with
+# various types of debug info, and then run those programs under a debugger
+# such as GDB or LLDB to verify the results.
+
+set(DEBUGINFO_TESTS_SOURCE_<wbr class="">DIR ${CMAKE_CURRENT_SOURCE_DIR})
+set(DEBUGINFO_TESTS_BINARY_<wbr class="">DIR ${CMAKE_CURRENT_BINARY_DIR})
+
+set(DEBUGINFO_TEST_DEPS
+  clang
+  FileCheck
+  count
+  not
+  )
+
+configure_lit_site_cfg(
+  ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.py.in/" target="_blank" class="">li<wbr class="">t.site.cfg.py.in</a>
+  ${CMAKE_CURRENT_BINARY_DIR}/<a href="http://lit.site.cfg.py/" target="_blank" class="">li<wbr class="">t.site.cfg.py</a>
+  MAIN_CONFIG
+  ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.cfg.py/" target="_blank" class="">li<wbr class="">t.cfg.py</a>
+  )
+
+add_lit_testsuite(check-<wbr class="">debuginfo "Running debug info integration tests"
+  ${CMAKE_CURRENT_BINARY_DIR}
+  DEPENDS ${DEBUGINFO_TEST_DEPS}
+  )
+set_target_properties(check-<wbr class="">debuginfo PROPERTIES FOLDER "Debug info tests")
diff --git a/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a> b/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a>
new file mode 100644
index 0000000..ad65f46
--- /dev/null
+++ b/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a>
@@ -0,0 +1,59 @@
+# -*- Python -*-
+
+import os
+import platform
+import re
+import subprocess
+import tempfile
+
+import lit.formats
+import lit.util
+
+from lit.llvm import llvm_config
+from lit.llvm.subst import ToolSubst
+from lit.llvm.subst import FindTool
+
+# Configuration file for the 'lit' test runner.
+
+# name: The name of this test suite.
+<a href="http://config.name/" target="_blank" class="">config.name</a> = 'debuginfo-tests'
+
+# testFormat: The test format to use to interpret tests.
+#
+# For now we require '&&' between commands, until they get globally killed and
+# the test runner updated.
+config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell)
+
+# suffixes: A list of file extensions to treat as test files.
+config.suffixes = ['.c', '.cpp', '.m']
+
+# excludes: A list of directories to exclude from the testsuite. The 'Inputs'
+# subdirectories contain auxiliary inputs for various tests in their parent
+# directories.
+config.excludes = ['Inputs']
+
+# test_source_root: The root path where tests are located.
+config.test_source_root = os.path.join(config.debuginfo_<wbr class="">tests_src_root)
+
+# test_exec_root: The root path where tests should be run.
+config.test_exec_root = config.debuginfo_tests_obj_<wbr class="">root
+
+llvm_config.use_default_<wbr class="">substitutions()
+
+llvm_config.use_clang()
+
+if config.llvm_use_sanitizer:
+    # Propagate path to symbolizer for ASan/MSan.
+    llvm_config.with_system_<wbr class="">environment(
+        ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH'])
+
+tool_dirs = [config.llvm_tools_dir]
+
+tools = [
+    ToolSubst('%test_debuginfo', command=os.path.join(
+        config.debuginfo_tests_src_<wbr class="">root, '<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a>')),
+]
+
+llvm_config.add_tool_<wbr class="">substitutions(tools, tool_dirs)
+
+lit.util.<wbr class="">usePlatformSdkOnDarwin(config, lit_config)
diff --git a/<a href="http://lit.site.cfg.py.in/" target="_blank" class="">lit.site.cfg.py.in</a> b/<a href="http://lit.site.cfg.py.in/" target="_blank" class="">lit.site.cfg.py.in</a>
new file mode 100644
index 0000000..8c4481a
--- /dev/null
+++ b/<a href="http://lit.site.cfg.py.in/" target="_blank" class="">lit.site.cfg.py.in</a>
@@ -0,0 +1,25 @@
+@LIT_SITE_CFG_IN_HEADER@
+
+import lit.util
+
+config.test_exec_root = "@CMAKE_BINARY_DIR@"
+
+config.llvm_src_root = "@LLVM_SOURCE_DIR@"
+config.llvm_obj_root = "@LLVM_BINARY_DIR@"
+config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
+config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
+config.llvm_shlib_dir = "@SHLIBDIR@"
+config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@"
+config.debuginfo_tests_obj_<wbr class="">root = "@DEBUGINFO_TESTS_BINARY_DIR@"
+config.debuginfo_tests_src_<wbr class="">root = "@DEBUGINFO_TESTS_SOURCE_DIR@"
+config.has_lld = lit.util.pythonize_bool("@<wbr class="">DEBUGINFO_TESTS_HAS_LLD@")
+config.host_triple = "@LLVM_HOST_TRIPLE@"
+config.target_triple = "@TARGET_TRIPLE@"
+config.host_arch = "@HOST_ARCH@"
+
+config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
+
+@LIT_SITE_CFG_IN_FOOTER@
+
+# Let the main config do the real work.
+lit_config.load_config(<wbr class="">config, "@DEBUGINFO_TESTS_SOURCE_DIR@/<a href="http://lit.cfg.py/" target="_blank" class=""><wbr class="">lit.cfg.py</a>")
diff --git a/<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a> b/<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a>
new file mode 100755
index 0000000..adc11c3
--- /dev/null
+++ b/<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a>
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+#
+# This script tests debugging information generated by a compiler.
+# Input arguments
+#   - Input source program. Usually this source file is decorated using
+#     special comments to communicate debugger commands.
+#   - Executable file. This file is generated by the compiler.
+#
+# This perl script extracts debugger commands from input source program
+# comments in a script. A debugger is used to load the executable file
+# and run the script generated from source program comments. Finally,
+# the debugger output is checked, using FileCheck, to validate
+# debugging information.
+#
+# On Darwin the default is to use the llgdb.py wrapper script which
+# translates gdb commands into their lldb equivalents.
+
+use File::Basename;
+use Config;
+use Cwd;
+
+my $testcase_file = $ARGV[0];
+my $executable_file = $ARGV[1];
+
+my $input_filename = basename $testcase_file;
+my $output_dir = dirname $executable_file;
+
+my $debugger_script_file = "$output_dir/$input_filename.<wbr class="">debugger.script";
+my $output_file = "$output_dir/$input_filename.<wbr class="">gdb.output";
+
+my %cmd_map = ();
+# Assume lldb to be the debugger on Darwin.
+my $use_lldb = 0;
+$use_lldb = 1 if ($Config{osname} eq "darwin");
+
+# Extract debugger commands from testcase. They are marked with DEBUGGER:
+# at the beginning of a comment line.
+open(INPUT, $testcase_file);
+open(OUTPUT, ">$debugger_script_file");
+while(<INPUT>) {
+    my($line) = $_;
+    $i = index($line, "DEBUGGER:");
+    if ( $i >= 0) {
+        $l = length("DEBUGGER:");
+        $s = substr($line, $i + $l);
+        print OUTPUT  "$s";
+    }
+}
+print OUTPUT "\n";
+print OUTPUT "quit\n";
+close(INPUT);
+close(OUTPUT);
+
+# setup debugger and debugger options to run a script.
+my $my_debugger = $ENV{'DEBUGGER'};
+if (!$my_debugger) {
+    if ($use_lldb) {
+        my $path = dirname(Cwd::abs_path($0));
+        $my_debugger = "/usr/bin/env python $path/llgdb.py";
+    } else {
+        $my_debugger = "gdb";
+    }
+}
+
+# quiet / exit after cmdline / no init file / execute script
+my $debugger_options = "-q -batch -n -x";
+
+# run debugger and capture output.
+system("$my_debugger $debugger_options $debugger_script_file $executable_file > $output_file 2>&1");
+
+# validate output.
+system("FileCheck", "-input-file", "$output_file", "$testcase_file");
+if ($?>>8 == 1) {
+    print "Debugger output was:\n";
+    system("cat", "$output_file");
+    exit 1;
+}
+else {
+    exit 0;
+}</font></pre><pre style="word-wrap:break-word;white-space:pre-wrap" class=""><font face="monospace, monospace" class=""><br class=""></font></pre><pre style="word-wrap:break-word;white-space:pre-wrap" class=""><pre style="word-wrap:break-word;white-space:pre-wrap" class=""><font face="monospace, monospace" class="">local:/Users/dhinton/projects/<wbr class="">llvm_project/llvm $ git diff master
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8cd9d053c63..7d0fe05b511 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -110,7 +110,7 @@ endif()
 # LLVM_EXTERNAL_${project}_<wbr class="">SOURCE_DIR using LLVM_ALL_PROJECTS
 # This allows an easy way of setting up a build directory for llvm and another
 # one for llvm+clang+... using the same sources.
-set(LLVM_ALL_PROJECTS "clang;libcxx;libcxxabi;lldb;<wbr class="">compiler-rt;lld;polly")
+set(LLVM_ALL_PROJECTS "clang;libcxx;libcxxabi;lldb;<wbr class="">compiler-rt;lld;polly,<wbr class="">debuginfo-tests")
 set(LLVM_ENABLE_PROJECTS "" CACHE STRING
        "Semicolon-separated list of projects to build (${LLVM_ALL_PROJECTS}), or \"all\".")
 if( LLVM_ENABLE_PROJECTS STREQUAL "all" )
@@ -885,13 +885,16 @@ if( LLVM_INCLUDE_EXAMPLES )
 endif()
 
 if( LLVM_INCLUDE_TESTS )
-  if(EXISTS ${LLVM_MAIN_SRC_DIR}/projects/<wbr class="">test-suite AND TARGET clang)
-    include(<wbr class="">LLVMExternalProjectUtils)
-    llvm_ExternalProject_Add(test-<wbr class="">suite ${LLVM_MAIN_SRC_DIR}/projects/<wbr class="">test-suite
-      USE_TOOLCHAIN
-      EXCLUDE_FROM_ALL
-      NO_INSTALL
-      ALWAYS_CLEAN)
+  if(TARGET clang)
+    if(EXISTS ${LLVM_MAIN_SRC_DIR}/projects/<wbr class="">test-suite)
+      include(<wbr class="">LLVMExternalProjectUtils)
+      llvm_ExternalProject_Add(test-<wbr class="">suite ${LLVM_MAIN_SRC_DIR}/projects/<wbr class="">test-suite
+        USE_TOOLCHAIN
+        EXCLUDE_FROM_ALL
+        NO_INSTALL
+        ALWAYS_CLEAN)
+    endif()
+    add_llvm_external_project(<wbr class="">debuginfo-tests projects/debuginfo-tests)
   endif()
   add_subdirectory(utils/lit)
   add_subdirectory(test)
diff --git a/projects/CMakeLists.txt b/projects/CMakeLists.txt
index 9102efbdcb4..11835fa89d2 100644
--- a/projects/CMakeLists.txt
+++ b/projects/CMakeLists.txt
@@ -10,6 +10,7 @@ foreach(entry ${entries})
        (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">libcxxabi) AND
        (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">libunwind) AND
        (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">test-suite) AND
+       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">debuginfo-tests) AND
        (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">parallel-libs) AND
        (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/<wbr class="">openmp))
       add_subdirectory(${entry})
diff --git a/utils/lit/lit/llvm/config.py b/utils/lit/lit/llvm/config.py
index c631f8b8865..c2e5c9ff141 100644
--- a/utils/lit/lit/llvm/config.py
+++ b/utils/lit/lit/llvm/config.py
@@ -413,8 +413,10 @@ class LLVMConfig(object):
             self.config.substitutions.<wbr class="">append(
                 ('%target_itanium_abi_host_<wbr class="">triple', ''))
 
-        self.config.substitutions.<wbr class="">append(
-            ('%src_include_dir', self.config.clang_src_dir + '/include'))
+        clang_src_dir = getattr(self.config, 'clang_src_dir', None)
+        if clang_src_dir:
+            self.config.substitutions.<wbr class="">append(
+                ('%src_include_dir', os.path.join(clang_src_dir, 'include')))
 
         # FIXME: Find nicer way to prohibit this.
         self.config.substitutions.<wbr class="">append(
diff --git a/utils/<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a> b/utils/<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a>
deleted file mode 100755
index aaf90d95468..00000000000
--- a/utils/<a href="http://test_debuginfo.pl/" target="_blank" class="">test_debuginfo.pl</a>
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/perl
-#
-# This script tests debugging information generated by a compiler.
-# Input arguments
-#   - Input source program. Usually this source file is decorated using
-#     special comments to communicate debugger commands.
-#   - Executable file. This file is generated by the compiler.
-#
-# This perl script extracts debugger commands from input source program 
-# comments in a script. A debugger is used to load the executable file
-# and run the script generated from source program comments. Finally,
-# the debugger output is checked, using FileCheck, to validate 
-# debugging information.
-#
-# On Darwin the default is to use the llgdb.py wrapper script which
-# translates gdb commands into their lldb equivalents.
-
-use File::Basename;
-use Config;
-use Cwd;
-
-my $testcase_file = $ARGV[0];
-my $executable_file = $ARGV[1];
-
-my $input_filename = basename $testcase_file;
-my $output_dir = dirname $executable_file;
-
-my $debugger_script_file = "$output_dir/$input_filename.<wbr class="">debugger.script";
-my $output_file = "$output_dir/$input_filename.<wbr class="">gdb.output";
-
-my %cmd_map = ();
-# Assume lldb to be the debugger on Darwin.
-my $use_lldb = 0;
-$use_lldb = 1 if ($Config{osname} eq "darwin");
-
-# Extract debugger commands from testcase. They are marked with DEBUGGER: 
-# at the beginning of a comment line.
-open(INPUT, $testcase_file);
-open(OUTPUT, ">$debugger_script_file");
-while(<INPUT>) {
-    my($line) = $_;
-    $i = index($line, "DEBUGGER:");
-    if ( $i >= 0) {
-        $l = length("DEBUGGER:");
-        $s = substr($line, $i + $l);
-        print OUTPUT  "$s";
-    }
-}
-print OUTPUT "\n";
-print OUTPUT "quit\n";
-close(INPUT);
-close(OUTPUT);
-
-# setup debugger and debugger options to run a script.
-my $my_debugger = $ENV{'DEBUGGER'};
-if (!$my_debugger) {
-    if ($use_lldb) {
-        my $path = dirname(Cwd::abs_path($0));
-        $my_debugger = "/usr/bin/env python $path/../tools/clang/test/<wbr class="">debuginfo-tests/llgdb.py";
-    } else {
-        $my_debugger = "gdb";
-    }
-}
-
-# quiet / exit after cmdline / no init file / execute script
-my $debugger_options = "-q -batch -n -x";
-
-# run debugger and capture output.
-system("$my_debugger $debugger_options $debugger_script_file $executable_file > $output_file 2>&1");
-
-# validate output.
-system("FileCheck", "-input-file", "$output_file", "$testcase_file");
-if ($?>>8 == 1) {
-    print "Debugger output was:\n";
-    system("cat", "$output_file");
-    exit 1;
-}
-else {
-    exit 0;
-}</font></pre><pre style="word-wrap:break-word;white-space:pre-wrap" class=""><br class=""></pre></pre></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Nov 21, 2017 at 9:29 PM, Zachary Turner <span dir="ltr" class=""><<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Definitely welcome to look into it, but unless you have physical access to one of these buildbots, I don't think we should commit anything else speculatively without having someone who does have physical access first confirm it.</div><div class="m_2350711368940184731m_-8228895605495592334m_-4485673762013324621HOEnZb"><div class="m_2350711368940184731m_-8228895605495592334m_-4485673762013324621h5"><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Nov 21, 2017 at 7:25 PM Don Hinton <<a href="mailto:hintonda@gmail.com" target="_blank" class="">hintonda@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">I sorta enjoy debugging stuff like this, so if you don't mind, I'll dig into it once I get a chance -- traveling so, my access is a bit sketchy right now.<div class=""><br class=""></div><div class="">I'll see if I can grab the logs and let you know if I find anything interesting.</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Nov 21, 2017 at 7:04 PM, Zachary Turner <span dir="ltr" class=""><<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">That change was added specifically to workaround a failure in a previous version of the commit.  I think as chandler says it's pretty much impossible for me to make any progress unless someone whose build bot is failing actually sits down, applies the patch, makes it work, and then sends me back the result.</div><div class="m_2350711368940184731m_-8228895605495592334m_-4485673762013324621m_4837141462881959134m_-3445156509293612706HOEnZb"><div class="m_2350711368940184731m_-8228895605495592334m_-4485673762013324621m_4837141462881959134m_-3445156509293612706h5"><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Nov 21, 2017 at 7:03 PM Don Hinton <<a href="mailto:hintonda@gmail.com" target="_blank" class="">hintonda@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class=""><div dir="auto" class="">Hi Zackary,</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Did you see my followup to you cfe-commits rollback:</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">  <a href="http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20171120/210212.html" target="_blank" class="">http://lists.llvm.org/<wbr class="">pipermail/cfe-commits/Week-of-<wbr class="">Mon-20171120/210212.html</a><br class=""></div><div dir="auto" class=""><br class=""></div><div class="">I think you can just remove the change to <span style="white-space:pre-wrap" class="">cfe/trunk/test/CMakeLists.<wbr class="">txt and it should work just fine.</span></div><div class=""><span style="white-space:pre-wrap" class=""><br class=""></span></div><div class=""><span style="white-space:pre-wrap" class="">hth...</span></div></div></div><div dir="ltr" class=""><div class=""><div class=""><span style="white-space:pre-wrap" class="">don</span></div></div></div><div dir="ltr" class=""><div class=""><br class=""><div class="gmail_quote"><div class="">On Tue, Nov 21, 2017 at 12:00 PM Zachary Turner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Just an update,<div class=""><br class=""></div><div class="">At this point I've submitted and reverted this probably 6+ times, and I don't have time to be blocked by this anymore.  </div><div class=""><br class=""></div><div class="">I'm looking into alternatives for now, including ways of creating a new top-level git repo such as <a href="https://git.llvm.org/git/codeview-tests.git/" target="_blank" class="">https://git.llvm.org/git/<wbr class="">codeview-tests.git/</a>.<br class=""></div><div class=""><br class=""></div><div class="">I wish there were another way, but at this point I've been working on appeasing this for close to 2 months and I need some control over the bits that determine whether I'm able to make forward progress.</div><div class=""><br class=""></div><div class="">If and when someone on the Apple side has some time to make this work with their build infrastructure, I will be happy to revisit. <br class=""></div></div><br class=""><div class="gmail_quote"><div class="">On Mon, Nov 13, 2017 at 4:44 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Great!  It's close to the end of the day, so I'll submit tomorrow to make sure everything has a chance to go fully green again to ensure I get failure emails if it breaks.</div><br class=""><div class="gmail_quote"><div class="">On Mon, Nov 13, 2017 at 4:43 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class="">I can confirm that that fixes the issue!<div class=""><br class=""></div><div class=""></div></div><div style="word-wrap:break-word" class=""><div class="">— adrian</div></div><div style="word-wrap:break-word" class=""><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Nov 13, 2017, at 4:38 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:</div><br class="m_2350711368940184731m_-8228895605495592334m_-4485673762013324621m_4837141462881959134m_-3445156509293612706m_4880881515467032167m_6236117024959734063gmail-m_4360423209833466227m_99596195864798474m_-4179398862014117493m_3700085524307750446Apple-interchange-newline"><div class=""><div class="">Yea I also just found it.  Try adding this code in the bottom of debuginfo-tests/<a href="http://lit.cfg.py/" target="_blank" class="">lit.cfg.py</a><div class=""><br class=""></div><div class=""><div class="">lit.util.<wbr class="">usePlatformSdkOnDarwin(config, lit_config)</div></div><div class=""><br class=""></div></div><br class=""><div class="gmail_quote"><div class="">On Mon, Nov 13, 2017 at 4:38 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ha! Found it. *Somebody* is setting an SDKROOT variable in the environment. Can you find the code that would do this?<br class="">
<br class="">
— adrian<br class="">
<br class="">
> On Nov 13, 2017, at 4:30 PM, Adrian Prantl via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class="">
><br class="">
> Yes I can reproduce this locally. It looks like we are not passing an -isysroot (pointing to the SDK) to clang but it isn’t clear what lit magic would expand this.<br class="">
><br class="">
> -- adrian<br class="">
><br class="">
>> On Nov 13, 2017, at 3:30 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>><br class="">
>> Yea I'm preparing a revert right now.  Does it happen for you when you run debuginfo-tests locally?<br class="">
>><br class="">
>> On Mon, Nov 13, 2017 at 3:28 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class="">
>> Since this is causing all of our internal CI to back up, could you please revert your two changes, so we can make sure that they were actually responsible, and can work on a fix for this? Let me know how we can help investigate this.<br class="">
>><br class="">
>> -- adrian<br class="">
>><br class="">
>><br class="">
>>> On Nov 13, 2017, at 3:25 PM, Adrian Prantl via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class="">
>>><br class="">
>>> The first build where a test fails with similar symptoms has just one blamelist entry:<br class="">
>>><br class="">
>>> <a href="http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/40391/" rel="noreferrer" target="_blank" class="">http://green.lab.llvm.org/<wbr class="">green/job/clang-stage1-<wbr class="">configure-RA/40391/</a><br class="">
>>><br class="">
>>>     • Update <a href="http://test_debuginfo.pl/" rel="noreferrer" target="_blank" class="">test_debuginfo.pl</a> script to point to new tree location. (detail/ViewSVN)<br class="">
>>> by zturner<br class="">
>>> -- adrian<br class="">
>>><br class="">
>>>> On Nov 13, 2017, at 3:21 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>><br class="">
>>>> On the other hand this file hasn't changed recently, but I have no way to test this as it uses the LLDB code path, which only runs on OSX.<br class="">
>>>><br class="">
>>>> On Mon, Nov 13, 2017 at 3:19 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>> I might be missing something, but this doesn't look like me?<br class="">
>>>><br class="">
>>>> <a href="http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/40478/consoleFull#-42777206a1ca8a51-895e-46c6-af87-ce24fa4cd561" rel="noreferrer" target="_blank" class="">http://green.lab.llvm.org/<wbr class="">green/job/clang-stage1-<wbr class="">configure-RA/40478/<wbr class="">consoleFull#-42777206a1ca8a51-<wbr class="">895e-46c6-af87-ce24fa4cd561</a><br class="">
>>>><br class="">
>>>> PASS: debuginfo-tests :: dbg-arg.c (34886 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: ctor.cpp (34887 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: ctor.cpp (34888 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: aggregate-indirect-arg.cpp (34889 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: aggregate-indirect-arg.cpp (34890 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: dbg-arg.c (34891 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: asan.c (34892 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: asan.c (34893 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: asan-blocks.c (34894 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: asan-blocks.c (34895 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: nested-struct.cpp (34896 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: nested-struct.cpp (34897 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: forward-declare-class.cpp (34898 of 40729)<br class="">
>>>> PASS: debuginfo-tests :: forward-declare-class.cpp (34899 of 40729)<br class="">
>>>> FAIL: debuginfo-tests :: foreach.m (34900 of 40729)<br class="">
>>>><br class="">
>>>> ******************** TEST 'debuginfo-tests :: foreach.m' FAILED ********************<br class="">
>>>><br class="">
>>>> Script:<br class="">
>>>> --<br class="">
>>>> /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/bin/<wbr class="">clang --target=x86_64-apple-<wbr class="">darwin15.6.0 -O0 -g /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/tools/clang/<wbr class="">test/debuginfo-tests/tests/<wbr class="">foreach.m -c -o /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.tmp.o<br class="">
>>>> /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/bin/<wbr class="">clang --target=x86_64-apple-<wbr class="">darwin15.6.0 /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.tmp.o -o /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.tmp.out -framework Foundation<br class="">
>>>> /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/utils/<br class="">
>>>> <a href="http://test_debuginfo.pl/" rel="noreferrer" target="_blank" class="">test_debuginfo.pl</a><br class="">
>>>>  /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/tools/clang/<wbr class="">test/debuginfo-tests/tests/<wbr class="">foreach.m /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.tmp.out<br class="">
>>>> --<br class="">
>>>> Exit Code: 1<br class="">
>>>><br class="">
>>>> Command Output (stdout):<br class="">
>>>> --<br class="">
>>>> Debugger output was:<br class="">
>>>> imported lldb from: "/Applications/Xcode.app/<wbr class="">Contents/SharedFrameworks/<wbr class="">LLDB.framework/Versions/A/<wbr class="">Resources/Python"<br class="">
>>>> error: foreach.m.tmp.out debug map object file '/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.tmp.o' has changed (actual time is 0x5a0a2528, debug map time is 0x5a0a2526) since this executable was linked, file will be ignored<br class="">
>>>> >  break 25<br class="">
>>>> SBBreakpoint: id = 1, file = '', line = 25, exact_match = 0, locations = 0<br class="">
>>>> >  r<br class="">
>>>> success<br class="">
>>>> >  po thing<br class="">
>>>>  = <could not resolve type><br class="">
>>>> > quit<br class="">
>>>><br class="">
>>>> --<br class="">
>>>> Command Output (stderr):<br class="">
>>>> --<br class="">
>>>><br class="">
>>>> /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/tools/clang/<wbr class="">test/debuginfo-tests/tests/<wbr class="">foreach.m:11:11: error: expected string not found in input<br class="">
>>>><br class="">
>>>> // CHECK: aaa<br class="">
>>>>           ^<br class="">
>>>> /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.gdb.<wbr class="">output:1:1: note: scanning from here<br class="">
>>>> imported lldb from: "/Applications/Xcode.app/<wbr class="">Contents/SharedFrameworks/<wbr class="">LLDB.framework/Versions/A/<wbr class="">Resources/Python"<br class="">
>>>> ^<br class="">
>>>> /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.gdb.<wbr class="">output:2:211: note: possible intended match here<br class="">
>>>> error: foreach.m.tmp.out debug map object file '/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">tools/clang/test/debuginfo-<wbr class="">tests/Output/foreach.m.tmp.o' has changed (actual time is 0x5a0a2528, debug map time is 0x5a0a2526) since this executable was linked, file will be ignored<br class="">
>>>><br class="">
>>>><br class="">
>>>><br class="">
>>>> On Mon, Nov 13, 2017 at 3:17 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class="">
>>>> It looks like the bots are still red?<br class="">
>>>><br class="">
>>>> — Adrian<br class="">
>>>><br class="">
>>>><br class="">
>>>>> On Nov 10, 2017, at 3:14 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>>><br class="">
>>>>> Wasn't quite fixed, but it got a lot further this time.  This time there was still an issue in the <a href="http://test_debuginfo.pl/" rel="noreferrer" target="_blank" class="">test_debuginfo.pl</a> script regarding a hardcoded path to the llgdb.py script.  I think I never encountered this locally because this codepath only happens on Darwin, and I was testing on Linux.<br class="">
>>>>><br class="">
>>>>> (As an aside, ugh... Perl...)<br class="">
>>>>><br class="">
>>>>> Regardless, this should be fixed in r317949, and hopefully that's the last of the issues.  I have to run for a couple of hours, but I can check on this again in a bit.  But I strongly suspect it will be fixed now.<br class="">
>>>>><br class="">
>>>>> On Fri, Nov 10, 2017 at 2:51 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class="">
>>>>><br class="">
>>>>>> On Nov 10, 2017, at 2:50 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>>>><br class="">
>>>>>> I checked in a fix for that already, sorry for the trouble. I’m waiting for it to cycle<br class="">
>>>>><br class="">
>>>>> awesome. Thanks!<br class="">
>>>>><br class="">
>>>>> -- adrian<br class="">
>>>>><br class="">
>>>>>> On Fri, Nov 10, 2017 at 2:49 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class="">
>>>>>> It looks like this broke green dragon:<br class="">
>>>>>><br class="">
>>>>>> <a href="http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/40383/console" rel="noreferrer" target="_blank" class="">http://green.lab.llvm.org/<wbr class="">green/job/clang-stage1-<wbr class="">configure-RA/40383/console</a><br class="">
>>>>>><br class="">
>>>>>> llvm-lit: /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/projects/<wbr class="">libcxx/utils/libcxx/test/<wbr class="">config.py:173: note: Adding environment variables: {'DYLD_LIBRARY_PATH': '/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/./<wbr class="">lib', 'LIBCXX_FILESYSTEM_DYNAMIC_<wbr class="">TEST_ROOT': '/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/<wbr class="">projects/libcxx/test/<wbr class="">filesystem/Output/dynamic_env'<wbr class="">}<br class="">
>>>>>><br class="">
>>>>>> llvm-lit: /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/utils/lit/<wbr class="">lit/llvm/config.py:332: note: using clang: /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/clang-build/bin/<wbr class="">clang<br class="">
>>>>>> llvm-lit: /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/utils/lit/<wbr class="">lit/util.py:379: note: using SDKROOT: '/Applications/Xcode.app/<wbr class="">Contents/Developer/Platforms/<wbr class="">MacOSX.platform/Developer/<wbr class="">SDKs/MacOSX10.12.sdk'<br class="">
>>>>>><br class="">
>>>>>> llvm-lit: /Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/utils/lit/<wbr class="">lit/TestingConfig.py:101: fatal: unable to parse config file '/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/tools/clang/<wbr class="">test/debuginfo-tests/<a href="http://lit.cfg.py/" rel="noreferrer" target="_blank" class="">lit.cfg.<wbr class="">py</a>', traceback: Traceback (most recent call last):<br class="">
>>>>>>   File "/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/utils/lit/<wbr class="">lit/TestingConfig.py", line 88, in load_from_path<br class="">
>>>>>>     exec(compile(data, path, 'exec'), cfg_globals, None)<br class="">
>>>>>>   File "/Users/buildslave/jenkins/<wbr class="">workspace/clang-stage1-<wbr class="">configure-RA/llvm/tools/clang/<wbr class="">test/debuginfo-tests/<a href="http://lit.cfg.py/" rel="noreferrer" target="_blank" class="">lit.cfg.<wbr class="">py</a>", line 36, in <module><br class="">
>>>>>>     config.test_source_root = os.path.join(config.debuginfo_<wbr class="">tests_src_root, 'tests')<br class="">
>>>>>> AttributeError: TestingConfig instance has no attribute 'debuginfo_tests_src_root'<br class="">
>>>>>><br class="">
>>>>>> FAILED: CMakeFiles/check-all<br class="">
>>>>>><br class="">
>>>>>> -- adrian<br class="">
>>>>>><br class="">
>>>>>> > On Nov 10, 2017, at 1:00 PM, Zachary Turner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class="">
>>>>>> ><br class="">
>>>>>> > This is in as of r317925.  I'm keeping an eye out for failure notifications.  I may or may not need help diagnosing if something does go wrong (although I'm keeping my fingers crossed)<br class="">
>>>>>> ><br class="">
>>>>>> > On Thu, Nov 9, 2017 at 4:05 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>>>> > Since it's towards the end of the day already, I'll put this in tomorrow morning around 9 or 10, to make sure I'm around to fix anything that arises (or revert).<br class="">
>>>>>> ><br class="">
>>>>>> ><br class="">
>>>>>> ><br class="">
>>>>>> > On Thu, Nov 9, 2017 at 2:53 PM Mike Edwards <<a href="mailto:medwards@apple.com" target="_blank" class="">medwards@apple.com</a>> wrote:<br class="">
>>>>>> > Hi Zach,<br class="">
>>>>>> > Thanks for doing this extra work to make this lower impact for the rest of us.  Let’s give it a try and see what happens.<br class="">
>>>>>> ><br class="">
>>>>>> > -Mike<br class="">
>>>>>> ><br class="">
>>>>>> ><br class="">
>>>>>> ><br class="">
>>>>>> >> On Nov 9, 2017, at 13:37, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>>>> >><br class="">
>>>>>> >> Hi all, I think I've addressed all the concerns here, and I believe there should be no immediate impact to the current workflow.  with that said, I plan to commit this either later today or early tomorrow if there are no other concerns.<br class="">
>>>>>> >><br class="">
>>>>>> >> On Tue, Nov 7, 2017 at 12:19 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>>>> >> I tested this out, and AFAICT nothing will change.  It will continue to just work if you have it checked out under clang/tests.  It's a bit hard to construct this configuration locally since it requires moving some files around, and applying half of a CL here and half of a CL there.  But, AFAICT it works.<br class="">
>>>>>> >><br class="">
>>>>>> >> I'm happy to send you some patches if you want to try them locally and confirm.<br class="">
>>>>>> >><br class="">
>>>>>> >> I'd like to print out a CMake warning if it detects the tree under clang/test and just mention that the workflow is deprecated.  Any objections?<br class="">
>>>>>> >><br class="">
>>>>>> >> On Mon, Nov 6, 2017 at 1:49 PM Mike Edwards <<a href="mailto:medwards@apple.com" target="_blank" class="">medwards@apple.com</a>> wrote:<br class="">
>>>>>> >> Thank you Zach.<br class="">
>>>>>> >><br class="">
>>>>>> >><br class="">
>>>>>> >>> On Nov 6, 2017, at 13:37, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank" class="">zturner@google.com</a>> wrote:<br class="">
>>>>>> >>><br class="">
>>>>>> >>> I’m going to spend a little time seeing if i can make the change invisible to the bots so they will continue to work as they do today.  Will report back after I’ve explored that a bit<br class="">
>>>>>> >>> On Mon, Nov 6, 2017 at 1:35 PM Mike Edwards <<a href="mailto:medwards@apple.com" target="_blank" class="">medwards@apple.com</a>> wrote:<br class="">
>>>>>> >>>> I'm honestly not opposed to this idea.  It just seems a shame to do this for purely logistical reasons if most people agree that the "right" place for debuginfo-tests is outside of the clang tree.<br class="">
>>>>>> >>><br class="">
>>>>>> >>> I totally understand what you are saying here and will just add that sometimes being part of a larger community means being willing to do things, sometimes, not exactly the “right” way, due to logistical reasons.  I am not opposed to what you would like to do, I’m just furrowing my brow at the timeframe in which to do it.<br class="">
>>>>>> >>><br class="">
>>>>>> >>>><br class="">
>>>>>> >>>> That said, I'd still like to hear from ChrisM and MikeE about why it will take so long, because on the surface it seems like a low-impact move.<br class="">
>>>>>> >>><br class="">
>>>>>> >>> Past experience has taught me, anything I think is going to be simple and quick to fix, rarely ever turns out that way.  While there will be a significant amount of work to change the way our bots work here at Apple, the work is not impossible to accomplish.  Given the choice, I would of course prefer an approach such as Paulr has suggested.  The ability to run things in parallel for a time provides for a much lower impact change on the entire community.  I think this approach may also give us some time to decide where the debuginfo-test should fit in the new mono-repo.  It would be a bummer to do the work necessary to make this change, only to discover we would have to do it differently in the not too distant future to accommodate the new mono-repo.<br class="">
>>>>>> >>><br class="">
>>>>>> >>>  Zach, I do not want to be a blocker here.  I just want to make sure we have explored all of the options to make sure we are not missing a lower impact approach.  I also want to make sure we are not doing something that could wait until we migrate to the mono-repo next year.<br class="">
>>>>>> >>><br class="">
>>>>>> >>> Thanks,<br class="">
>>>>>> >>> Mike<br class="">
>>>>>> >><br class="">
>>>>>> ><br class="">
>>>>>> > ______________________________<wbr class="">_________________<br class="">
>>>>>> > LLVM Developers mailing list<br class="">
>>>>>> > <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
>>>>>> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a><br class="">
>>>>>><br class="">
>>>>><br class="">
>>>><br class="">
>>><br class="">
>>> ______________________________<wbr class="">_________________<br class="">
>>> LLVM Developers mailing list<br class="">
>>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a><br class="">
>><br class="">
><br class="">
> ______________________________<wbr class="">_________________<br class="">
> LLVM Developers mailing list<br class="">
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a><br class="">
<br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></div></blockquote></div></blockquote></div>
______________________________<wbr class="">_________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a><br class="">
</blockquote></div></div></div></blockquote></div>
</div></div></blockquote></div><br class=""></div>
</blockquote></div>
</div></div></blockquote></div><br class=""></div>
</blockquote></div>
</div></blockquote></div></div></blockquote></div>
</div></blockquote></div></div></div><br class=""></div></blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></div></body></html>