1 // needs-llvm-components: avr
2 // compile-flags: --target=avr-unknown-gnu-atmega328 --crate-type=rlib
4 #![feature(no_core, lang_items)]
8 // Test that the AVR interrupt ABI cannot be used when avr_interrupt
9 // feature gate is not used.
11 extern "avr-non-blocking-interrupt" fn fu() {}
12 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
13 extern "avr-interrupt" fn f() {}
14 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
17 extern "avr-interrupt" fn m();
18 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
19 extern "avr-non-blocking-interrupt" fn mu();
20 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
22 extern "avr-interrupt" fn dm() {}
23 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
24 extern "avr-non-blocking-interrupt" fn dmu() {}
25 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
30 extern "avr-interrupt" fn m() {}
31 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
32 extern "avr-non-blocking-interrupt" fn mu() {}
33 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
37 extern "avr-interrupt" fn im() {}
38 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
39 extern "avr-non-blocking-interrupt" fn imu() {}
40 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
43 type TA = extern "avr-interrupt" fn();
44 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
45 type TAU = extern "avr-non-blocking-interrupt" fn();
46 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
48 extern "avr-interrupt" {}
49 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
50 extern "avr-non-blocking-interrupt" {}
51 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental