Anastasia added inline comments. ================ Comment at: lib/Sema/SemaDeclAttr.cpp:5705 @@ -5669,8 +5704,3 @@ - // Walk the declarator structure, applying decl attributes that were in a type - // position to the decl itself. This handles cases like: - // int *__attr__(x)** D; - // when X is a decl attribute. - for (unsigned i = 0, e = PD.getNumTypeObjects(); i != e; ++i) - if (const AttributeList *Attrs = PD.getTypeObject(i).getAttrs()) - ProcessDeclAttributeList(S, D, Attrs, /*IncludeCXX11Attributes=*/false); + // Skip pipe type, it will be processed twice with its element type + const ParmVarDecl *PDecl = llvm::dyn_cast<ParmVarDecl>(D); ---------------- Do you mean to remove "twice" here? As I think that's what you are trying to avoid.
================ Comment at: test/Parser/opencl-image-access.cl:2 @@ -1,2 +1,3 @@ // RUN: %clang_cc1 %s -fsyntax-only +// RUN: %clang_cc1 %s -fsyntax-only -cl-std=CL2.0 -DCL20 ---------------- please, add -verify flag ================ Comment at: test/Parser/opencl-image-access.cl:9 @@ -7,1 +8,3 @@ +#if CL20 __kernel void f__rw(__read_write image2d_t a) { } +#endif ---------------- Btw, I can see that read_write is now accepted even if -cl-std=CL1.1. So essentially you don't need to add CL20 checks here. But I might prepare a quick fix of it afterwards. ================ Comment at: test/SemaOpenCL/invalid-access-qualifier.cl:11 @@ +10,3 @@ +#ifdef CL20 +void test4(read_write image1d_t i){} + ---------------- this is being tested in test/Parser/opencl-image-access.cl already http://reviews.llvm.org/D16040 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits