This revision was automatically updated to reflect the committed changes.
Closed by commit rL257867: [X86] Support 'interrupt' attribute for x86
(authored by ABataev).
Changed prior to commit:
http://reviews.llvm.org/D15709?vs=44754&id=44961#toc
Repository:
rL LLVM
http://reviews.llvm.org/D
aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
LGTM, thank you!
http://reviews.llvm.org/D15709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-b
ABataev updated this revision to Diff 44754.
ABataev added a comment.
Update after review
http://reviews.llvm.org/D15709
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/CodeGen/TargetInfo.cpp
lib/Sema/SemaDeclAttr.cpp
aaron.ballman added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:259
@@ +258,3 @@
+def err_anyx86_interrupt_attribute : Error<
+ "interrupt service routine %select{must have 'void' return value|"
+ "can only have a pointer argument and an optional inte
rjmccall added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:259
@@ +258,3 @@
+def err_anyx86_interrupt_attribute : Error<
+ "interrupt service routine %select{must have 'void' return value|"
+ "can only have a pointer argument and an optional integer a
aaron.ballman added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:259
@@ +258,3 @@
+def err_anyx86_interrupt_attribute : Error<
+ "interrupt service routine %select{must have 'void' return value|"
+ "can only have a pointer argument and an optional inte
rjmccall added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:259
@@ +258,3 @@
+def err_anyx86_interrupt_attribute : Error<
+ "interrupt service routine %select{must have 'void' return value|"
+ "can only have a pointer argument and an optional integer a
aaron.ballman added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:259
@@ +258,3 @@
+def err_anyx86_interrupt_attribute : Error<
+ "interrupt service routine %select{must have 'void' return value|"
+ "can only have a pointer argument and an optional inte
ABataev updated this revision to Diff 43843.
ABataev added a comment.
Update after review
http://reviews.llvm.org/D15709
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/CodeGen/TargetInfo.cpp
lib/Sema/SemaDeclAttr.cpp
aaron.ballman added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:259
@@ +258,3 @@
+def err_anyx86_interrupt_attribute : Error<
+ "interrupt service routine %select{must have void return value|"
+ "can only have a pointer argument and an optional intege
ABataev updated this revision to Diff 43828.
ABataev added a comment.
Fix after review.
After some discussion with gcc guys it was decided to allow to use static
member functions as interrupt handler.
http://reviews.llvm.org/D15709
Files:
include/clang/Basic/Attr.td
include/clang/Basic/Att
ABataev added a comment.
Aaron, thanks for the review!
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:2504
@@ -2493,3 +2503,3 @@
// Availability attribute
def warn_availability_unknown_platform : Warning<
aaron.ballman wrote:
> >> It would be good to
aaron.ballman added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:2504
@@ -2493,3 +2503,3 @@
// Availability attribute
def warn_availability_unknown_platform : Warning<
>> It would be good to model these new diagnostics after the MIPS
ABataev updated this revision to Diff 43727.
ABataev added a comment.
Update after review
http://reviews.llvm.org/D15709
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/CodeGen/TargetInfo.cpp
lib/Sema/SemaDeclAttr.cpp
ABataev marked 2 inline comments as done.
Comment at: test/Sema/attr-x86-interrupt.c:54
@@ +53,3 @@
+ foo8((int *)argv); // expected-error {{interrupt service routine can't
be used directly}}
+ return 0;
+}
aaron.ballman wrote:
> I'd like to see a test li
aaron.ballman added inline comments.
Comment at: include/clang/Basic/Attr.td:1531
@@ -1529,1 +1530,3 @@
+def IAInterrupt : InheritableAttr, TargetSpecificAttr {
+ // NOTE: If you add any additional spellings, ARMInterrupt's,
Maybe this (and IAInterruptDocs) sho
ABataev updated this revision to Diff 43676.
ABataev marked 3 inline comments as done.
ABataev added a comment.
Update after review
http://reviews.llvm.org/D15709
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/CodeGen/Ta
ABataev marked 9 inline comments as done.
ABataev added a comment.
John, thanks for the review!
Comment at: include/clang/Basic/Attr.td:255
@@ -254,2 +254,3 @@
def TargetX86 : TargetArch<["x86"]>;
+def TargetIA : TargetArch<["x86", "x86_64"]>;
def TargetWindows : TargetArch<["
ABataev marked 8 inline comments as done.
ABataev added a comment.
Aaron, thanks for the review!
Comment at: include/clang/Basic/AttrDocs.td:1867
@@ +1866,3 @@
+Clang supports the GNU style ``__attribute__((interrupt))`` attribute on
+x86 targets. This attribute may be attached
rjmccall added inline comments.
Comment at: include/clang/Basic/Attr.td:255
@@ -254,2 +254,3 @@
def TargetX86 : TargetArch<["x86"]>;
+def TargetIA : TargetArch<["x86", "x86_64"]>;
def TargetWindows : TargetArch<["x86", "x86_64", "arm", "thumb"]> {
As far as I'm
aaron.ballman added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:1867
@@ +1866,3 @@
+Clang supports the GNU style ``__attribute__((interrupt))`` attribute on
+x86 targets. This attribute may be attached to a function definition and
+instructs the backend to generat
ABataev created this revision.
ABataev added reviewers: aaron.ballman, rjmccall.
ABataev added a subscriber: cfe-commits.
This attribute may be attached to a function definition and
instructs the backend to generate appropriate function entry/exit code so that
it can be used directly as an interru
22 matches
Mail list logo