diff options
author | Alex Lorenz <arphaman@gmail.com> | 2017-03-01 18:06:25 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2017-03-01 18:06:25 +0000 |
commit | 76f5d5795d4874977a05149b2250c2c30062a723 (patch) | |
tree | 70eefa29e15efe3b58fe6ac6d275a0fcbc614795 /include/clang/Basic/Attr.td | |
parent | a069527e0e8b8ffb1503478d6ba28ef87fdfe5c4 (diff) |
Introduce an 'external_source_symbol' attribute that describes the origin
and the nature of a declaration
This commit adds an external_source_symbol attribute to Clang. This attribute
specifies that a declaration originates from an external source and describes
the nature of that source. This attribute will be used to improve IDE features
like 'jump-to-definition' for mixed-language projects or project that use
auto-generated code.
rdar://30423368
Differential Revision: https://reviews.llvm.org/D29819
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296649 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/Attr.td')
-rw-r--r-- | include/clang/Basic/Attr.td | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td index d7db7186b3..28695b9b69 100644 --- a/include/clang/Basic/Attr.td +++ b/include/clang/Basic/Attr.td @@ -527,6 +527,17 @@ def Availability : InheritableAttr { let Documentation = [AvailabilityDocs]; } +def ExternalSourceSymbol : InheritableAttr { + let Spellings = [GNU<"external_source_symbol">, + CXX11<"clang", "external_source_symbol">]; + let Args = [StringArgument<"language", 1>, + StringArgument<"definedIn", 1>, + BoolArgument<"generatedDeclaration", 1>]; + let HasCustomParsing = 1; +// let Subjects = SubjectList<[Named]>; + let Documentation = [ExternalSourceSymbolDocs]; +} + def Blocks : InheritableAttr { let Spellings = [GNU<"blocks">]; let Args = [EnumArgument<"Type", "BlockType", ["byref"], ["ByRef"]>]; |