r231008 - [SDK modernizer]. Patch fixes driver's lack of
jahanian
fjahanian at apple.com
Tue Mar 3 08:22:52 PST 2015
On Mar 3, 2015, at 1:28 AM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Mon, Mar 2, 2015 at 12:43 PM, Fariborz Jahanian <fjahanian at apple.com> wrote:
> Author: fjahanian
> Date: Mon Mar 2 14:43:32 2015
> New Revision: 231008
>
> URL: http://llvm.org/viewvc/llvm-project?rev=231008&view=rev
> Log:
> [SDK modernizer]. Patch fixes driver's lack of
> recognition of mernizer's -objcmt-migrate-property-dot-syntax
> option. rdar://19994452
>
> Modified:
> cfe/trunk/lib/Driver/Tools.cpp
> cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m
> cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m.result
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=231008&r1=231007&r2=231008&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Mon Mar 2 14:43:32 2015
> @@ -3448,6 +3448,7 @@ void Clang::ConstructJob(Compilation &C,
> Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_all);
> Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_readonly_property);
> Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_readwrite_property);
> + Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_property_dot_syntax);
> Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_annotation);
> Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_instancetype);
> Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_nsmacros);
>
> Modified: cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m?rev=231008&r1=231007&r2=231008&view=diff
> ==============================================================================
> --- cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m (original)
> +++ cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m Mon Mar 2 14:43:32 2015
> @@ -2,6 +2,8 @@
> // RUN: %clang_cc1 -objcmt-migrate-property-dot-syntax -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11
> // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
> // RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result
> +// RUN: rm -rf %t.1
> +// RUN: %clang -fsyntax-only -objcmt-migrate-property-dot-syntax -Xclang -mt-migrate-directory -Xclang %t.1 %s -fobjc-arc -Xclang -triple -Xclang x86_64-apple-darwin11
>
> // rdar://18498572
> @interface NSObject @end
>
> Modified: cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m.result
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m.result?rev=231008&r1=231007&r2=231008&view=diff
> ==============================================================================
> --- cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m.result (original)
> +++ cfe/trunk/test/ARCMT/objcmt-property-dot-syntax.m.result Mon Mar 2 14:43:32 2015
> @@ -2,6 +2,8 @@
> // RUN: %clang_cc1 -objcmt-migrate-property-dot-syntax -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11
> // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
> // RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result
> +// RUN: rm -rf %t.1
> +// RUN: %clang -fsyntax-only -objcmt-migrate-property-dot-syntax -Xclang -mt-migrate-directory -Xclang %t.1 %s -fobjc-arc -Xclang -triple -Xclang x86_64-apple-darwin11
>
> This isn't really the right way to test the driver.
>
> 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.
>
> Among other things, by using the driver here rather than the cc1 layer you have the following problems:
>
> - you have to carefully manage the -fobc-arc flags as you've already had to tweak in subsequent commits
> - 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'
>
> At least for non-x86 platforms, this is actually a breaking change and we need to revert it to get builds green again.
Yes. I noticed it was reverted. Thanks, will come up with a more rational test.
- Fariborz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150303/3937553d/attachment.html>
More information about the cfe-commits
mailing list