Re: dfa MT-safe?

2019-12-14 Thread Bruno Haible
Paul Eggert wrote: > Is the fix to call uselocale (0) rather than setlocale (LC_ALL, NULL), on > platforms that have uselocale? It's an interesting thought. But * In order to get the global locale, you would need to do three calls to uselocale: locale_t loc = uselocale (NULL); lo

Re: intptr_t vs. uintptr_t

2019-12-14 Thread Bruno Haible
Hi Paul, > I installed the attached into the Emacs Lisp reference manual to try to > capture > that advice. Thanks. This is better. But the advice can be simplified: If pointer arithmetic is involved, uintptr_t is better suited than intptr_t. And if pointer arithmetic is not involved, uintptr_t

Re: intptr_t vs. uintptr_t

2019-12-14 Thread Paul Eggert
On 12/14/19 1:14 AM, Bruno Haible wrote: > Suppose that we have an array that extends from 0x7fff8000 to 0x80003fff Ah, I hadn't thought about that. Thanks for mentioning it. With Emacs's use of intptr_t this should not be an issue, since Emacs either does no arithmetic on intptr_t values, or doe

Re: dfa MT-safe?

2019-12-14 Thread Paul Eggert
On 12/14/19 3:43 AM, Bruno Haible wrote: > If the 'dfa' module supposed to be multithread-safe? Yes it is supposed to be. Is the fix to call uselocale (0) rather than setlocale (LC_ALL, NULL), on platforms that have uselocale?

Re: IBM z/OS compatibility issues - pthread

2019-12-14 Thread Bruno Haible
On Freitag, 13. Dezember 2019 16:10:21 CET Daniel Richard G. wrote: > Hi Bruno, > > On Fri, 2019 Dec 13 07:43-05:00, Bruno Haible wrote: > > > > > I don't see "PTHREAD_RWLOCK_INITIALIZER_NP" anywhere in a clean Gnulib > > > tree, so I'm not sure how this could already be addressed... > > > > The

Re: IBM z/OS compatibility issues - per-thread locale functions

2019-12-14 Thread Bruno Haible
On Freitag, 13. Dezember 2019 15:33:42 CET Daniel Richard G. wrote: > On Fri, 2019 Dec 13 05:32-05:00, Bruno Haible wrote: > > > > This should fix it. Thanks for the feedback. > > Arrrgh, not quite there yet >_< > > Tested Git 83710ffa. test-locale now builds, but test-duplocale still > does no

Re: IBM z/OS compatibility issues

2019-12-14 Thread Bruno Haible
Hi Daniel, > > - Put the xlc-wrap logic into the 'compile' script. We should not > > have two different compile scripts, one for MSVC and one for z/OS. > > A single script should do it. > > This sounds good. It would imply broadening the scope of the script > beyond just working around

dfa MT-safe?

2019-12-14 Thread Bruno Haible
Hi Paul, Arnold, Jim, If the 'dfa' module supposed to be multithread-safe? I'm asking because dfa.c invokes setlocale (LC_ALL, NULL), and I've found out that this call is not MT-safe on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin, MSVC. I'm working on a fix and would like to

Re: intptr_t vs. uintptr_t

2019-12-14 Thread Bruno Haible
Hi Paul, > > "Prefer intptr_t for internal representations of pointers" > > > > I disagree with this advice. uintptr_t ought to be used for representing the > > address of a pointer. > > It depends on the application. For example, with two char * pointers P and Q > into an array, it can be hel