]> granicus.if.org Git - clang/commit
Add the ability to define "fake" arguments on attributes.
authorJohn McCall <rjmccall@apple.com>
Wed, 28 Oct 2015 00:17:34 +0000 (00:17 +0000)
committerJohn McCall <rjmccall@apple.com>
Wed, 28 Oct 2015 00:17:34 +0000 (00:17 +0000)
commit68098861a71f77762ab84bee3343d296af507331
treef136f39d0577780ed0f1f8794581ccfc7c665d2c
parent9186def5c79bcc1007f6358dfbc900bceb96bb97
Add the ability to define "fake" arguments on attributes.

Fake arguments are automatically handled for serialization, cloning,
and other representational tasks, but aren't included in pretty-printing
or parsing (should we eventually ever automate that).

This is chiefly useful for attributes that can be written by the
user, but which are also frequently synthesized by the compiler,
and which we'd like to remember details of the synthesis for.
As a simple example, use this to narrow the cases in which we were
generating a specialized note for implicitly unavailable declarations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251469 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Attr.td
lib/Sema/SemaDeclAttr.cpp
test/SemaObjC/arc-system-header.m
test/SemaObjCXX/arc-system-header.mm
utils/TableGen/ClangAttrEmitter.cpp