Project

General

Profile

Actions

Bug #19732

closed

Possible missing header (stdint.h) in event.h

Added by itarato (Peter Arato) over 1 year ago. Updated over 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:113908]

Description

Ruby's event.h (https://github.com/ruby/ruby/blob/813a5f4fc46a24ca1695d23c159250b9e1080ac7/include/ruby/internal/event.h#L103) is using type aliases from stdint.h, however it's not directly included.

An example where this causes issues is when using rb_debug_inspector_current_depth() https://github.com/ruby/ruby/blob/813a5f4fc46a24ca1695d23c159250b9e1080ac7/include/ruby/debug.h#L279-L284C46. In a gem using a C-extension that already includes debug.h, when adding the call rb_debug_inspector_current_depth(), the compilation fails with:

make
compiling debug_inspector.c
In file included from /home/itarato/.rubies/ruby-master/include/ruby-3.3.0+0/ruby/debug.h:16,
                 from debug_inspector.c:12:
/home/itarato/.rubies/ruby-master/include/ruby-3.3.0+0/ruby/internal/event.h:105:9: error: unknown type name ‘uint32_t’
  105 | typedef uint32_t rb_event_flag_t;
      |         ^~~~~~~~

This is on ruby/ruby latest commit (813a5f4fc46a24ca1695d23c159250b9e1080ac7), but also tried on tag 3.2 (same error).

I've also proposed a fix: https://github.com/ruby/ruby/pull/7945

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0