[cfe-dev] clang builtin function attributes

Richard Smith via cfe-dev cfe-dev at lists.llvm.org
Tue Apr 5 11:48:47 PDT 2016


On Tue, Apr 5, 2016 at 11:28 AM, Taewook Oh via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Hello,
>
> Unlike gcc, clang does not provide builtin functions for functions in
> ctype.h, such as tolower. To generated better optimized code, I'm planning
> to add these functions as builtins with attributes. Regarding this, I have
> a few questions:
>
>
>    1. In "Attributes in Clang" page (
>    http://clang.llvm.org/docs/AttributeReference.html), "nothrow" and
>    "const" are not in the list while they are still used in Builtins.def. Are
>    these attributes deprecated?
>
> No, they're just not documented yet. (We'd appreciate patches to
include/clang/AttrDocs.td and include/clang/Attr.td if you're feeling
enthusiastic, but note that this needs to be original documentation -- it
wouldn't be acceptable to copy documentation from GCC due to license
differences.)

>
>    1. (Assuming they are not deprecated) Is there a place that I can find
>    definitions for attributes used in builtins.def? In particular, I wonder if
>    "const" attributes of clang has same meaning with gcc's "const" attribute,
>    as it seems that clang does not support "pure" attribute.
>
> Yes, the attributes listed in clang's Builtins.def are the
__attribute__((X)) form, which generally mean the same thing to Clang as
they do to GCC (with rare exceptions).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160405/1efb4bbc/attachment.html>


More information about the cfe-dev mailing list