Fix the build for Emscripten
authorJosh Peterson <petersonjm1@gmail.com>
Wed, 1 Aug 2018 21:00:56 +0000 (00:00 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 1 Aug 2018 21:00:56 +0000 (00:00 +0300)
(part of commit 0f9ef2d from Unity-Technologies/bdwgc)

Issue #173 (bdwgc).

* mark_rts.c [!CPPCHECK && __GNUC__>=4] (GC_approx_sp): Do not use
__builtin_frame_address if STACK_NOT_SCANNED.

mark_rts.c

index 0cd7696..8ae0fc1 100644 (file)
@@ -484,7 +484,8 @@ STATIC void GC_remove_tmp_roots(void)
 GC_INNER ptr_t GC_approx_sp(void)
 {
     volatile word sp;
-#   if defined(CPPCHECK) || (__GNUC__ >= 4) /* GC_GNUC_PREREQ(4, 0) */
+#   if defined(CPPCHECK) || (__GNUC__ >= 4 /* GC_GNUC_PREREQ(4, 0) */ \
+                             && !defined(STACK_NOT_SCANNED))
         /* TODO: Use GC_GNUC_PREREQ after fixing a bug in cppcheck. */
         sp = (word)__builtin_frame_address(0);
 #   else