From 00be5846e4793b718da19dafec3f4ecf2d6d0692 Mon Sep 17 00:00:00 2001 From: Alan Wu Date: Tue, 19 Oct 2021 16:43:20 -0400 Subject: Fix non RUBY_DEBUG build warnings On non RUBY_DEBUG builds, assert() compiles to nothing and the compiler warns about uninitialized variables in those code paths. Replace those asserts with rb_bug() to fix the warnings and do the assert in all builds. Since yjit_asm_tests.c compiles outside of Ruby, it needed a distinct version of rb_bug(). Also put YJIT_STATS check for function delcaration that is only defined in YJIT_STATS builds. --- yjit_asm_tests.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'yjit_asm_tests.c') diff --git a/yjit_asm_tests.c b/yjit_asm_tests.c index 5f2376127c..295edb86e5 100644 --- a/yjit_asm_tests.c +++ b/yjit_asm_tests.c @@ -6,6 +6,15 @@ #include #include +// This test executable doesn't compile with the rest of Ruby +// so we need to define a rb_bug(). +_Noreturn +static void rb_bug(char *message) +{ + fprintf(stderr, "%s\n", message); + abort(); +} + #include "yjit_asm.c" // Print the bytes in a code block -- cgit v1.2.3