Ruby 4.1.0dev (2026-09-27 revision f6ff9e7d02e46360f8930b280a3dd921cccbda29)
declspec_attribute.h
Go to the documentation of this file.
1#ifndef RBIMPL_HAS_DECLSPEC_ATTRIBUTE_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_H
24
26#if defined(__has_declspec_attribute)
27# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE(_) __has_declspec_attribute(_)
28#else
29# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE(_) (RBIMPL_HAS_DECLSPEC_ATTRIBUTE_ ## _)
30# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_align RBIMPL_COMPILER_IS(MSVC)
31# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_deprecated RBIMPL_COMPILER_IS(MSVC)
32# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_dllexport RBIMPL_COMPILER_IS(MSVC)
33# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_dllimport RBIMPL_COMPILER_IS(MSVC)
34# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_empty_bases RBIMPL_COMPILER_IS(MSVC)
35# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_noalias RBIMPL_COMPILER_IS(MSVC)
36# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_noinline RBIMPL_COMPILER_IS(MSVC)
37# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_noreturn RBIMPL_COMPILER_IS(MSVC)
38# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_nothrow RBIMPL_COMPILER_IS(MSVC)
39# define RBIMPL_HAS_DECLSPEC_ATTRIBUTE_restrict RBIMPL_COMPILER_IS(MSVC)
40# if ! defined(__cplusplus)
41# /* Clang has this in both C/C++, but MSVC has this in C++ only.*/
42# undef RBIMPL_HAS_DECLSPEC_ATTRIBUTE_nothrow
43# endif
44#endif
45
46#endif /* RBIMPL_HAS_DECLSPEC_ATTRIBUTE_H */
Defines RBIMPL_COMPILER_IS.