Anastasia accepted this revision.
Anastasia added a comment.
This revision is now accepted and ready to land.

LGTM! Thanks!



================
Comment at: clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl:27
+  // expected-error@-3 0+{{no matching function for call to 'barrier'}}
+  // expected-error@* {{typedef type cl_mem_fence_flags not found; include the 
base header with -finclude-default-header}}
+}
----------------
svenvh wrote:
> Anastasia wrote:
> > Actually, could we remove the `typedef` from the diagnostic because it 
> > exposes the implementation details unnecessarily? I believe the spec 
> > doesn't say what the type is aside from enums?  As a matter of fact, we 
> > have some types implemented as typedefs that should have been a native 
> > types e.g. vector types that we might change one day.
> I agree it's an implementation detail, but I can see reasons for keeping it: 
> when there is an enum type with the same name available in the translation 
> unit, then the message "type X not found" is not completely correct, because 
> a type X exists, but it is of the wrong type. By prefixing "enum" or 
> "typedef", the diagnostic is more accurate.  This diagnostic is mainly 
> targeted at Clang developers actually, because a user shouldn't see this 
> diagnostic in any normal use case (with the driver setting both 
> -fdeclare-opencl-builtins and -finclude-default-header).
Ah, I see.  Since the diagnostics are not going to be exposed during normal 
compilation it is less critical indeed... I guess the only issue is when we 
update the type implementation we might need more tests to change.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96051/new/

https://reviews.llvm.org/D96051

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to