GC_push_one(state.THREAD_FLD(fp));
GC_push_one(state.THREAD_FLD(lr));
+# elif defined(CPPCHECK)
+ lo = NULL;
# else
# error FIXME for non-x86 || ppc || arm architectures
# endif
&& !(defined(FREEBSD) && defined(__ELF__)) \
&& !((defined(LINUX) || defined(NACL)) && defined(__ELF__)) \
&& !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) \
- && !(defined(OPENBSD) && (defined(__ELF__) || defined(M68K)))
+ && !(defined(OPENBSD) && (defined(__ELF__) || defined(M68K))) \
+ && !defined(CPPCHECK)
# error We only know how to find data segments of dynamic libraries for above.
# error Additional SVR4 variants might not be too hard to add.
#endif
# if defined(SOLARISDL)
/* Add dynamic library data sections to the root set. */
-# if !defined(PCR) && !defined(GC_SOLARIS_THREADS) && defined(THREADS)
+# if !defined(PCR) && !defined(GC_SOLARIS_THREADS) && defined(THREADS) \
+ && !defined(CPPCHECK)
# error Fix mutual exclusion with dlopen
# endif
# define GC_THREAD_STATE_T arm_thread_state64_t
# define GC_MACH_THREAD_STATE ARM_THREAD_STATE64
# define GC_MACH_THREAD_STATE_COUNT ARM_THREAD_STATE64_COUNT
-# else
+# elif !defined(CPPCHECK)
# error define GC_THREAD_STATE_T
# endif
# ifndef GC_MACH_THREAD_STATE
# define INCLUDE_LINUX_THREAD_DESCR
#endif
+#if !defined(CPPCHECK)
#if defined(GC_IRIX_THREADS) && !defined(IRIX5)
# error --> inconsistent configuration
#endif
&& !defined(MSWINCE)
# error --> inconsistent configuration
#endif
+#endif /* !CPPCHECK */
#if defined(PCR) || defined(GC_WIN32_THREADS) || defined(GC_PTHREADS) \
|| defined(SN_TARGET_PS3)
# define THREADS
#endif
-#if defined(PARALLEL_MARK) && !defined(THREADS)
+#if defined(PARALLEL_MARK) && !defined(THREADS) && !defined(CPPCHECK)
# error "invalid config - PARALLEL_MARK requires GC_THREADS"
#endif
#endif
/* Some static sanity tests. */
+#if !defined(CPPCHECK)
#if defined(MARK_BIT_PER_GRANULE) && defined(MARK_BIT_PER_OBJ)
# error Define only one of MARK_BIT_PER_GRANULE and MARK_BIT_PER_OBJ.
#endif
&& !defined(REDIRECT_MALLOC_IN_HEADER)
# error "REDIRECT_MALLOC with THREADS works at most on Linux."
#endif
+#endif /* !CPPCHECK */
#ifdef GC_PRIVATE_H
/* This relies on some type definitions from gc_priv.h, from */
ptr_t p;
ptr_t lim;
word descr;
+
+# if !defined(CPPCHECK)
# error This code was updated without testing.
# error and its precursor was clearly broken.
-
+# endif
hhdr = HDR(h);
descr = hhdr -> hb_descr;
sz = hhdr -> hb_sz;
PUSH4(IntA0,IntA1,IntA2,IntA3), PUSH4(IntA4,IntA5,IntT8,IntT9);
PUSH4(IntT10,IntT11,IntT12,IntAt);
sp = (ptr_t)context.IntSp;
-# else
+# elif !defined(CPPCHECK)
# error "architecture is not supported"
# endif
} /* ! current thread */