azabaznov added a comment.

> Perhaps if you give me an example it would help to understand

I was meant that this can potentially be used to undefine macros inside clang 
directly. In this case there will no need to add a lot of conditional 
preprocessor directives in the header, also the existing interface 
(`-cl-ext=-cl_khr_depth_images`) will be preserved. So for example in the 
header there was specified an extension definition. Can undef directive be 
allocated and bound to a specific source location right after extension 
definition if `-cl-ext=-cl_khr_depth_images` was specifed:

  #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ == 
CL_VERSION_2_0) || \
      (__OPENCL_C_VERSION__ >= CL_VERSION_1_2  && defined(__SPIR__) )
  #define cl_khr_depth_images 1
  #endif
  
  // Bind undef directive here

I understand that this sounds tricky, but preserving interface sound reasonable 
for me.


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

https://reviews.llvm.org/D91531

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

Reply via email to