summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/avr-signal-attr.c
diff options
context:
space:
mode:
authorDylan McKay <me@dylanmckay.io>2017-02-08 05:09:26 +0000
committerDylan McKay <me@dylanmckay.io>2017-02-08 05:09:26 +0000
commite8232d73f534492d84cb8baee90eeaa63545ddd2 (patch)
treec2d51e6423d5784e16b7aa390edffe6351d4b582 /clang/test/Sema/avr-signal-attr.c
parenta6ae060db4fdf6da2c27bb80f3281a0ce96558f8 (diff)
downloadbcm5719-llvm-e8232d73f534492d84cb8baee90eeaa63545ddd2.tar.gz
bcm5719-llvm-e8232d73f534492d84cb8baee90eeaa63545ddd2.zip
[AVR] Add support for the 'interrupt' and 'naked' attributes
Summary: This teaches clang how to parse and lower the 'interrupt' and 'naked' attributes. This allows interrupt signal handlers to be written. Reviewers: aaron.ballman Subscribers: malcolm.parsons, cfe-commits Differential Revision: https://reviews.llvm.org/D28451 llvm-svn: 294402
Diffstat (limited to 'clang/test/Sema/avr-signal-attr.c')
-rw-r--r--clang/test/Sema/avr-signal-attr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Sema/avr-signal-attr.c b/clang/test/Sema/avr-signal-attr.c
new file mode 100644
index 00000000000..a5920bf4045
--- /dev/null
+++ b/clang/test/Sema/avr-signal-attr.c
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 %s -triple avr-unknown-unknown -verify -fsyntax-only
+struct a { int b; };
+
+struct a test __attribute__((signal)); // expected-warning {{'signal' attribute only applies to functions}}
+
+__attribute__((signal(12))) void foo(void) { } // expected-error {{'signal' attribute takes no arguments}}
+
+__attribute__((signal)) void food() {}
OpenPOWER on IntegriCloud