]> granicus.if.org Git - gc/commitdiff
Fix 'unknown type name GC_INNER' compilation error (FreeBSD)
authorIvan Maidanski <ivmai@mail.ru>
Mon, 8 Aug 2016 18:49:20 +0000 (21:49 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 9 Aug 2016 07:58:19 +0000 (10:58 +0300)
(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.

include/private/gc_priv.h
include/private/gcconfig.h

index 3d68b54a916607ca78ddb038ce674d3d9c9dda0c..b1efa4cf169a5fd09ca8a9d72a8488aea7ad03af 100644 (file)
@@ -2500,6 +2500,8 @@ GC_INNER ptr_t GC_store_debug_info(ptr_t p, word sz, const char *str,
 # 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__) \
index 59216ed87e7e03b6536f0a847feb586908048e25..80920e5af570a25d17eb23e84320cd85a4c0bb15 100644 (file)
 # 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