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

Re: [PATCH] compat/regex: fix compilation on Windows

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
May 12, 2017, 21:02 UTC
Message-ID
<413493c2-24ee-e085-f4cc-371b677d2d02@ramsayjones.plus.com>
In-Reply-To
<alpine.DEB.2.21.1.1705121219150.146734@virtualbox>
On 12/05/17 11:25, Johannes Schindelin wrote:
Show 45 quoted lines
> Hi Junio,
> 
> On Fri, 12 May 2017, Junio C Hamano wrote:
> 
>> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
>>
>>> The real issue here is that GNU awk's regex implementation assumes a
>>> bit too much about the relative sizes of pointers and long integers.
>>> What they really want is to use intptr_t.
>>
>> Good.  I got annoyed enough to do the same myself before opening my
>> mailbox.  One thing that is curious about your version is that it still
>> has "#include <stdint.h>" behind HAVE_STDINT_H; when I tried to compile
>> an equivalent of your change last night, the compilation failed because
>> intptr_t wasn't available without exposing <stdint.h>
>>
>> Where is Windows build getting its intptr_t, I wonder.
> 
> I'd place a bet on this part of compat/mingw.h for GCC builds:
> 
> 	#ifdef __MINGW64_VERSION_MAJOR
> 	#include <stdint.h>
> 	#include <wchar.h>
> 	typedef _sigset_t sigset_t;
> 	#endif
> 
> and on this part of git-compat-util.h for MSVC builds:
> 
> 	#ifndef NO_INTTYPES_H
> 	#include <inttypes.h>
> 	#else
> 	#include <stdint.h>
> 	#endif
> 
> For the record, it seems that our current version of compat/regex/regex.c
> has this:
> 
> 	/* On some systems, limits.h sets RE_DUP_MAX to a lower value than
> 	   GNU regex allows.  Include it before <regex.h>, which correctly
> 	   #undefs RE_DUP_MAX and sets it to the right value.  */
> 	#include <limits.h>
> 	#include <stdint.h>
> 
> while the one in `pu` lacks the last line. That may be the reason why
> things compiled neatly before, and stopped working for you now.
Yep, see commit bd8f005583. ;-P

So, sparse is, once again, complaining about the SIZE_MAX macro redefinition. (Along with two other warnings, one of which is a _very_ long standing warning and one of which is new - I have yet to investigate).

ATB, Ramsay Jones

Previous: Johannes SchindelinNext: Junio C Hamano
Message 5 of 10 in “compat/regex: fix compilation on Windows”
  1. compat/regex: fix compilation on WindowsJohannes Schindelin, May 11, 2017
  2. Ævar Arnfjörð BjarmasonMay 11, 2017
  3. Junio C HamanoMay 12, 2017
  4. Johannes SchindelinMay 12, 2017
  5. Ramsay JonesMay 12, 2017
  6. Junio C HamanoMay 12, 2017
  7. Ævar Arnfjörð BjarmasonMay 12, 2017
  8. Johannes SchindelinMay 13, 2017
  9. Ævar Arnfjörð BjarmasonMay 13, 2017
  10. Junio C HamanoMay 15, 2017

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.