2015-05-27 14:47:56 -04:00
|
|
|
// RUN: %clang_cc1 -triple arm-unknown-linux -verify -E %s -o - | FileCheck %s
|
2012-04-14 10:01:31 -04:00
|
|
|
|
|
|
|
|
// CHECK: always_inline
|
|
|
|
|
#if __has_attribute(always_inline)
|
|
|
|
|
int always_inline();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// CHECK: __always_inline__
|
|
|
|
|
#if __has_attribute(__always_inline__)
|
|
|
|
|
int __always_inline__();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// CHECK: no_dummy_attribute
|
|
|
|
|
#if !__has_attribute(dummy_attribute)
|
|
|
|
|
int no_dummy_attribute();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// CHECK: has_has_attribute
|
|
|
|
|
#ifdef __has_attribute
|
|
|
|
|
int has_has_attribute();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// CHECK: has_something_we_dont_have
|
|
|
|
|
#if !__has_attribute(something_we_dont_have)
|
|
|
|
|
int has_something_we_dont_have();
|
|
|
|
|
#endif
|
2012-08-15 16:02:54 -04:00
|
|
|
|
|
|
|
|
// rdar://10253857
|
|
|
|
|
#if __has_attribute(__const)
|
|
|
|
|
int fn3() __attribute__ ((__const));
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if __has_attribute(const)
|
|
|
|
|
static int constFunction() __attribute__((const));
|
|
|
|
|
#endif
|
|
|
|
|
|
2013-12-21 19:07:40 -05:00
|
|
|
// CHECK: has_no_volatile_attribute
|
|
|
|
|
#if !__has_attribute(volatile)
|
|
|
|
|
int has_no_volatile_attribute();
|
|
|
|
|
#endif
|
2014-11-24 04:15:30 -05:00
|
|
|
|
|
|
|
|
// CHECK: has_arm_interrupt
|
|
|
|
|
#if __has_attribute(interrupt)
|
|
|
|
|
int has_arm_interrupt();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// CHECK: does_not_have_dllexport
|
|
|
|
|
#if !__has_attribute(dllexport)
|
|
|
|
|
int does_not_have_dllexport();
|
|
|
|
|
#endif
|
2015-01-18 11:23:48 -05:00
|
|
|
|
|
|
|
|
// CHECK: does_not_have_uuid
|
|
|
|
|
#if !__has_attribute(uuid)
|
|
|
|
|
int does_not_have_uuid
|
|
|
|
|
#endif
|
2015-05-27 14:47:56 -04:00
|
|
|
|
2016-07-23 16:44:14 -04:00
|
|
|
#if __has_cpp_attribute(selectany) // expected-error {{function-like macro '__has_cpp_attribute' is not defined}}
|
2015-05-27 14:47:56 -04:00
|
|
|
#endif
|