From git Sun Aug 03 19:55:28 2008 From: Johannes Sixt Date: Sun, 03 Aug 2008 19:55:28 +0000 To: git Subject: Re: [PATCH] Modify mingw_main() workaround to avoid link errors Message-Id: <1217793328.48960d306d2b7 () webmail ! nextra ! at> X-MARC-Message: https://marc.info/?l=git&m=121779334930198 Zitat von Steffen Prohaska : > With MinGW's > > gcc.exe (GCC) 3.4.5 (mingw special) > GNU ld version 2.17.50 20060824 > > the old define caused link errors: > > git.o: In function `main': > C:/msysgit/git/git.c:500: undefined reference to `mingw_main' > collect2: ld returned 1 exit status > > The modified define works. > > Signed-off-by: Steffen Prohaska Acked-by: Johannes Sixt I was not aware that my version (block-scoped static function forward declaration) is not valid C. Thanks, Björn, for pointing out the gcc bugzilla entries. -- Hannes > --- > compat/mingw.h | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/compat/mingw.h b/compat/mingw.h > index 290a9e6..a52e657 100644 > --- a/compat/mingw.h > +++ b/compat/mingw.h > @@ -228,9 +228,10 @@ char **env_setenv(char **env, const char *name); > * A replacement of main() that ensures that argv[0] has a path > */ > > -#define main(c,v) main(int argc, const char **argv) \ > +#define main(c,v) dummy_decl_mingw_main(); \ > +static int mingw_main(); \ > +int main(int argc, const char **argv) \ > { \ > - static int mingw_main(); \ > argv[0] = xstrdup(_pgmptr); \ > return mingw_main(argc, argv); \ > } \ > -- > 1.6.0.rc0.42.g186458 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html