summaryrefslogtreecommitdiff
path: root/docs/InternalsManual.rst
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2014-01-20 18:07:09 +0000
committerAaron Ballman <aaron@aaronballman.com>2014-01-20 18:07:09 +0000
commitd3760b55954d6a5eb62433d21f60e264a6234ef5 (patch)
tree2190483c2bc4b4fbcda507e434b7f9b4c55a6252 /docs/InternalsManual.rst
parent1e6097c61dd8b3fb2b6b9cd34e88bfa29500f814 (diff)
downloadclang-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.rst5
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.