SunPro's #pragma does_not_return(...) needs an argument.  That does not
fit the attribute syntax we employ.
This commit is contained in:
卜部昌平 2020-05-11 16:40:52 +09:00
Родитель 233c2018f1
Коммит 4fbb344156
1 изменённых файлов: 1 добавлений и 5 удалений

Просмотреть файл

@ -20,16 +20,12 @@
* extension libraries. They could be written in C++98. * extension libraries. They could be written in C++98.
* @brief Defines #RBIMPL_ATTR_NORETURN. * @brief Defines #RBIMPL_ATTR_NORETURN.
*/ */
#include "ruby/internal/compiler_since.h"
#include "ruby/internal/has/attribute.h" #include "ruby/internal/has/attribute.h"
#include "ruby/internal/has/cpp_attribute.h" #include "ruby/internal/has/cpp_attribute.h"
#include "ruby/internal/has/declspec_attribute.h" #include "ruby/internal/has/declspec_attribute.h"
/** Wraps (or simulates) `[[noreturn]]` */ /** Wraps (or simulates) `[[noreturn]]` */
#if RBIMPL_COMPILER_SINCE(SunPro, 5, 10, 0) #if RBIMPL_HAS_DECLSPEC_ATTRIBUTE(noreturn)
# define RBIMPL_ATTR_NORETURN() _Pragma("does_not_return")
#elif RBIMPL_HAS_DECLSPEC_ATTRIBUTE(noreturn)
# define RBIMPL_ATTR_NORETURN() __declspec(noreturn) # define RBIMPL_ATTR_NORETURN() __declspec(noreturn)
#elif RBIMPL_HAS_ATTRIBUTE(noreturn) #elif RBIMPL_HAS_ATTRIBUTE(noreturn)