Anastasia added a comment.

In D137652#3957519 <https://reviews.llvm.org/D137652#3957519>, @svenvh wrote:

>> @svenvh I remember that we have also discussed the addition of a vendor 
>> specific header where such feature/extension macro definition can be added 
>> to avoid the macro pollution but I feel this is somewhat orthogonal i.e. the 
>> fine grained control of macro defines is still needed?
>
> Unfortunately I don't remember the details of that discussion, but I agree 
> that it's worth looking into a solution for issue #55674, using e.g. 
> `__undef` macros as you described above.

I assume we could start from something simple i.e. without the need to amend 
`-cl-ext`. So let's say we could add the following guards in the header:

  #ifndef __undef_feature1
  #define feature1 1
  #endif

Then we can pass `-D__undef_feature1` instead of  `-cl-std=-feature1` and 
`-Dfeature1=1` instead of `-cl-std=+feature1`.

Then later if needed we could extend `-cl-ext` to set those  `__undef_<feature 
name>` instead.

We could also add a macro that corresponds to `-cl-ext=-all` and etc.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137652

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D137652: Remove ... Anastasia Stulova via Phabricator via cfe-commits

Reply via email to