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

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.

From 1a407d5f2f7094353bdf5e1b030606a9f44e8695 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radovan=20Bo=C5=BEi=C4=87?= <radovan.bo...@htecgroup.com>
Date: Mon, 22 Sep 2025 13:56:13 +0200
Subject: [PATCH] [NFC][clang] Quote literal builtin attribute markers in
 Builtins.def docs

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.
---
 clang/include/clang/Basic/Builtins.def | 70 +++++++++++++-------------
 1 file changed, 35 insertions(+), 35 deletions(-)

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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to