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