r280057 - Combine two FileCheck patterns to prevent overzealous matching of .*

Robinson, Paul via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 30 10:26:29 PDT 2016


The case that failed on the build not was something like

-o blah.o -x c++ -o system /.../llvm.org/.<http://llvm.org/>..

... where the first line of the old pattern matched up to the .o in llvm.org<http://llvm.org>, causing the second line to fail to match.

That suggests the .* behavior is 'greedy' (matching as much as possible rather than as little as possible) which is probably not the behavior we want (clearly not the behavior the test author expected).  I'll file a bug.
--paulr

From: metafoo at gmail.com [mailto:metafoo at gmail.com] On Behalf Of Richard Smith
Sent: Tuesday, August 30, 2016 9:55 AM
To: Robinson, Paul
Cc: cfe-commits
Subject: RE: r280057 - Combine two FileCheck patterns to prevent overzealous matching of .*

On 30 Aug 2016 9:45 am, "Robinson, Paul" <paul.robinson at sony.com<mailto:paul.robinson at sony.com>> wrote:


> -----Original Message-----
> From: cfe-commits [mailto:cfe-commits-bounces at lists.llvm.org<mailto:cfe-commits-bounces at lists.llvm.org>] On Behalf Of
> Richard Smith via cfe-commits
> Sent: Monday, August 29, 2016 10:15 PM
> To: cfe-commits at lists.llvm.org<mailto:cfe-commits at lists.llvm.org>
> Subject: r280057 - Combine two FileCheck patterns to prevent overzealous
> matching of .*
>
> Author: rsmith
> Date: Tue Aug 30 00:14:38 2016
> New Revision: 280057
>
> URL: http://llvm.org/viewvc/llvm-project?rev=280057&view=rev
> Log:
> Combine two FileCheck patterns to prevent overzealous matching of .*
>
> Modified:
>     cfe/trunk/test/Driver/modules-ts.cpp
>
> Modified: cfe/trunk/test/Driver/modules-ts.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/modules-
> ts.cpp?rev=280057&r1=280056&r2=280057&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/test/Driver/modules-ts.cpp (original)
> +++ cfe/trunk/test/Driver/modules-ts.cpp Tue Aug 30 00:14:38 2016
> @@ -23,8 +23,7 @@
>  // CHECK-USE: -cc1
>  // CHECK-USE-SAME: -emit-obj
>  // CHECK-USE-SAME: -fmodule-file={{.*}}.pcm
> -// CHECK-USE-SAME: -o {{.*}}.o
> -// CHECK-USE-SAME: -x c++
> +// CHECK-USE-SAME: -o {{.*}}.o {{.*}}-x c++
Sorry--how are these not doing the same thing?
That is, what input will incorrectly fail with the old checks?

The case that failed on the build not was something like

-o blah.o -x c++ -o system /.../llvm.org/.<http://llvm.org/>..

... where the first line of the old pattern matched up to the .o in llvm.org<http://llvm.org>, causing the second line to fail to match.

Thanks,
--paulr

>  // CHECK-USE-SAME: modules-ts.cpp
>
>  // Check combining precompile and compile steps works.
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org<mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160830/9f164b2d/attachment-0001.html>


More information about the cfe-commits mailing list