From: michals Date: 2022-06-13T13:55:34+00:00 Subject: [ruby-core:108873] [Ruby master Bug#18823] _Bool not defined for C++ Issue #18823 has been updated by michals (Michal Such��nek). include/ruby/internal/stdbool.h defines _Bool, and in most cases just uses bool defined by the runtime. I have no idea how there would even be _Bool if not defined there. _Bools is used in bigdecimal and detected in extconf so it's not strictly internal. Also rb_fd_select does not sound like public API and is not used by the bundled extensions but might be used by something like eventmachine. Extensions do get the internal headers included, though. Hence the error when _Bool is used in function prototypes in one of these internal headers. ---------------------------------------- Bug #18823: _Bool not defined for C++ https://bugs.ruby-lang.org/issues/18823#change-97954 * Author: michals (Michal Such��nek) * Status: Rejected * Priority: Normal * ruby -v: ruby 3.2.0dev (2022-06-12T17:35:26Z master 8158f05e72) * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- When a _Bool argument is added to rb_fd_select ruby cannot be compiled on VisualStudio 2022 VisualStudio 2019 gcc-5 gcc-4.8 clang-5 clang-4 clang-3.9 c++98 (llvm 14) c++2a (llvm 14) which suggests that `if defined(HAVE_STDBOOL_H) && (__cplusplus >= 201103L)` in `include/ruby/internal/stdbool.h` may not be a great way to detect that C++ has bool, especially on Visual Studio. -- https://bugs.ruby-lang.org/ Unsubscribe: