
Issue #20274 has been updated by kjtsanaktsidis (KJ Tsanaktsidis). GCC & clang set macros indicating that asan is enabled: https://github.com/ruby/ruby/blob/df63e5bef67ff74216834f61748aa6ea8b0de22e/i... So I was going to implement `RubyVM::ASAN.enabled?` by using conditional compilation to just return Qtrue or Qfalse. Maybe `RbConfig` might be a better place for it? I think I’d have to write some autoconf macros/test program to emit an AC_SUBST about whether asan is enabled. But that should be just as robust. WDYT? ---------------------------------------- Feature #20274: Add RubyVM::ASAN.enabled? https://bugs.ruby-lang.org/issues/20274#change-106847 * Author: kjtsanaktsidis (KJ Tsanaktsidis) * Status: Open * Priority: Normal ---------------------------------------- Some parts of the Ruby test suite won't work correctly under ASAN. In particular, `assert_no_memory_leak` will need different parameters for ASAN (or be skipped, in the same way as for MJIT/RJIT). I propose that we add a module `RubyVM::ASAN` (which will be unconditionally defined), and `RubyVM::ASAN.enabled?` (which will return true if Ruby was compiled with ASAN, or false otherwise). This means we can check if ASAN is enabled by running `defined?(RubyVM::ASAN) && RubyVM::ASAN.enabled?`, in the same way that the mjit/rjit check is performed. -- https://bugs.ruby-lang.org/