[clang] [NFC][clang] Quote literal builtin attribute markers in Builtins.def docs (PR #160080)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 22 05:10:59 PDT 2025
================
@@ -67,38 +67,38 @@
// The third value provided to the macro specifies information about attributes
// of the function. These must be kept in sync with the predicates in the
// Builtin::Context class. Currently we have:
-// n -> nothrow
-// r -> noreturn
-// U -> pure
-// c -> const
-// t -> signature is meaningless, use custom typechecking
-// T -> type is not important to semantic analysis and codegen; recognize as
-// builtin even if type doesn't match signature, and don't warn if we
-// can't be sure the type is right
-// F -> this is a libc/libm function with a '__builtin_' prefix added.
-// f -> this is a libc/libm function without a '__builtin_' prefix, or with
-// 'z', a C++ standard library function in namespace std::. This builtin
-// is disableable by '-fno-builtin-foo' / '-fno-builtin-std-foo'.
-// h -> this function requires a specific header or an explicit declaration.
-// i -> this is a runtime library implemented function without the
-// '__builtin_' prefix. It will be implemented in compiler-rt or libgcc.
-// p:N: -> this is a printf-like function whose Nth argument is the format
-// string.
-// P:N: -> similar to the p:N: attribute, but the function is like vprintf
-// in that it accepts its arguments as a va_list rather than
-// through an ellipsis
-// s:N: -> this is a scanf-like function whose Nth argument is the format
-// string.
-// S:N: -> similar to the s:N: attribute, but the function is like vscanf
-// in that it accepts its arguments as a va_list rather than
-// through an ellipsis
-// e -> const, but only when -fno-math-errno and FP exceptions are ignored
-// g -> const when FP exceptions are ignored
-// j -> returns_twice (like setjmp)
-// u -> arguments are not evaluated for their side-effects
-// V:N: -> requires vectors of at least N bits to be legal
-// C<N,M_0,...,M_k> -> callback behavior: argument N is called with argument
-// M_0, ..., M_k as payload
-// z -> this is a function in (possibly-versioned) namespace std
-// E -> this function can be constant evaluated by Clang frontend
-// G -> this is a C++20 consteval function
+// 'n' -> nothrow
+// 'r' -> noreturn
+// 'U' -> pure
+// 'c' -> const
+// 't' -> signature is meaningless, use custom typechecking
+// 'T' -> type is not important to semantic analysis and codegen; recognize as
+// builtin even if type doesn't match signature, and don't warn if we
+// can't be sure the type is right
+// 'F' -> this is a libc/libm function with a '__builtin_' prefix added.
+// 'f' -> this is a libc/libm function without a '__builtin_' prefix, or with
+// 'z', a C++ standard library function in namespace std::. This builtin
+// is disableable by '-fno-builtin-foo' / '-fno-builtin-std-foo'.
+// 'h' -> this function requires a specific header or an explicit declaration.
+// 'i' -> this is a runtime library implemented function without the
+// '__builtin_' prefix. It will be implemented in compiler-rt or libgcc.
+// 'p':N: -> this is a printf-like function whose Nth argument is the format
+// string.
+// 'P':N: -> similar to the p:N: attribute, but the function is like vprintf
+// in that it accepts its arguments as a va_list rather than
+// through an ellipsis
+// 's':N: -> this is a scanf-like function whose Nth argument is the format
+// string.
+// 'S':N: -> similar to the s:N: attribute, but the function is like vscanf
+// in that it accepts its arguments as a va_list rather than
+// through an ellipsis
+// 'e' -> const, but only when -fno-math-errno and FP exceptions are ignored
+// 'g' -> const when FP exceptions are ignored
+// 'j' -> returns_twice (like setjmp)
+// 'u' -> arguments are not evaluated for their side-effects
+// 'V':N: -> requires vectors of at least N bits to be legal
+// 'C'<N,M_0,...,M_k> -> callback behavior: argument N is called with argument
----------------
Sirraide wrote:
We should probably quote all parts that are supposed to be literals, even if it’s a bit verbose.
CC @erichkeane for opinions
https://github.com/llvm/llvm-project/pull/160080
More information about the cfe-commits
mailing list