From d8741e24a01f60e14681438def15b52ba51ab228 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Wed, 18 Dec 2013 15:59:41 +0000 Subject: [PATCH] Adding some comments about AST node requirements for attributes which create AST nodes but never actually make use of them. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197582 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/Attr.td | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td index 1dc44d812c..38cf10bee3 100644 --- a/include/clang/Basic/Attr.td +++ b/include/clang/Basic/Attr.td @@ -502,12 +502,17 @@ def GNUInline : InheritableAttr { def Hot : InheritableAttr { let Spellings = [GNU<"hot">, CXX11<"gnu", "hot">]; let Subjects = SubjectList<[Function]>; + // An AST node is created for this attribute, but not actually used beyond + // semantic checking for mutual exclusion with the Cold attribute. } def IBAction : InheritableAttr { let Spellings = [GNU<"ibaction">]; let Subjects = SubjectList<[ObjCInstanceMethod], WarnDiag, "ExpectedObjCInstanceMethod">; + // An AST node is created for this attribute, but is not used by other parts + // of the compiler. However, this node needs to exist in the AST because + // external tools rely on it. } def IBOutlet : InheritableAttr { -- 2.40.0