Radovan =?utf-8?q?Božić?= <radovan.bo...@htecgroup.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/160...@github.com>


================
@@ -67,38 +67,41 @@
 // 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
+//
+// (In the descriptions below, {num} is a placeholder for an integer)
----------------
erichkeane wrote:

I'd suggest un parenthesizing this, and putting it as a full sentence before 
'Currently we have'. Something like:

"These must be kept in sync wiht the predicates in the Builtin::Context class.  
Note: In the descriptions below, {num} is a placeholder for an integer.  
Currently we have:"



https://github.com/llvm/llvm-project/pull/160080
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to