git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Todd Zullinger <tmz@pobox.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	bturner@atlassian.com
Subject: Re: [PATCH 0/3] fix diff-parseopt regressions
Date: Fri, 24 May 2019 13:36:42 -0400	[thread overview]
Message-ID: <20190524173642.GQ3654@pobox.com> (raw)
In-Reply-To: <20190524092442.701-1-pclouds@gmail.com>

Hi,

Nguyễn Thái Ngọc Duy wrote:
> This should fix the diff tests failure on s360x. It's a serious problem
> and I plan to do something to prevent it from happening again.

Thanks for looking at this!

I applied this on top of master/2.22.0-rc1 and see a number
of compiler errors using gcc-9.1.1 with fedora's standard
compiler options for rpm builds.

Below are the compiler errors.  This was from an s390x
build, but other arches had the same errors.  The complete
build log is available here for a few weeks:
https://kojipkgs.fedoraproject.org//work/tasks/3166/35033166/build.log

cc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ credential-store.o -MMD -MP   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"s390x\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  credential-store.c
In file included from credential-store.c:5:
credential-store.c: In function 'cmd_main':
credential-store.c:156:25: warning: passing argument 1 of '_opt_string' from incompatible pointer type [-Wincompatible-pointer-types]
  156 |   OPT_STRING(0, "file", &file, "path",
      |                         ^~~~~
      |                         |
      |                         char **
parse-options.h:152:82: note: in definition of macro 'OPT_STRING_F'
  152 | #define OPT_STRING_F(s, l, v, a, h, f)   { OPTION_STRING,  (s), (l), _opt_string(v), (a), (h), (f) }
      |                                                                                  ^
credential-store.c:156:3: note: in expansion of macro 'OPT_STRING'
  156 |   OPT_STRING(0, "file", &file, "path",
      |   ^~~~~~~~~~
parse-options.h:132:42: note: expected 'const char **' but argument is of type 'char **'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:139:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  139 | DEFINE_OPT_TYPE_CHECK(string, const char *)
      | ^~~~~~~~~~~~~~~~~~~~~
    * new link flags


cc -o apply.o -c -MF ./.depend/apply.o.d -MQ apply.o -MMD -MP   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"s390x\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  apply.c
In file included from apply.c:20:
apply.c: In function 'apply_parse_options':
apply.c:5002:26: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5002 |   OPT_INTEGER('C', NULL, &state->p_context,
      |                          ^~~~~~~~~~~~~~~~~
      |                          |
      |                          unsigned int *
parse-options.h:153:79: note: in definition of macro 'OPT_INTEGER_F'
  153 | #define OPT_INTEGER_F(s, l, v, h, f)     { OPTION_INTEGER, (s), (l), _opt_int(v), N_("n"), (h), (f) }
      |                                                                               ^
apply.c:5002:3: note: in expansion of macro 'OPT_INTEGER'
 5002 |   OPT_INTEGER('C', NULL, &state->p_context,
      |   ^~~~~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~


cc -o diff.o -c -MF ./.depend/diff.o.d -MQ diff.o -MMD -MP   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"s390x\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  diff.c
In file included from diff.c:26:
diff.c: In function 'prep_parse_options':
diff.c:5278:37: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5278 |   OPT_BOOL('W', "function-context", &options->flags.funccontext,
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                     |
      |                                     unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5278:3: note: in expansion of macro 'OPT_BOOL'
 5278 |   OPT_BOOL('W', "function-context", &options->flags.funccontext,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5342:29: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5342 |   OPT_BOOL(0, "full-index", &options->flags.full_index,
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                             |
      |                             unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5342:3: note: in expansion of macro 'OPT_BOOL'
 5342 |   OPT_BOOL(0, "full-index", &options->flags.full_index,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5400:37: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5400 |   OPT_BOOL(0, "find-copies-harder", &options->flags.find_copies_harder,
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                     |
      |                                     unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5400:3: note: in expansion of macro 'OPT_BOOL'
 5400 |   OPT_BOOL(0, "find-copies-harder", &options->flags.find_copies_harder,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5405:31: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5405 |   OPT_BOOL(0, "rename-empty", &options->flags.rename_empty,
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5405:3: note: in expansion of macro 'OPT_BOOL'
 5405 |   OPT_BOOL(0, "rename-empty", &options->flags.rename_empty,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5469:25: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5469 |   OPT_BOOL('a', "text", &options->flags.text,
      |                         ^~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5469:3: note: in expansion of macro 'OPT_BOOL'
 5469 |   OPT_BOOL('a', "text", &options->flags.text,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5471:23: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5471 |   OPT_BOOL('R', NULL, &options->flags.reverse_diff,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       |
      |                       unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5471:3: note: in expansion of macro 'OPT_BOOL'
 5471 |   OPT_BOOL('R', NULL, &options->flags.reverse_diff,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5473:28: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5473 |   OPT_BOOL(0, "exit-code", &options->flags.exit_with_status,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                            |
      |                            unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5473:3: note: in expansion of macro 'OPT_BOOL'
 5473 |   OPT_BOOL(0, "exit-code", &options->flags.exit_with_status,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5475:24: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5475 |   OPT_BOOL(0, "quiet", &options->flags.quick,
      |                        ^~~~~~~~~~~~~~~~~~~~~
      |                        |
      |                        unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5475:3: note: in expansion of macro 'OPT_BOOL'
 5475 |   OPT_BOOL(0, "quiet", &options->flags.quick,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5477:27: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5477 |   OPT_BOOL(0, "ext-diff", &options->flags.allow_external,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
      |                           unsigned int *
parse-options.h:147:78: note: in definition of macro 'OPT_SET_INT_F'
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                              ^
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
diff.c:5477:3: note: in expansion of macro 'OPT_BOOL'
 5477 |   OPT_BOOL(0, "ext-diff", &options->flags.allow_external,
      |   ^~~~~~~~
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5502:31: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5502 |   OPT_BIT_F(0, "pickaxe-all", &options->pickaxe_opts,
      |                               ^~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               unsigned int *
parse-options.h:143:70: note: in definition of macro 'OPT_BIT_F'
  143 | #define OPT_BIT_F(s, l, v, h, b, f) { OPTION_BIT, (s), (l), _opt_int(v), NULL, (h), \
      |                                                                      ^
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~
diff.c:5505:33: warning: pointer targets in passing argument 1 of '_opt_int' differ in signedness [-Wpointer-sign]
 5505 |   OPT_BIT_F(0, "pickaxe-regex", &options->pickaxe_opts,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~
      |                                 |
      |                                 unsigned int *
parse-options.h:143:70: note: in definition of macro 'OPT_BIT_F'
  143 | #define OPT_BIT_F(s, l, v, h, b, f) { OPTION_BIT, (s), (l), _opt_int(v), NULL, (h), \
      |                                                                      ^
parse-options.h:132:42: note: expected 'int *' but argument is of type 'unsigned int *'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                          ^
parse-options.h:137:1: note: in expansion of macro 'DEFINE_OPT_TYPE_CHECK'
  137 | DEFINE_OPT_TYPE_CHECK(int, int)
      | ^~~~~~~~~~~~~~~~~~~~~


cc -o parse-options.o -c -MF ./.depend/parse-options.o.d -MQ parse-options.o -MMD -MP   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"s390x\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  parse-options.c
In file included from parse-options.c:2:
parse-options.h:140:43: warning: 'struct string_list' declared inside parameter list will not be visible outside of this definition or declaration
  140 | DEFINE_OPT_TYPE_CHECK(string_list, struct string_list)
      |                                           ^~~~~~~~~~~
parse-options.h:132:36: note: in definition of macro 'DEFINE_OPT_TYPE_CHECK'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                    ^~~~

cc -o parse-options-cb.o -c -MF ./.depend/parse-options-cb.o.d -MQ parse-options-cb.o -MMD -MP   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"s390x\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  parse-options-cb.c
In file included from parse-options-cb.c:2:
parse-options.h:140:43: warning: 'struct string_list' declared inside parameter list will not be visible outside of this definition or declaration
  140 | DEFINE_OPT_TYPE_CHECK(string_list, struct string_list)
      |                                           ^~~~~~~~~~~
parse-options.h:132:36: note: in definition of macro 'DEFINE_OPT_TYPE_CHECK'
  132 |  static inline void *_opt_ ## name(type *p) \
      |                                    ^~~~


cc -o imap-send.o -c -MF ./.depend/imap-send.o.d -MQ imap-send.o -MMD -MP   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"s390x\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  imap-send.c
In file included from imap-send.c:29:
parse-options.h:316:37: error: initializer element is not constant
  316 |  { OPTION_CALLBACK, 'v', "verbose", _opt_int(var), NULL, N_("be more verbose"), \
      |                                     ^~~~~~~~
imap-send.c:51:2: note: in expansion of macro 'OPT__VERBOSITY'
   51 |  OPT__VERBOSITY(&verbosity),
      |  ^~~~~~~~~~~~~~
parse-options.h:316:37: note: (near initialization for 'imap_send_options[0].value')
  316 |  { OPTION_CALLBACK, 'v', "verbose", _opt_int(var), NULL, N_("be more verbose"), \
      |                                     ^~~~~~~~
imap-send.c:51:2: note: in expansion of macro 'OPT__VERBOSITY'
   51 |  OPT__VERBOSITY(&verbosity),
      |  ^~~~~~~~~~~~~~
parse-options.h:318:35: error: initializer element is not constant
  318 |  { OPTION_CALLBACK, 'q', "quiet", _opt_int(var), NULL, N_("be more quiet"), \
      |                                   ^~~~~~~~
imap-send.c:51:2: note: in expansion of macro 'OPT__VERBOSITY'
   51 |  OPT__VERBOSITY(&verbosity),
      |  ^~~~~~~~~~~~~~
parse-options.h:318:35: note: (near initialization for 'imap_send_options[1].value')
  318 |  { OPTION_CALLBACK, 'q', "quiet", _opt_int(var), NULL, N_("be more quiet"), \
      |                                   ^~~~~~~~
imap-send.c:51:2: note: in expansion of macro 'OPT__VERBOSITY'
   51 |  OPT__VERBOSITY(&verbosity),
      |  ^~~~~~~~~~~~~~
parse-options.h:147:69: error: initializer element is not constant
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                     ^~~~~~~~
parse-options.h:149:37: note: in expansion of macro 'OPT_SET_INT_F'
  149 | #define OPT_BOOL_F(s, l, v, h, f)   OPT_SET_INT_F(s, l, v, h, 1, f)
      |                                     ^~~~~~~~~~~~~
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
imap-send.c:52:2: note: in expansion of macro 'OPT_BOOL'
   52 |  OPT_BOOL(0, "curl", &use_curl, "use libcurl to communicate with the IMAP server"),
      |  ^~~~~~~~
parse-options.h:147:69: note: (near initialization for 'imap_send_options[2].value')
  147 | #define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), _opt_int(v), NULL, \
      |                                                                     ^~~~~~~~
parse-options.h:149:37: note: in expansion of macro 'OPT_SET_INT_F'
  149 | #define OPT_BOOL_F(s, l, v, h, f)   OPT_SET_INT_F(s, l, v, h, 1, f)
      |                                     ^~~~~~~~~~~~~
parse-options.h:167:37: note: in expansion of macro 'OPT_BOOL_F'
  167 | #define OPT_BOOL(s, l, v, h)        OPT_BOOL_F(s, l, v, h, 0)
      |                                     ^~~~~~~~~~
imap-send.c:52:2: note: in expansion of macro 'OPT_BOOL'
   52 |  OPT_BOOL(0, "curl", &use_curl, "use libcurl to communicate with the IMAP server"),
      |  ^~~~~~~~

Thanks,

-- 
Todd

  parent reply	other threads:[~2019-05-24 17:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-24  9:24 Nguyễn Thái Ngọc Duy
2019-05-24  9:24 ` [PATCH 1/3] diff-parseopt: correct variable types that are used by parseopt Nguyễn Thái Ngọc Duy
2019-05-28 19:23   ` Junio C Hamano
2019-05-24  9:24 ` [PATCH 2/3] diff-parseopt: restore -U (no argument) behavior Nguyễn Thái Ngọc Duy
2019-05-24  9:24 ` [PATCH 3/3] parse-options: check empty value in OPT_INTEGER and OPT_ABBREV Nguyễn Thái Ngọc Duy
2019-05-24  9:36 ` [PATCH 4/3] parse-options: make compiler check value type mismatch Nguyễn Thái Ngọc Duy
2019-05-24 17:36 ` Todd Zullinger [this message]
2019-05-24 20:58   ` [PATCH 0/3] fix diff-parseopt regressions Todd Zullinger
2019-05-25 10:22   ` Duy Nguyen
2019-05-25 20:48     ` Todd Zullinger
2019-05-29  9:11 ` [PATCH v2 " Nguyễn Thái Ngọc Duy
2019-05-29  9:11   ` [PATCH v2 1/3] diff-parseopt: correct variable types that are used by parseopt Nguyễn Thái Ngọc Duy
2019-05-29 16:43     ` Eric Sunshine
2019-05-29 16:47     ` Todd Zullinger
2019-05-29 19:54       ` Junio C Hamano
2019-05-29  9:11   ` [PATCH v2 2/3] diff-parseopt: restore -U (no argument) behavior Nguyễn Thái Ngọc Duy
2019-05-29  9:11   ` [PATCH v2 3/3] parse-options: check empty value in OPT_INTEGER and OPT_ABBREV Nguyễn Thái Ngọc Duy
2019-05-29 18:03   ` [PATCH v2 0/3] fix diff-parseopt regressions Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190524173642.GQ3654@pobox.com \
    --to=tmz@pobox.com \
    --cc=avarab@gmail.com \
    --cc=bturner@atlassian.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    --subject='Re: [PATCH 0/3] fix diff-parseopt regressions' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).