[PATCH] D86508: [clang] improve GCC-compat for C90 __builtin_ functions
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 3 12:46:42 PDT 2020
rsmith added inline comments.
================
Comment at: clang/docs/LanguageExtensions.rst:2370-2398
+* ``bcmp``
* ``memchr``
-* ``memcmp`` (and its deprecated BSD / POSIX alias ``bcmp``)
+* ``memcmp``
+* ``memcpy``
+* ``memmove``
+* ``memset``
+* ``strcat``
----------------
aaron.ballman wrote:
> Can you mention the deprecation issue here?
Do we really provide constant evaluation support for all of these functions?
================
Comment at: clang/docs/LanguageExtensions.rst:2381
+* ``strcspn``
+* ``strerror``
* ``strlen``
----------------
Do we really provide `__builtin_strerror`? I don't see it below.
================
Comment at: clang/docs/LanguageExtensions.rst:2425-2435
-Clang provides constant expression evaluation support for builtin forms of the
-following functions from the C standard library headers
-``<string.h>`` and ``<wchar.h>``:
-
-* ``memcpy``
-* ``memmove``
-* ``wmemcpy``
----------------
You've moved this from the section where we describe the constant evaluation rules for these functions to a section where we describe the constant evaluation rules for string functions; those rules are quite different.
================
Comment at: clang/docs/LanguageExtensions.rst:2427-2428
+----------------
+Clang provides support for builtins forms of the following functions from the C
+standard library header ``<ctype.h>``:
+
----------------
We should say how these "builtin forms" are named and what they're for: that we provide a `__builtin_`-prefixed version of each of these functions that has the same signature and semantics as the function from the C standard library but doesn't require a header to be included.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86508/new/
https://reviews.llvm.org/D86508
More information about the cfe-commits
mailing list