Daniel Dunbar | a572887 | 2009-12-15 20:14:24 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s |
Eli Friedman | 55d3aaf | 2009-03-27 21:06:47 +0000 | [diff] [blame] | 2 | |
Douglas Gregor | d2c6490 | 2010-06-18 21:30:25 +0000 | [diff] [blame] | 3 | __attribute((regparm(2))) int x0(void); |
| 4 | __attribute((regparm(1.0))) int x1(void); // expected-error{{'regparm' attribute requires integer constant}} |
| 5 | __attribute((regparm(-1))) int x2(void); // expected-error{{'regparm' parameter must be between 0 and 3 inclusive}} |
| 6 | __attribute((regparm(5))) int x3(void); // expected-error{{'regparm' parameter must be between 0 and 3 inclusive}} |
John McCall | bdc49d3 | 2011-03-02 12:15:05 +0000 | [diff] [blame] | 7 | __attribute((regparm(5,3))) int x4(void); // expected-error{{attribute takes one argument}} |
Douglas Gregor | d2c6490 | 2010-06-18 21:30:25 +0000 | [diff] [blame] | 8 | |
| 9 | void __attribute__((regparm(3))) x5(int); |
| 10 | void x5(int); // expected-note{{previous declaration is here}} |
| 11 | void __attribute__((regparm(2))) x5(int); // expected-error{{function declared with with regparm(2) attribute was previously declared with the regparm(3) attribute}} |