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

Ruby 3.4.8p72 (2025-12-17 revision 995b59f66677d44767ce9faac6957e5543617ff9)

nonstring.h
Go to the documentation of this file.
1#ifndef RBIMPL_ATTR_NONSTRING_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_ATTR_NONSTRING_H
23#include "ruby/internal/has/attribute.h"
24
26#if RBIMPL_HAS_ATTRIBUTE(nonstring)
27# define RBIMPL_ATTR_NONSTRING() __attribute__((nonstring))
28# if RBIMPL_COMPILER_SINCE(GCC, 15, 0, 0)
29# define RBIMPL_ATTR_NONSTRING_ARRAY() RBIMPL_ATTR_NONSTRING()
30# elif RBIMPL_COMPILER_SINCE(Clang, 21, 0, 0)
31# define RBIMPL_ATTR_NONSTRING_ARRAY() RBIMPL_ATTR_NONSTRING()
32# else
33# define RBIMPL_ATTR_NONSTRING_ARRAY() /* void */
34# endif
35#else
36# define RBIMPL_ATTR_NONSTRING() /* void */
37# define RBIMPL_ATTR_NONSTRING_ARRAY() /* void */
38#endif
39
40#endif /* RBIMPL_ATTR_NONSTRING_H */
attribute.h
Defines RBIMPL_HAS_ATTRIBUTE.