Ruby: include/ruby/defines.h File Reference

Ruby 3.4.3p32 (2025-04-14 revision d0b7e5b6a04bde21ca483d20a1546b28b401c2d4)

Macros
defines.h File Reference
`#include "ruby/internal/config.h"`
`#include <stdio.h>`
`#include "ruby/internal/dllexport.h"`
`#include "ruby/internal/xmalloc.h"`
`#include "ruby/backward/2/assume.h"`
`#include "ruby/backward/2/attributes.h"`
`#include "ruby/backward/2/bool.h"`
`#include "ruby/backward/2/long_long.h"`
`#include "ruby/backward/2/stdalign.h"`
`#include "ruby/backward/2/stdarg.h"`
`#include "ruby/internal/dosish.h"`
`#include "ruby/missing.h"`

Go to the source code of this file.

## Macros
#define | RUBY
| Asserts that the compilation unit includes Ruby's CAPI.
#define | RB_GNUC_EXTENSION __extension__
| This is expanded to nothing for non-GCC compilers.
#define | RB_GNUC_EXTENSION_BLOCK(x)
| This is expanded to the passed token for non-GCC compilers.

## Detailed Description

Author
  $Author$

Date
  Wed May 18 00:21:44 JST 1994

Copyright
  This file is a part of the programming language Ruby. Permission is hereby granted, to either redistribute and/or modify this file, provided that the conditions mentioned in the file COPYING are met. Consult the file for details.

Definition in file defines.h.

## Macro Definition Documentation

## ◆ RB_GNUC_EXTENSION

#define RB_GNUC_EXTENSION __extension__

This is expanded to nothing for non-GCC compilers.

Definition at line 89 of file defines.h.

Referenced by rb_mul_size_overflow().

## ◆ RB_GNUC_EXTENSION_BLOCK

#define RB_GNUC_EXTENSION_BLOCK | ( |  | x | ) |

Value:
__extension__ ({ x; })

This is expanded to the passed token for non-GCC compilers.

Definition at line 91 of file defines.h.

## ◆ RUBY

#define RUBY

Asserts that the compilation unit includes Ruby's CAPI.

This has been here since the very beginning (at least since version 0.49).

Definition at line 85 of file defines.h.