Ruby 3.4.2p28 (2025-02-15 revision d2930f8e7a5db8a7337fa43370940381b420cc3e)
|
Defines RBIMPL_ATTR_PURE. More...
#include "ruby/internal/compiler_since.h"
#include "ruby/internal/has/attribute.h"
#include "ruby/assert.h"
Go to the source code of this file.
Macros | |
#define | RBIMPL_ATTR_PURE() |
Wraps (or simulates) __attribute__((pure)) | |
#define | RBIMPL_ATTR_PURE_UNLESS_DEBUG() |
Enables RBIMPL_ATTR_PURE if and only if. | |
Defines RBIMPL_ATTR_PURE.
RBIMPL
or rbimpl
are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will. __VA_ARGS__
is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98. Definition in file pure.h.
#define RBIMPL_ATTR_PURE | ( | ) |
Wraps (or simulates) __attribute__((pure))
Definition at line 33 of file pure.h.
Referenced by rb_fd_clr(), and rb_fd_select().
#define RBIMPL_ATTR_PURE_UNLESS_DEBUG | ( | ) |
Enables RBIMPL_ATTR_PURE if and only if.
! RUBY_DEBUG.
Definition at line 38 of file pure.h.
Referenced by rb_random_mark().