]> granicus.if.org Git - git/commitdiff
Merge branch 'nd/warn-more-for-devs'
authorJunio C Hamano <gitster@pobox.com>
Tue, 8 May 2018 06:59:21 +0000 (15:59 +0900)
committerJunio C Hamano <gitster@pobox.com>
Tue, 8 May 2018 06:59:21 +0000 (15:59 +0900)
The build procedure "make DEVELOPER=YesPlease" learned to enable a
bit more warning options depending on the compiler used to help
developers more.  There also is "make DEVOPTS=tokens" knob
available now, for those who want to help fixing warnings we
usually ignore, for example.

* nd/warn-more-for-devs:
  Makefile: add a DEVOPTS to get all of -Wextra
  Makefile: add a DEVOPTS to suppress -Werror under DEVELOPER
  Makefile: detect compiler and enable more warnings in DEVELOPER=1
  connect.c: mark die_initial_contact() NORETURN

1  2 
Makefile
connect.c

diff --cc Makefile
index f89f2dba5bfe8574fb58fdca376420e5665173c0,1ad1049a408cbe4c3f29e580edff1f01e78d93ab..4541788e50c4faa424c6df717dfcc6bc78fa570b
+++ b/Makefile
@@@ -442,28 -432,25 +442,48 @@@ all:
  # When cross-compiling, define HOST_CPU as the canonical name of the CPU on
  # which the built Git will run (for instance "x86_64").
  #
 +# Define RUNTIME_PREFIX to configure Git to resolve its ancillary tooling and
 +# support files relative to the location of the runtime binary, rather than
 +# hard-coding them into the binary. Git installations built with RUNTIME_PREFIX
 +# can be moved to arbitrary filesystem locations. RUNTIME_PREFIX also causes
 +# Perl scripts to use a modified entry point header allowing them to resolve
 +# support files at runtime.
 +#
 +# When using RUNTIME_PREFIX, define HAVE_BSD_KERN_PROC_SYSCTL if your platform
 +# supports the KERN_PROC BSD sysctl function.
 +#
 +# When using RUNTIME_PREFIX, define PROCFS_EXECUTABLE_PATH if your platform
 +# mounts a "procfs" filesystem capable of resolving the path of the current
 +# executable. If defined, this must be the canonical path for the "procfs"
 +# current executable path.
 +#
 +# When using RUNTIME_PREFIX, define HAVE_NS_GET_EXECUTABLE_PATH if your platform
 +# supports calling _NSGetExecutablePath to retrieve the path of the running
 +# executable.
 +#
 +# When using RUNTIME_PREFIX, define HAVE_WPGMPTR if your platform offers
 +# the global variable _wpgmptr containing the absolute path of the current
 +# executable (this is the case on Windows).
++#
+ # Define DEVELOPER to enable more compiler warnings. Compiler version
+ # and family are auto detected, but could be overridden by defining
+ # COMPILER_FEATURES (see config.mak.dev)
+ #
+ # When DEVELOPER is set, DEVOPTS can be used to control compiler
+ # options.  This variable contains keywords separated by
+ # whitespace. The following keywords are are recognized:
+ #
+ #    no-error:
+ #
+ #        suppresses the -Werror that implicitly comes with
+ #        DEVELOPER=1. Useful for getting the full set of errors
+ #        without immediately dying, or for logging them.
+ #
+ #    extra-all:
+ #
+ #        The DEVELOPER mode enables -Wextra with a few exceptions. By
+ #        setting this flag the exceptions are removed, and all of
+ #        -Wextra is used.
  
  GIT-VERSION-FILE: FORCE
        @$(SHELL_PATH) ./GIT-VERSION-GEN
diff --cc connect.c
index 54971166ac4ba6646ea52051f8131dc16ea2e0ae,49eca4646220dc92aca9f58b9c7fb309a243e6be..b34dc80451fb375b112c1338a0aa3326a0a168ad
+++ b/connect.c
@@@ -48,14 -46,8 +48,14 @@@ int check_ref_type(const struct ref *re
        return check_ref(ref->name, flags);
  }
  
- static void die_initial_contact(int unexpected)
+ static NORETURN void die_initial_contact(int unexpected)
  {
 +      /*
 +       * A hang-up after seeing some response from the other end
 +       * means that it is unexpected, as we know the other end is
 +       * willing to talk to us.  A hang-up before seeing any
 +       * response does not necessarily mean an ACL problem, though.
 +       */
        if (unexpected)
                die(_("The remote end hung up upon initial contact"));
        else