Ruby 3.4.5p51 (2025-07-16 revision 20cda200d3ce092571d0b5d342dadca69636cb0f)
|
Defines RBIMPL_ASSUME / #RBIMPL_UNREACHABLE. More...
#include "ruby/internal/config.h"
#include "ruby/internal/cast.h"
#include "ruby/internal/compiler_since.h"
#include "ruby/internal/has/builtin.h"
#include "ruby/internal/warning_push.h"
Go to the source code of this file.
Macros | |
#define | RBIMPL_UNREACHABLE_RETURN(_) |
Wraps (or simulates) __builtin_unreachable. | |
#define | RBIMPL_ASSUME(_) |
Wraps (or simulates) __builtin_unreachable. | |
#define | RBIMPL_UNREACHABLE() |
Defines RBIMPL_ASSUME / #RBIMPL_UNREACHABLE.
These macros must be defined at once because:
Definition in file assume.h.
#define RBIMPL_ASSUME | ( | _ | ) |
Wraps (or simulates) __builtin_unreachable.
Wraps (or simulates) __assume.
Definition at line 76 of file assume.h.
Referenced by rb_long2int_inline(), and rb_type().
#define RBIMPL_UNREACHABLE | ( | ) |
#define RBIMPL_UNREACHABLE_RETURN | ( | _ | ) |
Wraps (or simulates) __builtin_unreachable.
Definition at line 48 of file assume.h.
Referenced by rb_class_of(), RTYPEDDATA_P(), and RTYPEDDATA_TYPE().