Ruby
4.1.0dev (2026-09-12 revision 35f46c051f9bccc03ea1fc8a27ee0243ec7a4fce)
prism
compiler
assume.h
Go to the documentation of this file.
1
4
#ifndef PRISM_COMPILER_ASSUME_H
5
#define PRISM_COMPILER_ASSUME_H
6
13
#if defined(__clang__)
14
#define PRISM_ASSUME(expr_) __builtin_assume(expr_)
15
#elif defined(_MSC_VER)
16
#define PRISM_ASSUME(expr_) __assume(expr_)
17
#elif defined(__GNUC__) && (__GNUC__ >= 13)
18
#define PRISM_ASSUME(expr_) __attribute__((assume(expr_)))
19
#elif defined(__GNUC__)
20
#define PRISM_ASSUME(expr_) ((expr_) ? (void) 0 : __builtin_unreachable())
21
#else
22
#define PRISM_ASSUME(expr_) ((void) 0)
23
#endif
24
25
#endif
Generated by
1.9.8