Commit 88d99fc1 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Fix warnings when using two unusual options together.

The option `--enable-all-bugs-are-fatal` when used with
`--disable-module-relay` caused GCC to warn about functions that
it thought should be labeled noreturn.

I've tried a couple of approaches, but disabling the warning on
these functions seems to be the best approach.

Fixed #40129; bugfix on 0.4.4.1-alpha.
parent 1cce0588
Loading
Loading
Loading
Loading

changes/bug40129

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Minor bugfixes (compilation):
    - Fix compiler warnings that would occur when building with
      "--enable-all-bugs-are-fatal" and "--disable-module-relay"
      at the same time. Fixes bug 40129; bugfix on 0.4.4.1-alpha.
+2 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include "feature/dircache/dirserv.h"
#include "feature/dircommon/dir_connection_st.h"

DISABLE_GCC_WARNING("-Wmissing-noreturn")
int
directory_handle_command(dir_connection_t *conn)
{
@@ -29,6 +30,7 @@ connection_dirserv_flushed_some(dir_connection_t *conn)
  tor_assert_nonfatal_unreached_once();
  return -1;
}
ENABLE_GCC_WARNING("-Wmissing-noreturn")

void
dir_conn_clear_spool(dir_connection_t *conn)
+5 −0
Original line number Diff line number Diff line
@@ -2488,6 +2488,10 @@ check_descriptor_bandwidth_changed(time_t now)
  }
}

// This function can be "noreturn" if relay mode is disabled and
// ALL_BUGS_ARE_FATAL is set.
DISABLE_GCC_WARNING("-Wmissing-noreturn")

/** Note at log level severity that our best guess of address has changed from
 * <b>prev</b> to <b>cur</b>. */
void
@@ -2517,6 +2521,7 @@ log_addr_has_changed(int severity,
             "Guessed our IP address as %s (source: %s).",
             addrbuf_cur, source);
}
ENABLE_GCC_WARNING("-Wmissing-noreturn")

/** Check whether our own address as defined by the Address configuration
 * has changed. This is for routers that get their address from a service