Ruby: include/ruby/internal/attr/returns_nonnull.h Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

returns_nonnull.h
Go to the documentation of this file.
1#ifndef RBIMPL_ATTR_RETURNS_NONNULL_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_ATTR_RETURNS_NONNULL_H
23#include "ruby/internal/has/attribute.h"
24
26#if defined(_Ret_nonnull_)
27# /* Take SAL definition. */
28# define RBIMPL_ATTR_RETURNS_NONNULL() _Ret_nonnull_
29
30#elif RBIMPL_HAS_ATTRIBUTE(returns_nonnull)
31# define RBIMPL_ATTR_RETURNS_NONNULL() __attribute__((__returns_nonnull__))
32
33#else
34# define RBIMPL_ATTR_RETURNS_NONNULL() /* void */
35#endif
36
37#endif /* RBIMPL_ATTR_RETURNS_NONNULL_H */
attribute.h
Defines RBIMPL_HAS_ATTRIBUTE.