git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 10/11] Fix warnings in nedmalloc when compiling with GCC 4.4.0

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jun 1, 2009, 08:57 UTC
Message-ID
<alpine.DEB.1.00.0906011054410.26154@pacific.mpi-cbg.de>
In-Reply-To
<7vhbz0mmai.fsf@alter.siamese.dyndns.org>
Hi,
On Mon, 1 Jun 2009, Junio C Hamano wrote:
Show 20 quoted lines
> Steffen Prohaska <prohaska@zib.de> writes:
> 
> > @@ -2541,7 +2543,7 @@ struct malloc_params {
> >  static struct malloc_params mparams;
> >  
> >  /* Ensure mparams initialized */
> > -#define ensure_initialization() (mparams.magic != 0 || init_mparams())
> > +#define ensure_initialization() if (mparams.magic == 0) init_mparams()
> >  
> >  #if !ONLY_MSPACES
> 
> The code after the patch looks more fragile than the original.  I know
> there currently is no code like:
> 
> 	if (foo())
>         	ensure_initialization();
> 	else
>         	warn("oops");
> 
> but this change still feels wrong.

I know, but the whole use of ensure_initialization() feels wrong to me, and I did _not_ want to change the code too much, lest we end up maintaining a proper fork as has happened with libxdiff.

> What issue is this patch trying to work around?  Returned value not 
> being used?

I forgot what the GCC warning looked like, and have only text-mode access to the web right now, so I cannot access any Windows machine and try again.

It was a warning, though, that much I remember.
Show 15 quoted lines
> > diff --git a/compat/nedmalloc/nedmalloc.c b/compat/nedmalloc/nedmalloc.c
> > index a381a7d..60a4093 100644
> > --- a/compat/nedmalloc/nedmalloc.c
> > +++ b/compat/nedmalloc/nedmalloc.c
> > @@ -34,7 +34,7 @@ DEALINGS IN THE SOFTWARE.
> >  /*#define FULLSANITYCHECKS*/
> >  
> >  #include "nedmalloc.h"
> > -#if defined(WIN32) && !defined(__MINGW32__)
> > +#if defined(WIN32)
> >   #include <malloc.h>
> >  #endif
> 
> Can somebody enlighten me what this hunk is about, and how it helps GCC
> 4.4?

It helps in that malloc.h is included even if we happen to compile the stuff as a MinGW program. Otherwise necessary function declarations are missing.

Show 10 quoted lines
> There are many "#if[n]def __MINGW32__" remaining in the codebase both
> inside and outside compat/ area, so it is not that that symbol is somehow
> special.  I cannot even tell which one of the following is closer to the
> reason behind this change:
> 
>  (1) "Because tacking '&& !defined(__MINGW32__)' after defined(WIN32) is
>      unnecessary for such and such reasons, it is removed"; or
> 
>  (2) "Because tacking '&& !defined(__MINGW32__)' after defined(WIN32) is
>      harmful for such and such reasons, it is removed".
The latter.
> Puzzled.
Hopefully less so, now.

Ciao, Dscho

Previous: Junio C HamanoNext: Junio C Hamano
Message 23 of 37 in “Various msysgit patches”
  1. 00/11 Various msysgit patchesSteffen Prohaska, May 31, 2009
  2. 01/11 MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymoreSteffen Prohaska, May 31, 2009
  3. 02/11 Quiet make: do not leave Windows behindSteffen Prohaska, May 31, 2009
  4. 03/11 Work around a regression in Windows 7, causing erase_in_line() to crash sometimesSteffen Prohaska, May 31, 2009
  5. 04/11 test-chmtime: work around Windows limitationSteffen Prohaska, May 31, 2009
  6. 05/11 winansi: fix compile warningsSteffen Prohaska, May 31, 2009
  7. 06/11 git: browsing paths with spaces when using the start commandSteffen Prohaska, May 31, 2009
  8. 07/11 connect.c: Support PuTTY plink and TortoisePlink as SSH on WindowsSteffen Prohaska, May 31, 2009
  9. 08/11 MinGW readdir reimplementation to support d_typeSteffen Prohaska, May 31, 2009
  10. Johannes SixtMay 31, 2009
  11. Johannes SixtMay 31, 2009
  12. 05/11 MinGW: fix warning about implicit declaration of _getch()Steffen Prohaska, Jun 1, 2009
  13. 03/11 Work around a regression in Windows 7, causing erase_in_line() to crash sometimesSteffen Prohaska, Jun 1, 2009
  14. Johannes SchindelinJun 1, 2009
  15. Steffen ProhaskaJun 1, 2009
  16. Johannes SchindelinJun 1, 2009
  17. Junio C HamanoJun 1, 2009
  18. Johannes SchindelinJun 1, 2009
  19. Johannes SixtMay 31, 2009
  20. 10/11 Fix warnings in nedmalloc when compiling with GCC 4.4.0Steffen Prohaska, May 31, 2009
  21. 11/11 MinGW: Teach Makefile to detect msysgit and apply specific settingsSteffen Prohaska, May 31, 2009
  22. Junio C HamanoJun 1, 2009
  23. Johannes SchindelinJun 1, 2009
  24. Junio C HamanoJun 1, 2009
  25. GeunSik LimJun 1, 2009
  26. Johannes SchindelinJun 2, 2009
  27. Junio C HamanoJun 2, 2009
  28. Johannes SchindelinJun 3, 2009
  29. Junio C HamanoJun 3, 2009
  30. 10/11 Fix warnings in nedmalloc when compiling with GCC 4.4.0Johannes Schindelin, Jun 8, 2009
  31. Junio C HamanoJun 8, 2009
  32. Johannes SixtJun 8, 2009
  33. Steffen ProhaskaJun 9, 2009
  34. Johannes SixtJun 10, 2009
  35. Fix typo in nedmalloc warning fixJohannes Sixt, Jun 11, 2009
  36. compat/ has subdirectories: do not omit them in 'make clean'Johannes Sixt, Jun 11, 2009
  37. Johannes SchindelinJun 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.