threads / bug / 47520

[Bug] NO_INTPTR_T not being honoured in compat/regex/regcomp.c

Subject: [Bug] NO_INTPTR_T not being honoured in compat/regex/regcomp.c

## tl;dr

4 messages between Jan 1, 2018 and Jan 2, 2018.

replies: 3people: 2as markdown or json

Randall S. Becker· Jan 1, 2018, 21:21 UTC · lore
I'm looking for the proper approach for dealing with the following situation
in 2.8.5:
* I have defined NO_INTPTR_T = UnfortunatelyYes in config.mak.uname for my
platform. The c99 compiler I have does not define it.
* The code compiles except for compat/regex/regcomp.c - not sure why this is
being used since I have also *not* defined NO_REGEX because regex is sane
here.
* If I include git-compat-util.h, where intptr_t is defined, in this
compile, loads of other compile problems result.
* To get around the compile problem, I have wrapped the definition of
intptr_t as follows, temporarily, duplicating content from git-compat-util.h
        #include <stdint.h>
        #if defined __TANDEM
        #ifdef NO_INTPTR_T
        typedef long intptr_t;
        typedef unsigned long uintptr_t;
        #endif
        #endif

So the question now is how best to handle this long term. I'm slowly porting up to 2.16 - hoping a week or two until I get there with the mods required and running tests and all. It does not look like the issue of intptr_t is subsequently resolved in regcomp.c (other than #include <stdint.h> being removed), so this is going to continue to haunt me as a problem. There are loads of ways of dealing with it, but I'd like to fix this in a way that best follows the team's standards. So...

1. I'd rather not worry about regcomp.c, but don't know why it's still
somehow required. 
2. git-compat-util.h is pretty heavy just for intptr_t in this module.
Refactoring might be an option.

Thanks, Randall

-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000) -- In my real life, I talk too much.

Eric Sunshine· Jan 1, 2018, 21:51 UTC · re: Randall S. Becker · lore

Re: [Bug] NO_INTPTR_T not being honoured in compat/regex/regcomp.c

On Mon, Jan 1, 2018 at 4:21 PM, Randall S. Becker <rsbecker@nexbridge.com> wrote:

Show 5 quoted lines
> * I have defined NO_INTPTR_T = UnfortunatelyYes in config.mak.uname for my
> platform. The c99 compiler I have does not define it.
> * The code compiles except for compat/regex/regcomp.c - not sure why this is
> being used since I have also *not* defined NO_REGEX because regex is sane
> here.

Presumably you're compiling for NonStop? config.mak.uname defines NO_REGEX for that platform (it also defines NO_INTPTR_T). git-blame points at 6c109904bc (Port to HP NonStop, 2012-09-19).

Randall S. Becker· Jan 1, 2018, 22:12 UTC · re: Eric Sunshine · lore

RE: [Bug] NO_INTPTR_T not being honoured in compat/regex/regcomp.c

On January 1, 2018 4:51 PM Eric Sunshine wrote:
Show 11 quoted lines
> On Mon, Jan 1, 2018 at 4:21 PM, Randall S. Becker
> <rsbecker@nexbridge.com> wrote:
> > * I have defined NO_INTPTR_T = UnfortunatelyYes in config.mak.uname
> > for my platform. The c99 compiler I have does not define it.
> > * The code compiles except for compat/regex/regcomp.c - not sure why
> > this is being used since I have also *not* defined NO_REGEX because
> > regex is sane here.
> 
> Presumably you're compiling for NonStop? config.mak.uname defines
> NO_REGEX for that platform (it also defines NO_INTPTR_T). git-blame points
> at 6c109904bc (Port to HP NonStop, 2012-09-19).
I got rid of that entry 3 years ago but did not contribute the updates because there are many other platform dependencies including FLOSS. Caution: that particular commit is not usable or useful on current NonStop operating systems.
Randall S. Becker· Jan 2, 2018, 23:08 UTC · re: Eric Sunshine · lore

RE: [Bug] NO_INTPTR_T not being honoured in compat/regex/regcomp.c

On January 1, 2018 4:51 PM Eric Sunshine wrote:
Show 11 quoted lines
> On Mon, Jan 1, 2018 at 4:21 PM, Randall S. Becker
> <rsbecker@nexbridge.com> wrote:
> > * I have defined NO_INTPTR_T = UnfortunatelyYes in config.mak.uname
> > for my platform. The c99 compiler I have does not define it.
> > * The code compiles except for compat/regex/regcomp.c - not sure why
> > this is being used since I have also *not* defined NO_REGEX because
> > regex is sane here.
> 
> Presumably you're compiling for NonStop? config.mak.uname defines
> NO_REGEX for that platform (it also defines NO_INTPTR_T). git-blame points
> at 6c109904bc (Port to HP NonStop, 2012-09-19).
I found one teeny thing. NO_REGEX=NeedsStartEnd is what should be in config.mak.uname to get it right rather than ignoring NO_REGEX completely. I will commit that after my porting adventure. This still requires regcomp.c to be used and misses intptr_t, so still looking for a solution. I'm also currently at commit 7234152 and dealing with a bunch of new dependencies that weren't there at 2.8.5.

Cheers, Randall

-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000) -- In my real life, I talk too much.

← back to recent threads