[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:02:42 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Radovan Božić (bozicrHT)

<details>
<summary>Changes</summary>

Clarify the documentation in Builtins.def by quoting literal attribute markers (e.g. 'n', 'r', 'U', 'N') to distinguish them from placeholders such as N in C<N,...>. This avoids confusion and makes the attribute docs clearer.

---
Full diff: https://github.com/llvm/llvm-project/pull/160080.diff


1 Files Affected:

- (modified) clang/include/clang/Basic/Builtins.def (+35-35) 


``````````diff
diff --git a/clang/include/clang/Basic/Builtins.def b/clang/include/clang/Basic/Builtins.def
index 48437c9397570..edc7410b60ab6 100644
--- a/clang/include/clang/Basic/Builtins.def
+++ b/clang/include/clang/Basic/Builtins.def
@@ -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
+//                        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

``````````

</details>


https://github.com/llvm/llvm-project/pull/160080


More information about the cfe-commits mailing list