2012-05-13 05:10:52 +08:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
|
|
|
|
|
|
int foo() __attribute__((__hot__));
|
|
|
|
int bar() __attribute__((__cold__));
|
|
|
|
|
|
|
|
int var1 __attribute__((__cold__)); // expected-warning{{'__cold__' attribute only applies to functions}}
|
|
|
|
int var2 __attribute__((__hot__)); // expected-warning{{'__hot__' attribute only applies to functions}}
|
|
|
|
|
2018-08-03 09:21:16 +08:00
|
|
|
int qux() __attribute__((__hot__)) __attribute__((__cold__)); // expected-error{{'__cold__' and 'hot' attributes are not compatible}} \
|
2015-11-11 05:28:44 +08:00
|
|
|
// expected-note{{conflicting attribute is here}}
|
2018-08-03 09:21:16 +08:00
|
|
|
int baz() __attribute__((__cold__)) __attribute__((__hot__)); // expected-error{{'__hot__' and 'cold' attributes are not compatible}} \
|
2015-11-11 05:28:44 +08:00
|
|
|
// expected-note{{conflicting attribute is here}}
|
2021-04-03 04:33:14 +08:00
|
|
|
|
|
|
|
__attribute__((cold)) void test1(void); // expected-note{{conflicting attribute is here}}
|
|
|
|
__attribute__((hot)) void test1(void); // expected-error{{'hot' and 'cold' attributes are not compatible}}
|
|
|
|
|
|
|
|
__attribute__((hot)) void test2(void); // expected-note{{conflicting attribute is here}}
|
|
|
|
__attribute__((cold)) void test2(void); // expected-error{{'cold' and 'hot' attributes are not compatible}}
|