<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Mar 3, 2015, at 1:28 AM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 2, 2015 at 12:43 PM, Fariborz Jahanian <span dir="ltr"><<a href="mailto:fjahanian@apple.com" target="_blank">fjahanian@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":4ij" class="a3s" style="overflow:hidden">Author: fjahanian<br>
Date: Mon Mar  2 14:43:32 2015<br>
New Revision: 231008<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=231008&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=231008&view=rev</a><br>
Log:<br>
[SDK modernizer]. Patch fixes driver's lack of<br>
recognition of mernizer's -<span class="il">objcmt</span>-migrate-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span><br>
option. <a href="rdar://19994452">rdar://19994452</a><br>
<br>
Modified:<br>
    cfe/trunk/lib/Driver/Tools.cpp<br>
    cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m<br>
    cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m.result<br>
<br>
Modified: cfe/trunk/lib/Driver/Tools.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=231008&r1=231007&r2=231008&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=231008&r1=231007&r2=231008&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Driver/Tools.cpp (original)<br>
+++ cfe/trunk/lib/Driver/Tools.cpp Mon Mar  2 14:43:32 2015<br>
@@ -3448,6 +3448,7 @@ void Clang::ConstructJob(Compilation &C,<br>
     Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_all);<br>
     Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_readonly_property);<br>
     Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_readwrite_property);<br>
+    Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_property_dot_syntax);<br>
     Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_annotation);<br>
     Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_instancetype);<br>
     Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_nsmacros);<br>
<br>
Modified: cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m?rev=231008&r1=231007&r2=231008&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m?rev=231008&r1=231007&r2=231008&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m (original)<br>
+++ cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m Mon Mar  2 14:43:32 2015<br>
@@ -2,6 +2,8 @@<br>
 // RUN: %clang_cc1 -<span class="il">objcmt</span>-migrate-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span> -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11<br>
 // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result<br>
 // RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result<br>
+// RUN: rm -rf %t.1<br>
+// RUN: %clang -fsyntax-only -<span class="il">objcmt</span>-migrate-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span> -Xclang -mt-migrate-directory -Xclang %t.1 %s -fobjc-arc -Xclang -triple -Xclang x86_64-apple-darwin11<br>
<br>
 // <a href="rdar://18498572">rdar://18498572</a><br>
 @interface NSObject @end<br>
<br>
Modified: cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m.result<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m.result?rev=231008&r1=231007&r2=231008&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m.result?rev=231008&r1=231007&r2=231008&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m.result (original)<br>
+++ cfe/trunk/test/ARCMT/<span class="il">objcmt</span>-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span>.m.result Mon Mar  2 14:43:32 2015<br>
@@ -2,6 +2,8 @@<br>
 // RUN: %clang_cc1 -<span class="il">objcmt</span>-migrate-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span> -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11<br>
 // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result<br>
 // RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result<br>
+// RUN: rm -rf %t.1<br>
+// RUN: %clang -fsyntax-only -<span class="il">objcmt</span>-migrate-<span class="il">property</span>-<span class="il">dot</span>-<span class="il">syntax</span> -Xclang -mt-migrate-directory -Xclang %t.1 %s -fobjc-arc -Xclang -triple -Xclang x86_64-apple-darwin11</div></blockquote></div><br>This isn't really the right way to test the driver.</div><div class="gmail_extra"><br></div><div class="gmail_extra">We usually test changes to the driver by adding a test under 'test/Driver' and using '-###' in conjunction with FileCheck to assert on the commandline formed by the driver.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Among other things, by using the driver here rather than the cc1 layer you have the following problems:</div><div class="gmail_extra"><br></div><div class="gmail_extra">- you have to carefully manage the -fobc-arc flags as you've already had to tweak in subsequent commits</div><div class="gmail_extra">- on non-x86 platforms the driver may end up producing very flawed cc1 invocations in conjunction with the hard-coded cc1 flags of '-Xclang -triple -Xclang x86_64-apple-darwin11'</div><div class="gmail_extra"><br></div><div class="gmail_extra">At least for non-x86 platforms, this is actually a breaking change and we need to revert it to get builds green again.</div></div>
</blockquote><br></div><div>Yes. I noticed it was reverted. Thanks, will come up with a more rational test.</div><div>- Fariborz</div><div><br></div><br></body></html>