[PATCH] D28451: [AVR] Add support for the 'interrupt' and 'naked' attributes

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 10 08:34:48 PST 2017


aaron.ballman requested changes to this revision.
aaron.ballman added a comment.
This revision now requires changes to proceed.

The patch is also missing Sema tests that ensure the attributes are properly diagnosed when applied to something other than a function, a target other than AVR, arguments are present, etc.



================
Comment at: include/clang/Basic/Attr.td:485
+  let ParseKind = "Interrupt";
+  let Documentation = [Undocumented];
+}
----------------
No new undocumented attributes, please.


================
Comment at: include/clang/Basic/Attr.td:488
+
+def AVRSignal : InheritableAttr, TargetSpecificAttr<TargetAVR> {
+  let Spellings = [GNU<"signal">];
----------------
Does this attribute appertain to any specific subjects, or can you apply it to any declaration?


================
Comment at: include/clang/Basic/Attr.td:490
+  let Spellings = [GNU<"signal">];
+  let Documentation = [Undocumented];
+}
----------------
No new undocumented attributes, please.


================
Comment at: test/CodeGen/avr/attributes/naked.c:4
+// CHECK: define void @foo() #0
+__attribute__((naked)) void foo(void) { }
+
----------------
This test seems unrelated as you didn't modify anything about the naked attribute?


https://reviews.llvm.org/D28451





More information about the cfe-commits mailing list