On 2015-04-24 15:48, Matt Gushee wrote:
> Anyone know why this would happen?

Yes, I've also run into this issue recently. `getc_unlocked` is used
when the compiler defines `_POSIX_C_SOURCE >= 199506L`. This appears to
be one standard too early, but even after adjusting the relevant #ifdef
to check for the POSIX.1-2001 standard (in which this feature was
specified) the build still fails.

So, I guess MinGW is claiming POSIX.1-2001 but not providing
`getc_unlocked`, so we'll probably have to add a workaround.

In the meantime, try the attached patch.

Cheers,

Evan
>From f4be94bda231ed14ce375c958d3b68bb03a3f620 Mon Sep 17 00:00:00 2001
From: Evan Hanson <ev...@foldling.org>
Date: Sat, 25 Apr 2015 10:16:39 +1200
Subject: [PATCH] Disable getc_unlocked

---
 chicken.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/chicken.h b/chicken.h
index 69e0b95..5204385 100644
--- a/chicken.h
+++ b/chicken.h
@@ -976,11 +976,7 @@ DECL_C_PROC_p0 (128,  1,0,0,0,0,0,0,0)
 # define C_fputs                    fputs
 # define C_fputc                    fputc
 # define C_putchar                  putchar
-# if (defined getc_unlocked || _POSIX_C_SOURCE >= 199506L)
-#  define C_getc                    getc_unlocked
-# else
-#  define C_getc                    getc
-# endif
+# define C_getc                     getc
 # define C_fgetc                    fgetc
 # define C_fgets                    fgets
 # define C_ungetc                   ungetc
-- 
2.1.4

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to