<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 13, 2017, at 9:50 AM, Reid Kleckner <<a href="mailto:rnk@google.com" class="">rnk@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Fixed in r300209. Was the -Wslash-u-filename warning not explanatory enough to suggest the solution? Maybe we could add a note like "escape source paths starting with /U by passing them at the end of the command line after —".</div></div></blockquote><div><br class=""></div><div>Ah, I see, I didn’t think it was correlated. I could have figured it out if I had read the warnings more carefully, but I think a note like the one you suggested would have been clearer.</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class="">/Users/buildslave/jenkins/sharedspace/phase1@2/llvm/tools/clang/test/Driver/fsanitize.c:113:27: error: expected string not found in input</div><div class="">// CHECK-USE-AFTER-SCOPE: -cc1{{.*}}-fsanitize-address-use-after-scope</div><div class="">                          ^</div><div class=""><stdin>:1:1: note: scanning from here</div><div class="">clang-5.0: warning: unknown argument ignored in clang-cl: '-target' [-Wunknown-argument]</div><div class="">^</div><div class=""><stdin>:7:89: note: possible intended match here</div><div class="">clang-5.0: warning: '/Users/buildslave/jenkins/sharedspace/phase1@2/llvm/tools/clang/test/Driver/fsanitize.c' treated as the '/U' option [-Wslash-u-filename]</div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Apr 13, 2017 at 1:12 AM, Akira Hatanaka <span dir="ltr" class=""><<a href="mailto:ahatanaka@apple.com" target="_blank" class="">ahatanaka@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" class="">I’m afraid I have to revert this to turn the bots green again.<div class=""><div class="h5"><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Apr 12, 2017, at 10:41 PM, Akira Hatanaka via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>> wrote:</div><br class="m_-807769839419756450Apple-interchange-newline"><div class=""><div style="word-wrap:break-word" class="">I think this broke some of the bots.<div class=""><br class=""></div><div class=""><a href="http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152/" target="_blank" class="">http://lab.llvm.org:8080/<wbr class="">green/job/clang-stage1-<wbr class="">configure-RA_check/30152/</a></div><div class=""><br class=""></div><div class="">Could you take a look?</div><div class=""> <div class=""><div class=""><blockquote type="cite" class=""><div class="">On Apr 12, 2017, at 3:50 PM, Reid Kleckner via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>> wrote:</div><br class="m_-807769839419756450Apple-interchange-newline"><div class=""><div class="">Author: rnk<br class="">Date: Wed Apr 12 17:50:51 2017<br class="">New Revision: 300122<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=300122&view=rev" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project?rev=300122&view=rev</a><br class="">Log:<br class="">[clang-cl] Make all sanitizer flags available in clang-cl<br class=""><br class="">Summary:<br class="">Use a tablegen let {} block so that new sanitizer flags are available by<br class="">default in all driver modes. This should cut down on time wasted with<br class="">bugs like <a href="http://crbug.com/710928" target="_blank" class="">http://crbug.com/710928</a>.<br class=""><br class="">Reviewers: vitalybuka, hans<br class=""><br class="">Subscribers: kcc, llvm-commits<br class=""><br class="">Differential Revision: <a href="https://reviews.llvm.org/D31988" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D31988</a><br class=""><br class="">Modified:<br class="">    cfe/trunk/include/clang/<wbr class="">Driver/Options.td<br class="">    cfe/trunk/test/Driver/<wbr class="">fsanitize.c<br class=""><br class="">Modified: cfe/trunk/include/clang/<wbr class="">Driver/Options.td<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=300122&r1=300121&r2=300122&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/cfe/trunk/include/<wbr class="">clang/Driver/Options.td?rev=<wbr class="">300122&r1=300121&r2=300122&<wbr class="">view=diff</a><br class="">==============================<wbr class="">==============================<wbr class="">==================<br class="">--- cfe/trunk/include/clang/<wbr class="">Driver/Options.td (original)<br class="">+++ cfe/trunk/include/clang/<wbr class="">Driver/Options.td Wed Apr 12 17:50:51 2017<br class="">@@ -778,65 +778,71 @@ def fno_signaling_math : Flag<["-"], "fn<br class=""> def fjump_tables : Flag<["-"], "fjump-tables">, Group<f_Group>;<br class=""> def fno_jump_tables : Flag<["-"], "fno-jump-tables">, Group<f_Group>, Flags<[CC1Option]>,<br class="">   HelpText<"Do not use jump tables for lowering switches">;<br class="">+<br class="">+// Begin sanitizer flags. These should all be core options exposed in all driver<br class="">+// modes.<br class="">+let Flags = [CC1Option, CoreOption] in {<br class="">+<br class=""> def fsanitize_EQ : CommaJoined<["-"], "fsanitize=">, Group<f_clang_Group>,<br class="">-                   Flags<[<wbr class="">CC1Option, CoreOption]>, MetaVarName<"<check>">,<br class="">+                   MetaVarName<<wbr class="">"<check>">,<br class="">                    HelpText<"<wbr class="">Turn on runtime checks for various forms of undefined "<br class="">                             "<wbr class="">or suspicious behavior. See user manual for available checks">;<br class=""> def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, Group<f_clang_Group>,<br class="">-                      Flags<[<wbr class="">CoreOption]>;<br class="">+                      Flags<[<wbr class="">CoreOption, DriverOption]>;<br class=""> def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,<br class="">-                          <wbr class="">Group<f_clang_Group>, Flags<[CC1Option, CoreOption]>,<br class="">+                          <wbr class="">Group<f_clang_Group>,<br class="">                           <wbr class="">HelpText<"Path to blacklist file for sanitizers">;<br class=""> def fno_sanitize_blacklist : Flag<["-"], "fno-sanitize-blacklist">,<br class="">                              <wbr class="">Group<f_clang_Group>,<br class="">                              <wbr class="">HelpText<"Don't use blacklist file for sanitizers">;<br class=""> def fsanitize_coverage<br class="">     : CommaJoined<["-"], "fsanitize-coverage=">,<br class="">-      Group<f_clang_Group>, Flags<[CoreOption]>,<br class="">+      Group<f_clang_Group>,<br class="">       HelpText<"Specify the type of coverage instrumentation for Sanitizers">;<br class=""> def fno_sanitize_coverage<br class="">     : CommaJoined<["-"], "fno-sanitize-coverage=">,<br class="">-      Group<f_clang_Group>, Flags<[CoreOption]>,<br class="">+      Group<f_clang_Group>, Flags<[CoreOption, DriverOption]>,<br class="">       HelpText<"Disable specified features of coverage instrumentation for "<br class="">                "Sanitizers">;<br class=""> def fsanitize_memory_track_<wbr class="">origins_EQ : Joined<["-"], "fsanitize-memory-track-<wbr class="">origins=">,<br class="">-                               <wbr class="">         Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">         Group<f_clang_Group>,<br class="">                               <wbr class="">          HelpText<"Enable origins tracking in MemorySanitizer">;<br class=""> def fsanitize_memory_track_origins : Flag<["-"], "fsanitize-memory-track-<wbr class="">origins">,<br class="">-                               <wbr class="">      Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">      Group<f_clang_Group>,<br class="">                               <wbr class="">       HelpText<"Enable origins tracking in MemorySanitizer">;<br class=""> def fno_sanitize_memory_track_<wbr class="">origins : Flag<["-"], "fno-sanitize-memory-track-<wbr class="">origins">,<br class="">-                               <wbr class="">         Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">         Group<f_clang_Group>,<br class="">+                               <wbr class="">         Flags<[CoreOption, DriverOption]>,<br class="">                               <wbr class="">          HelpText<"Disable origins tracking in MemorySanitizer">;<br class=""> def fsanitize_memory_use_after_<wbr class="">dtor : Flag<["-"], "fsanitize-memory-use-after-<wbr class="">dtor">,<br class="">-                               <wbr class="">      Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">      Group<f_clang_Group>,<br class="">                               <wbr class="">       HelpText<"Enable use-after-destroy detection in MemorySanitizer">;<br class=""> def fsanitize_address_field_<wbr class="">padding : Joined<["-"], "fsanitize-address-field-<wbr class="">padding=">,<br class="">-                               <wbr class="">         Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">         Group<f_clang_Group>,<br class="">                               <wbr class="">          HelpText<"Level of field padding for AddressSanitizer">;<br class=""> def fsanitize_address_use_after_<wbr class="">scope : Flag<["-"], "fsanitize-address-use-after-<wbr class="">scope">,<br class="">-                               <wbr class="">         Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">         Group<f_clang_Group>,<br class="">                               <wbr class="">          HelpText<"Enable use-after-scope detection in AddressSanitizer">;<br class=""> def fno_sanitize_address_use_<wbr class="">after_scope : Flag<["-"], "fno-sanitize-address-use-<wbr class="">after-scope">,<br class="">-                               <wbr class="">            Group<f_clang_<wbr class="">Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">            Group<f_clang_<wbr class="">Group>,<br class="">+                               <wbr class="">            Flags<[CoreOption, DriverOption]>,<br class="">                               <wbr class="">             HelpText<"Disable use-after-scope detection in AddressSanitizer">;<br class="">-def fsanitize_recover : Flag<["-"], "fsanitize-recover">, Group<f_clang_Group>,<br class="">-                        Flags<[<wbr class="">CoreOption]>;<br class="">+def fsanitize_recover : Flag<["-"], "fsanitize-recover">, Group<f_clang_Group>;<br class=""> def fno_sanitize_recover : Flag<["-"], "fno-sanitize-recover">,<br class="">-                           <wbr class="">Group<f_clang_Group>, Flags<[CoreOption]>;<br class="">+                           <wbr class="">Flags<[CoreOption, DriverOption]>,<br class="">+                           <wbr class="">Group<f_clang_Group>;<br class=""> def fsanitize_recover_EQ : CommaJoined<["-"], "fsanitize-recover=">,<br class="">                            <wbr class="">Group<f_clang_Group>,<br class="">-                           <wbr class="">Flags<[CC1Option, CoreOption]>,<br class="">                            <wbr class="">HelpText<"Enable recovery for specified sanitizers">;<br class=""> def fno_sanitize_recover_EQ<br class="">     : CommaJoined<["-"], "fno-sanitize-recover=">,<br class="">-      Group<f_clang_Group>, Flags<[CoreOption]>,<br class="">+      Group<f_clang_Group>,<br class="">+      Flags<[CoreOption, DriverOption]>,<br class="">       HelpText<"Disable recovery for specified sanitizers">;<br class=""> def fsanitize_trap_EQ : CommaJoined<["-"], "fsanitize-trap=">, Group<f_clang_Group>,<br class="">-                        Flags<[<wbr class="">CC1Option, CoreOption]>,<br class="">                         <wbr class="">HelpText<"Enable trapping for specified sanitizers">;<br class=""> def fno_sanitize_trap_EQ : CommaJoined<["-"], "fno-sanitize-trap=">, Group<f_clang_Group>,<br class="">-                           <wbr class="">Flags<[CoreOption]>,<br class="">+                           <wbr class="">Flags<[CoreOption, DriverOption]>,<br class="">                            <wbr class="">HelpText<"Disable trapping for specified sanitizers">;<br class=""> def fsanitize_undefined_trap_on_<wbr class="">error : Flag<["-"], "fsanitize-undefined-trap-on-<wbr class="">error">,<br class="">                               <wbr class="">          Group<f_clang_Group><wbr class="">;<br class="">@@ -845,39 +851,47 @@ def fno_sanitize_undefined_trap_<wbr class="">on_error<br class=""> def fsanitize_link_cxx_runtime : Flag<["-"], "fsanitize-link-c++-runtime">,<br class="">                               <wbr class="">   Group<f_clang_Group>;<br class=""> def fsanitize_cfi_cross_dso : Flag<["-"], "fsanitize-cfi-cross-dso">,<br class="">-                              <wbr class="">Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                              <wbr class="">Group<f_clang_Group>,<br class="">                               <wbr class="">HelpText<"Enable control flow integrity (CFI) checks for cross-DSO calls.">;<br class=""> def fno_sanitize_cfi_cross_dso : Flag<["-"], "fno-sanitize-cfi-cross-dso">,<br class="">-                               <wbr class="">  Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">  Flags<[CoreOption, DriverOption]>,<br class="">+                               <wbr class="">  Group<f_clang_Group>,<br class="">                               <wbr class="">   HelpText<"Disable control flow integrity (CFI) checks for cross-DSO calls.">;<br class=""> def fsanitize_stats : Flag<["-"], "fsanitize-stats">,<br class="">-                              <wbr class="">Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                              <wbr class="">Group<f_clang_Group>,<br class="">                               <wbr class="">HelpText<"Enable sanitizer statistics gathering.">;<br class=""> def fno_sanitize_stats : Flag<["-"], "fno-sanitize-stats">,<br class="">-                               <wbr class="">  Group<f_clang_Group>, Flags<[CC1Option]>,<br class="">+                               <wbr class="">  Group<f_clang_Group>,<br class="">+                               <wbr class="">  Flags<[CoreOption, DriverOption]>,<br class="">                               <wbr class="">   HelpText<"Disable sanitizer statistics gathering.">;<br class=""> def fsanitize_thread_memory_access : Flag<["-"], "fsanitize-thread-memory-<wbr class="">access">,<br class="">                               <wbr class="">       Group<f_clang_Group>,<br class="">                               <wbr class="">       HelpText<"Enable memory access instrumentation in ThreadSanitizer (default)">;<br class=""> def fno_sanitize_thread_memory_<wbr class="">access : Flag<["-"], "fno-sanitize-thread-memory-<wbr class="">access">,<br class="">                               <wbr class="">          Group<f_clang_Group><wbr class="">,<br class="">+                               <wbr class="">         Flags<[CoreOption, DriverOption]>,<br class="">                               <wbr class="">          HelpText<"Disable memory access instrumentation in ThreadSanitizer">;<br class=""> def fsanitize_thread_func_entry_<wbr class="">exit : Flag<["-"], "fsanitize-thread-func-entry-<wbr class="">exit">,<br class="">                               <wbr class="">         Group<f_clang_Group>,<br class="">                               <wbr class="">         HelpText<"Enable function entry/exit instrumentation in ThreadSanitizer (default)">;<br class=""> def fno_sanitize_thread_func_<wbr class="">entry_exit : Flag<["-"], "fno-sanitize-thread-func-<wbr class="">entry-exit">,<br class="">                               <wbr class="">            Group<f_clang_<wbr class="">Group>,<br class="">+                               <wbr class="">           Flags<[CoreOption, DriverOption]>,<br class="">                               <wbr class="">            HelpText<"Disable function entry/exit instrumentation in ThreadSanitizer">;<br class=""> def fsanitize_thread_atomics : Flag<["-"], "fsanitize-thread-atomics">,<br class="">                               <wbr class=""> Group<f_clang_Group>,<br class="">                               <wbr class=""> HelpText<"Enable atomic operations instrumentation in ThreadSanitizer (default)">;<br class=""> def fno_sanitize_thread_atomics : Flag<["-"], "fno-sanitize-thread-atomics"><wbr class="">,<br class="">                               <wbr class="">    Group<f_clang_Group>,<br class="">+                               <wbr class="">   Flags<[CoreOption, DriverOption]>,<br class="">                               <wbr class="">    HelpText<"Disable atomic operations instrumentation in ThreadSanitizer">;<br class=""> def fsanitize_undefined_strip_<wbr class="">path_components_EQ : Joined<["-"], "fsanitize-undefined-strip-<wbr class="">path-components=">,<br class="">-  Group<f_clang_Group>, Flags<[CC1Option]>, MetaVarName<"<number>">,<br class="">+  Group<f_clang_Group>, MetaVarName<"<number>">,<br class="">   HelpText<"Strip (or keep only, if negative) a given number of path components "<br class="">            "when emitting check metadata.">;<br class="">+<br class="">+} // end -f[no-]sanitize* flags<br class="">+<br class=""> def funsafe_math_optimizations : Flag<["-"], "funsafe-math-optimizations">,<br class="">   Group<f_Group>;<br class=""> def fno_unsafe_math_optimizations : Flag<["-"], "fno-unsafe-math-<wbr class="">optimizations">,<br class=""><br class="">Modified: cfe/trunk/test/Driver/<wbr class="">fsanitize.c<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fsanitize.c?rev=300122&r1=300121&r2=300122&view=diff" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/cfe/trunk/test/Driver/<wbr class="">fsanitize.c?rev=300122&r1=<wbr class="">300121&r2=300122&view=diff</a><br class="">==============================<wbr class="">==============================<wbr class="">==================<br class="">--- cfe/trunk/test/Driver/<wbr class="">fsanitize.c (original)<br class="">+++ cfe/trunk/test/Driver/<wbr class="">fsanitize.c Wed Apr 12 17:50:51 2017<br class="">@@ -109,12 +109,15 @@<br class=""> // CHECK-SANE-SANKA: '-fsanitize=efficiency-{{.*}}' not allowed with '-fsanitize=kernel-address'<br class=""><br class=""> // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-address-use-after-<wbr class="">scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE<br class="">+// RUN: %clang_cl -target x86_64-windows -fsanitize=address -fsanitize-address-use-after-<wbr class="">scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE<br class=""> // CHECK-USE-AFTER-SCOPE: -cc1{{.*}}-fsanitize-address-<wbr class="">use-after-scope<br class=""><br class=""> // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fno-sanitize-address-use-<wbr class="">after-scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE-OFF<br class="">+// RUN: %clang_cl -target x86_64-windows -fsanitize=address -fno-sanitize-address-use-<wbr class="">after-scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE-OFF<br class=""> // CHECK-USE-AFTER-SCOPE-OFF-NOT: -cc1{{.*}}address-use-after-<wbr class="">scope<br class=""><br class=""> // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fno-sanitize-address-use-<wbr class="">after-scope -fsanitize-address-use-after-<wbr class="">scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE-BOTH<br class="">+// RUN: %clang_cl -target x86_64-windows -fsanitize=address -fno-sanitize-address-use-<wbr class="">after-scope -fsanitize-address-use-after-<wbr class="">scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE-BOTH<br class=""> // CHECK-USE-AFTER-SCOPE-BOTH: -cc1{{.*}}-fsanitize-address-<wbr class="">use-after-scope<br class=""><br class=""> // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-address-use-after-<wbr class="">scope -fno-sanitize-address-use-<wbr class="">after-scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-<wbr class="">AFTER-SCOPE-BOTH-OFF<br class=""><br class=""><br class="">______________________________<wbr class="">_________________<br class="">cfe-commits mailing list<br class=""><a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/cfe-commits</a><br class=""></div></div></blockquote></div><br class=""></div></div></div>______________________________<wbr class="">_________________<br class="">cfe-commits mailing list<br class=""><a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/cfe-commits</a><br class=""></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>