Simon Atanasyan | 2c87f53 | 2017-05-22 12:47:43 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple mips-linux-gnu -fsyntax-only -verify %s |
| 2 | |
| 3 | __attribute__((nomicromips(0))) void foo1(); // expected-error {{'nomicromips' attribute takes no arguments}} |
| 4 | __attribute__((micromips(1))) void foo2(); // expected-error {{'micromips' attribute takes no arguments}} |
| 5 | |
| 6 | __attribute((nomicromips)) int a; // expected-error {{attribute only applies to functions}} |
| 7 | __attribute((micromips)) int b; // expected-error {{attribute only applies to functions}} |
| 8 | |
Michael Kruse | dc5ce72 | 2018-08-03 01:21:16 +0000 | [diff] [blame] | 9 | __attribute__((micromips,mips16)) void foo5(); // expected-error {{'mips16' and 'micromips' attributes are not compatible}} \ |
Simon Atanasyan | 2c87f53 | 2017-05-22 12:47:43 +0000 | [diff] [blame] | 10 | // expected-note {{conflicting attribute is here}} |
Michael Kruse | dc5ce72 | 2018-08-03 01:21:16 +0000 | [diff] [blame] | 11 | __attribute__((mips16,micromips)) void foo6(); // expected-error {{'micromips' and 'mips16' attributes are not compatible}} \ |
Simon Atanasyan | 2c87f53 | 2017-05-22 12:47:43 +0000 | [diff] [blame] | 12 | // expected-note {{conflicting attribute is here}} |
| 13 | |
| 14 | __attribute((micromips)) void foo7(); |
| 15 | __attribute((nomicromips)) void foo8(); |
Simon Atanasyan | 9812d23 | 2017-05-22 15:53:34 +0000 | [diff] [blame] | 16 | __attribute__((mips16)) void foo9(void) __attribute__((micromips)); // expected-error {{'micromips' and 'mips16' attributes are not compatible}} \ |
| 17 | // expected-note {{conflicting attribute is here}} |