socketry / nio4r

Cross-platform asynchronous I/O primitives for scalable network clients and servers.
Other
965 stars 86 forks source link

Current warnings on M1 Mac #289

Closed djberg96 closed 1 year ago

djberg96 commented 1 year ago

ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin21]

Darwin CMMM00RX0QHL2 21.6.0 Darwin Kernel Version 21.6.0: Wed Aug 10 14:28:23 PDT 2022; root:xnu-8020.141.5~2/RELEASE_ARM64_T6000 arm64

Apple clang version 14.0.0 (clang-1400.0.29.102) Target: arm64-apple-darwin21.6.0

>bundle exec rake compile
mkdir -p tmp/arm64-darwin21/nio4r_ext/2.7.6
cd tmp/arm64-darwin21/nio4r_ext/2.7.6
/Users/daniel.berger/.rbenv/versions/2.7.6/bin/ruby -I. -r.rake-compiler-siteconf.rb ../../../../ext/nio4r/extconf.rb
checking for unistd.h... yes
checking for linux/aio_abi.h... no
checking for linux/io_uring.h... no
checking for sys/select.h... yes
checking for port_event_t in poll.h... no
checking for sys/epoll.h... no
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for port_event_t in port.h... no
checking for sys/resource.h... yes
creating Makefile
cd -
cd tmp/arm64-darwin21/nio4r_ext/2.7.6
/usr/bin/make
compiling ../../../../ext/nio4r/bytebuffer.c
compiling ../../../../ext/nio4r/monitor.c
compiling ../../../../ext/nio4r/nio4r_ext.c
compiling ../../../../ext/nio4r/selector.c
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:573:48: warning: '/*' within block comment [-Wcomment]
/*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
                                               ^
../../../../ext/nio4r/../libev/ev.c:2136:31: warning: 'extern' variable has an initializer [-Wextern-initializer]
  EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
                              ^
../../../../ext/nio4r/selector.c:301:26: warning: incompatible function pointer types passing 'VALUE (*)(VALUE *)' (aka 'unsigned long (*)(unsigned long *)') to parameter of type 'VALUE (*)(VALUE)' (aka 'unsigned long (*)(unsigned long)') [-Wincompatible-function-pointer-types]
        return rb_ensure(func, (VALUE)args, NIO_Selector_unlock, self);
                         ^~~~
/Users/daniel.berger/.rbenv/versions/2.7.6/include/ruby-2.7.0/ruby/ruby.h:1992:24: note: passing argument to parameter here
VALUE rb_ensure(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE),VALUE);
                       ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
In file included from ../../../../ext/nio4r/../libev/ev.c:3080:
../../../../ext/nio4r/../libev/ev_kqueue.c:133:32: warning: left operand of comma operator has no effect [-Wunused-value]
                      assert (("libev: kqueue found invalid fd", 0));
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
In file included from ../../../../ext/nio4r/../libev/ev.c:3080:
../../../../ext/nio4r/../libev/ev_kqueue.c:139:28: warning: left operand of comma operator has no effect [-Wunused-value]
                  assert (("libev: kqueue found invalid fd", 0));
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
In file included from ../../../../ext/nio4r/../libev/ev.c:3092:
../../../../ext/nio4r/../libev/ev_poll.c:113:18: warning: left operand of comma operator has no effect [-Wunused-value]
        assert (("libev: poll returned illegal result, broken BSD kernel?", p < polls + pollcnt));
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
In file included from ../../../../ext/nio4r/../libev/ev.c:3092:
../../../../ext/nio4r/../libev/ev_poll.c:121:26: warning: left operand of comma operator has no effect [-Wunused-value]
                assert (("libev: poll found invalid fd in poll set", 0));
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3568:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: watcher has invalid priority", ABSPRI (w) >= 0 && ABSPRI (w) < NUMPRI));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3571:14: warning: left operand of comma operator has no effect [-Wunused-value]
    assert (("libev: pending watcher not on pending queue", pendings [ABSPRI (w)][w->pending - 1].w == w));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3582:16: warning: left operand of comma operator has no effect [-Wunused-value]
      assert (("libev: active index mismatch in heap", ev_active (ANHE_w (heap [i])) == i));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3583:16: warning: left operand of comma operator has no effect [-Wunused-value]
      assert (("libev: heap condition violated", i == HEAP0 || ANHE_at (heap [HPARENT (i)]) <= ANHE_at (heap [i])));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3584:16: warning: left operand of comma operator has no effect [-Wunused-value]
      assert (("libev: heap at cache mismatch", ANHE_at (heap [i]) == ev_at (ANHE_w (heap [i]))));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3596:16: warning: left operand of comma operator has no effect [-Wunused-value]
      assert (("libev: active index mismatch", ev_active (ws [cnt]) == cnt + 1));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3614:14: warning: left operand of comma operator has no effect [-Wunused-value]
    assert (("libev: negative fd in fdchanges", fdchanges [i] >= 0));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3627:24: warning: left operand of comma operator has no effect [-Wunused-value]
              assert (("libev: io watcher list contains a loop", w != w2));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3631:20: warning: left operand of comma operator has no effect [-Wunused-value]
          assert (("libev: inactive fd watcher on anfd list", ev_active (w) == 1));
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3632:20: warning: left operand of comma operator has no effect [-Wunused-value]
          assert (("libev: fd mismatch between watcher and anfd", ((ev_io *)w)->fd == i));
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3818:24: warning: left operand of comma operator has no effect [-Wunused-value]
              assert (("libev: negative ev_timer repeat value found while processing timers", w->repeat > EV_TS_CONST (0.)));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:3881:24: warning: left operand of comma operator has no effect [-Wunused-value]
              assert (("libev: ev_periodic reschedule callback returned time in the past", ev_at (w) >= ev_rt_now));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4043:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_loop recursion during release detected", loop_done != EVBREAK_RECURSE));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4228:22: warning: left operand of comma operator has no effect [-Wunused-value]
            assert (("libev: pipe_w not active, but pipe not written", ev_is_active (&pipe_w)));
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4402:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_io_start called with negative fd", fd >= 0));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4403:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_io_start called with illegal event mask", !(w->events & ~(EV__IOFDSET | EV_READ | EV_WRITE))));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4415:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_io_start called with corrupted watcher", ((WL)w)->next != (WL)w));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4431:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_io_stop called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4455:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_timer_start called with negative timer repeat value", w->repeat >= 0.));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4484:14: warning: left operand of comma operator has no effect [-Wunused-value]
    assert (("libev: internal timer heap corruption", ANHE_w (timers [active]) == (WT)w));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4553:16: warning: left operand of comma operator has no effect [-Wunused-value]
      assert (("libev: ev_periodic_start called with negative interval value", w->interval >= 0.));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4586:14: warning: left operand of comma operator has no effect [-Wunused-value]
    assert (("libev: internal periodic heap corruption", ANHE_w (periodics [active]) == (WT)w));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4625:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: ev_signal_start called with illegal signal number", w->signum > 0 && w->signum < EV_NSIG));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4628:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: a signal must not be attached to two different loops",
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:4747:12: warning: left operand of comma operator has no effect [-Wunused-value]
  assert (("libev: child watchers are only supported in the default loop", loop == ev_default_loop_ptr));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
In file included from ../../../../ext/nio4r/nio4r_ext.c:6:
../../../../ext/nio4r/../libev/ev.c:5334:14: warning: left operand of comma operator has no effect [-Wunused-value]
    assert (("libev: loop to be embedded is not embeddable", backend & ev_embeddable_backends ()));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                        ^
1 warning generated.
32 warnings generated.
linking shared-object nio4r_ext.bundle
ld: warning: -undefined dynamic_lookup may not work with chained fixups
cd -
mkdir -p tmp/arm64-darwin21/stage/lib
/usr/bin/make install target_prefix=
/usr/bin/install -c -m 0755 nio4r_ext.bundle /Users/daniel.berger/Dev/Personal/nio4r/lib
cp tmp/arm64-darwin21/nio4r_ext/2.7.6/nio4r_ext.bundle tmp/arm64-darwin21/stage/lib/nio4r_ext.bundle
ioquatix commented 1 year ago

This is a common pattern for adding extra information to assertions, not sure what the solution is.

djberg96 commented 1 year ago

@ioquatix Looks like a void cast is the solution on the intertubes. Can do them individually or use a macro:

#define m_assert(expr, msg) assert(( (void)(msg), (expr) ))
ioquatix commented 1 year ago

Is this fixed upstream in libev? Because that would be the logical place to fix it.

djberg96 commented 1 year ago

@ioquatix How do y'all pull in the libev code? Is it a submodule?

ioquatix commented 1 year ago

No you have to copy it and manually move the changes. Normally I just replace the entire source tree and then manually revert the chunks of code we've changed. It's a little cumbersome.

tarcieri commented 1 year ago

It's a bit tricky because the libev API for running code within the event loop and releasing the GVL are both callback-driven and therefore can't be composed easily, so it's necessary to patch releasing the GVL directly into the libev event loop.

There's a large comment describing the situation in the code.