aaron.ballman added a comment.

In D106375#2899827 <https://reviews.llvm.org/D106375#2899827>, @aaronpuchert 
wrote:

> In D106375#2896484 <https://reviews.llvm.org/D106375#2896484>, @aaron.ballman 
> wrote:
>
>> LGTM! It took me a minute to convince myself it wasn't really an ODR use 
>> (the argument goes through the usual expression evaluation parsing and sema 
>> bits), but because the arguments to these attributes never wind up being 
>> used in codegen, they're not really a use as far as the ODR is concerned.
>
> Right, the standard doesn't know about our attributes. My reasoning was that 
> they are basically an unevaluated context like a `sizeof` expression.

Nonstandard attributes are wholly up to the implementation for what their 
semantic effects are, so they can be unevaluated *or* constant evaluated *or* 
runtime evaluated depending on need. I mostly just needed to make sure we 
weren't accidentally marking these uses as ODR uses, and happily, we weren't.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D106375

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

Reply via email to