phosek created this revision.
phosek added a subscriber: cfe-commits.
phosek set the repository for this revision to rL LLVM.
This is a GCC extension, Clang should accept the attribute without a warning
for compatibility with GCC.
https://llvm.org/bugs/show_bug.cgi?id=30980
Repository:
rL LLVM
https://reviews.llvm.org/D26540
Files:
include/clang/Basic/Attr.td
test/Sema/attr-leaf.c
Index: test/Sema/attr-leaf.c
===================================================================
--- /dev/null
+++ test/Sema/attr-leaf.c
@@ -0,0 +1,4 @@
+// RUN: %clang_cc1 -verify -fsyntax-only %s
+// expected-no-diagnostics
+
+void f(void) __attribute__((leaf));
Index: include/clang/Basic/Attr.td
===================================================================
--- include/clang/Basic/Attr.td
+++ include/clang/Basic/Attr.td
@@ -915,6 +915,11 @@
let Documentation = [LayoutVersionDocs];
}
+def Leaf : IgnoredAttr {
+ let Spellings = [GNU<"leaf">];
+ let Subjects = SubjectList<[Function]>;
+}
+
def MaxFieldAlignment : InheritableAttr {
// This attribute has no spellings as it is only ever created implicitly.
let Spellings = [];
Index: test/Sema/attr-leaf.c
===================================================================
--- /dev/null
+++ test/Sema/attr-leaf.c
@@ -0,0 +1,4 @@
+// RUN: %clang_cc1 -verify -fsyntax-only %s
+// expected-no-diagnostics
+
+void f(void) __attribute__((leaf));
Index: include/clang/Basic/Attr.td
===================================================================
--- include/clang/Basic/Attr.td
+++ include/clang/Basic/Attr.td
@@ -915,6 +915,11 @@
let Documentation = [LayoutVersionDocs];
}
+def Leaf : IgnoredAttr {
+ let Spellings = [GNU<"leaf">];
+ let Subjects = SubjectList<[Function]>;
+}
+
def MaxFieldAlignment : InheritableAttr {
// This attribute has no spellings as it is only ever created implicitly.
let Spellings = [];
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits