[clang] [llvm] [Clang][AIX] Add -mloadtime-comment-vars flag to preserve identifying variables (PR #187986)

Hubert Tong via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 22 07:59:57 PDT 2026


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


More information about the llvm-commits mailing list