(fix commit
f13a9559)
See issue #132. The reason of compilation failure is GC_INNER macro
used before its definition. The solution is to move
GC_FreeBSDGetDataStart prototype from gcconfig.h to gc_priv.h.
* include/private/gc_priv.h [DATASTART_USES_BSDGETDATASTART]
(GC_FreeBSDGetDataStart): Declare.
* include/private/gc_priv.h [DATASTART_USES_BSDGETDATASTART]
(DATASTART_IS_FUNC): Define macro.
* include/private/gcconfig.h [DATASTART_USES_BSDGETDATASTART]
(GC_FreeBSDGetDataStart, DATASTART_IS_FUNC): Remove.
# if !defined(PCR)
# define NEED_FIND_LIMIT
# endif
+ GC_INNER ptr_t GC_FreeBSDGetDataStart(size_t, ptr_t);
+# define DATASTART_IS_FUNC
#endif /* DATASTART_USES_BSDGETDATASTART */
#if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__) \
# define SUNOS5SIGS
#endif
-#ifdef DATASTART_USES_BSDGETDATASTART
- GC_INNER ptr_t GC_FreeBSDGetDataStart(size_t, ptr_t);
-# define DATASTART_IS_FUNC
-#endif
-
#if !defined(GC_EXPLICIT_SIGNALS_UNBLOCK) && defined(SUNOS5SIGS) \
&& !defined(GC_NO_PTHREAD_SIGMASK)
# define GC_EXPLICIT_SIGNALS_UNBLOCK