Yes, merged in r368843. Thanks, Hans
On Tue, Aug 13, 2019 at 6:20 PM Anastasia Stulova <anastasia.stul...@arm.com> wrote: > > Hi Hans, > > > Can this be merged into the release 9.0 branch please? > > > Thank you! > Anastasia > > ________________________________ > From: cfe-commits <cfe-commits-boun...@lists.llvm.org> on behalf of Sven van > Haastregt via cfe-commits <cfe-commits@lists.llvm.org> > Sent: 12 August 2019 13:44 > To: cfe-commits@lists.llvm.org <cfe-commits@lists.llvm.org> > Subject: r368561 - [OpenCL] Ignore parentheses for sampler initialization > > Author: svenvh > Date: Mon Aug 12 05:44:26 2019 > New Revision: 368561 > > URL: http://llvm.org/viewvc/llvm-project?rev=368561&view=rev > Log: > [OpenCL] Ignore parentheses for sampler initialization > > The sampler handling logic in SemaInit.cpp would inadvertently treat > parentheses around sampler arguments as an implicit cast, leading to > an unreachable "can't implicitly cast lvalue to rvalue with > this cast kind". Fix by ignoring parentheses once we are in the > sampler initializer case. > > Differential Revision: https://reviews.llvm.org/D66080 > > Modified: > cfe/trunk/lib/Sema/SemaInit.cpp > cfe/trunk/test/SemaOpenCL/sampler_t.cl > > Modified: cfe/trunk/lib/Sema/SemaInit.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaInit.cpp?rev=368561&r1=368560&r2=368561&view=diff > ============================================================================== > --- cfe/trunk/lib/Sema/SemaInit.cpp (original) > +++ cfe/trunk/lib/Sema/SemaInit.cpp Mon Aug 12 05:44:26 2019 > @@ -8248,7 +8248,7 @@ ExprResult InitializationSequence::Perfo > // argument passing. > assert(Step->Type->isSamplerT() && > "Sampler initialization on non-sampler type."); > - Expr *Init = CurInit.get(); > + Expr *Init = CurInit.get()->IgnoreParens(); > QualType SourceType = Init->getType(); > // Case 1 > if (Entity.isParameterKind()) { > > Modified: cfe/trunk/test/SemaOpenCL/sampler_t.cl > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaOpenCL/sampler_t.cl?rev=368561&r1=368560&r2=368561&view=diff > ============================================================================== > --- cfe/trunk/test/SemaOpenCL/sampler_t.cl (original) > +++ cfe/trunk/test/SemaOpenCL/sampler_t.cl Mon Aug 12 05:44:26 2019 > @@ -10,6 +10,9 @@ > #define CLK_FILTER_NEAREST 0x10 > #define CLK_FILTER_LINEAR 0x20 > > +typedef float float4 __attribute__((ext_vector_type(4))); > +float4 read_imagef(read_only image1d_t, sampler_t, float); > + > constant sampler_t glb_smp = CLK_ADDRESS_CLAMP_TO_EDGE | > CLK_NORMALIZED_COORDS_TRUE | CLK_FILTER_LINEAR; > constant sampler_t glb_smp2; // expected-error{{variable in constant address > space must be initialized}} > global sampler_t glb_smp3 = CLK_ADDRESS_CLAMP_TO_EDGE | > CLK_NORMALIZED_COORDS_TRUE | CLK_FILTER_NEAREST; // expected-error{{sampler > type cannot be used with the __local and __global address space qualifiers}} > expected-error {{global sampler requires a const or constant address space > qualifier}} > @@ -74,3 +77,7 @@ void bar() { > foo(smp1+1); //expected-error{{invalid operands to binary expression > ('sampler_t' and 'int')}} > } > > +void smp_args(read_only image1d_t image) { > + // Test that parentheses around sampler arguments are ignored. > + float4 res = read_imagef(image, (glb_smp10), 0.0f); > +} > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits