[llvm-branch-commits] [clang] [clang] Add clang::nooutline Attribute (PR #163666)
Nikolas Klauser via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Oct 16 23:48:09 PDT 2025
philnik777 wrote:
> Thanks for the reviews. They're very helpful. Working on those changes now.
>
> > General comment: I really dislike the spelling. The first time I read this I interpreted it as "noout-line" not "no-outline".
>
> I went through other Clang attributes with similar `no *` naming, to see what the status quo is.
>
> Clang attributes starting "no" without punctuation to split words:
>
> * `noinline` (Function, Statement)
>
> * `nomerge` (Function, Statement, Var)
>
> * `noduplicate` (Function)
>
> * `nouwtable` (Function, Variable)
>
> * `noescape` (Parameter)
>
> * `noderef` (Type?)
>
>
> Clang attributes starting "no" with punctuation to split words:
>
> * `no_stack_protector` (Function)
>
> * `no_specializations` (Function, Class, Variable)
>
> * `no_sanitize_memory` (Function)
>
> * `no_thread_safety_analysis` (Function)
>
> * `no_speculative_load_hardening` (Function)
>
> * `no_builtin` (Function)
>
> * `no_destroy` (Variable)
>
>
> To me this split is pretty even between with an underscore and without, but I would prefer the symmetry with `noinline` and `nomerge`, if possible.
I'm really not a fan of that. I don't think `noinline` or `nomerge` have the same problem, since they don't have `noo` as the start, making the parsing significantly easier.
https://github.com/llvm/llvm-project/pull/163666
More information about the llvm-branch-commits
mailing list