[newlib-cygwin/main] Cygwin: regex: NONCHAR: re-add cast to int

Corinna Vinschen corinna@sourceware.org
Thu Mar 16 12:55:06 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2285cf0d1ccd783cedc46463fe5c7cc55c6e29a4

commit 2285cf0d1ccd783cedc46463fe5c7cc55c6e29a4
Author:     Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Thu Mar 16 13:47:07 2023 +0100
Commit:     Corinna Vinschen <corinna@vinschen.de>
CommitDate: Thu Mar 16 13:47:10 2023 +0100

    Cygwin: regex: NONCHAR: re-add cast to int
    
    wint_t is unsigned int and the test checks for a negative value.  Thus,
    it's optimized out by gcc.  Add the cast from commit 44caccfca2433 to
    avoid this.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/regex/engine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/winsup/cygwin/regex/engine.c b/winsup/cygwin/regex/engine.c
index 77e7007bb1fa..5e12ab7f3735 100644
--- a/winsup/cygwin/regex/engine.c
+++ b/winsup/cygwin/regex/engine.c
@@ -119,7 +119,7 @@ static states step(struct re_guts *g, sopno start, sopno stop, states bef, wint_
 #define	EOW	(BOL-5)
 #define	BADCHAR	(BOL-6)
 #define	NWBND	(BOL-7)
-#define	NONCHAR(c)	((c) <= OUT)
+#define	NONCHAR(c)	((int)(c) <= OUT)
 /* sflags */
 #define	SBOS	0x0001
 #define	SEOS	0x0002


More information about the Cygwin-cvs mailing list