diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2018-03-01 11:35:41 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2018-03-01 11:35:41 +0300 |
commit | f30a26d5e335be3b84920e2b360b4d09ef83e447 (patch) | |
tree | 704bf94d2f4fd50e8d9ab40f93c1c66af9066bb0 | |
parent | 5af01ec4152c51e33b84c1a35d02dc518a80b897 (diff) | |
download | bdwgc-f30a26d5e335be3b84920e2b360b4d09ef83e447.tar.gz |
Fix linkage of javaxfc.h symbols for the case of compilation as C++ code
Issue #206 (bdwgc).
The functions should be declared (as extern "C") before the definition.
* finalize.c [!GC_NO_FINALIZATION]: Include javaxfc.h.
* pthread_stop_world.c [GC_ENABLE_SUSPEND_THREAD]: Likewise.
-rw-r--r-- | finalize.c | 1 | ||||
-rw-r--r-- | pthread_stop_world.c | 1 |
2 files changed, 2 insertions, 0 deletions
@@ -17,6 +17,7 @@ #include "private/gc_pmark.h" #ifndef GC_NO_FINALIZATION +# include "javaxfc.h" /* to get GC_finalize_all() as extern "C" */ /* Type of mark procedure used for marking from finalizable object. */ /* This procedure normally does not mark the object, only its */ diff --git a/pthread_stop_world.c b/pthread_stop_world.c index 35ca4b05..938a3847 100644 --- a/pthread_stop_world.c +++ b/pthread_stop_world.c @@ -430,6 +430,7 @@ STATIC void GC_restart_handler(int sig) # ifdef GC_ENABLE_SUSPEND_THREAD # include <sys/time.h> +# include "javaxfc.h" /* to get the prototypes as extern "C" */ STATIC void GC_brief_async_signal_safe_sleep(void) { |