diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-01-20 18:07:09 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-01-20 18:07:09 +0000 |
commit | d3760b55954d6a5eb62433d21f60e264a6234ef5 (patch) | |
tree | 2190483c2bc4b4fbcda507e434b7f9b4c55a6252 /docs/InternalsManual.rst | |
parent | 1e6097c61dd8b3fb2b6b9cd34e88bfa29500f814 (diff) | |
download | clang-d3760b55954d6a5eb62433d21f60e264a6234ef5.tar.gz clang-d3760b55954d6a5eb62433d21f60e264a6234ef5.tar.bz2 clang-d3760b55954d6a5eb62433d21f60e264a6234ef5.tar.xz |
Exposed a declarative way to specify that an attribute can be duplicated when merging attributes on a declaration. This replaces some hard-coded functionality from Sema.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199677 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/InternalsManual.rst')
-rw-r--r-- | docs/InternalsManual.rst | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst index 40a1a09d9d..eb19614e55 100644 --- a/docs/InternalsManual.rst +++ b/docs/InternalsManual.rst @@ -1713,6 +1713,11 @@ For instance, ``AttributeList::AT_Interrupt`` is the shared parsed attribute kind, but ARMInterruptAttr and MSP430InterruptAttr are the semantic attributes generated. +By default, when declarations are merging attributes, an attribute will not be +duplicated. However, if an attribute can be duplicated during this merging +stage, set ``DuplicatesAllowedWhileMerging`` to ``1``, and the attribute will +be merged. + If additional functionality is desired for the semantic form of the attribute, the ``AdditionalMembers`` field specifies code to be copied verbatim into the semantic attribute class object. |