hubert-reinterpretcast wrote:

> I think i have the same comments as others, namely I think I'd like a more 
> detailed description so that i understand the use cases.

I am not reading that sentiment from other reviewers. Can you explain the sort 
of use cases that you have in mind where further clarity is needed given the 
added doc section?: 
https://github.com/llvm/llvm-project/blob/85a676732733440ada434602cac3b1da6ecf8617/clang/docs/LanguageExtensions.md?plain=1#L6513

> Even if `__attribute(used)` isn't exactly what you need, an attribute form 
> seems a lot more user-friendly and portable than a command line option.

It is also user-friendly to not make users modify their source. For context 
about the friendliness of command-line options, our downstream has a lot of 
users that prefer them because it can be applied at the build-system level for 
the platform (thus avoiding any impact to other builds).

> You mentioned using `__attribute__((visibility("protected"))) 
> __attribute__((weak))` downstream. Why not keep doing that or adding an 
> attribute with the same semantics?

That was for another code base being migrated between compiler solutions. Even 
individual downstreams have different stakeholders with varying needs.

> Why limit to character types? Lack of use cases?

The precedent for the particular retention semantics with respect to linker GC 
is from `#pragma comment(copyright, ...)`, which only accepts what C calls an 
ordinary string literal as a payload.

> And yes, if the only use case is identical to `#pragma copyright`, why both?

Because, as it is, some code uses one and some uses the other.


https://github.com/llvm/llvm-project/pull/187986
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to