/* #include <unistd.h> */
-#if !defined(DBG_HDRS_ALL) || (ALIGNMENT != CPP_WORDSZ/8) /* || !defined(UNIX_LIKE) */
+#if (!defined(DBG_HDRS_ALL) || (ALIGNMENT != CPP_WORDSZ/8) \
+ /* || !defined(UNIX_LIKE) */) && !defined(CPPCHECK)
# error The configuration does not support MAKE_BACK_GRAPH
#endif
#endif
#if defined(KEEP_BACK_PTRS) || defined(MAKE_BACK_GRAPH)
-# ifdef SHORT_DBG_HDRS
+# if defined(SHORT_DBG_HDRS) && !defined(CPPCHECK)
# error Non-ptr stored in object results in GC_HAS_DEBUG_INFO malfunction
/* We may mistakenly conclude that p has a debugging wrapper. */
# endif
/* only if AO_REQUIRE_CAS is defined (or if the corresponding */
/* AO_HAVE_x macro is defined). x86/x64 targets have AO_nop_full, */
/* AO_load_acquire, AO_store_release, at least. */
-# if !defined(AO_HAVE_load) || !defined(AO_HAVE_store)
+# if (!defined(AO_HAVE_load) || !defined(AO_HAVE_store)) && !defined(CPPCHECK)
# error AO_load or AO_store is missing; probably old version of atomic_ops
# endif
#ifndef GC_HEADERS_H
#define GC_HEADERS_H
-#if CPP_WORDSZ != 32 && CPP_WORDSZ < 36
+#if CPP_WORDSZ != 32 && CPP_WORDSZ < 36 && !defined(CPPCHECK)
# error Get a real machine
#endif
# define CPP_LOG_HBLKSIZE 13
# elif HBLKSIZE == 16384
# define CPP_LOG_HBLKSIZE 14
-# else
-# error fix HBLKSIZE
+# elif !defined(CPPCHECK)
+# error Bad HBLKSIZE value
# endif
# undef HBLKSIZE
#endif
# define OS_TYPE "LINUX"
# ifdef __ELF__
# define DYNAMIC_LOADING
-# else
-# error --> Linux SPARC a.out not supported
+# elif !defined(CPPCHECK)
+# error Linux SPARC a.out not supported
# endif
extern int _end[];
extern int _etext[];
# ifdef I386
# define MACH_TYPE "I386"
-# if defined(__LP64__) || defined(_WIN64)
+# if (defined(__LP64__) || defined(_WIN64)) && !defined(CPPCHECK)
# error This should be handled as X86_64
# else
# define CPP_WORDSZ 32
/* Requires 8 byte alignment for malloc */
# define ALIGNMENT 4
# else
-# ifndef _LP64
-# error --> unknown ABI
+# if !defined(_LP64) && !defined(CPPCHECK)
+# error Unknown ABI
# endif
# define CPP_WORDSZ 64
/* Requires 16 byte alignment for malloc */
#if defined(CPPCHECK)
# undef CPP_WORDSZ
# define CPP_WORDSZ (__SIZEOF_POINTER__ * 8)
-#endif
-
-#if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
-# error --> bad word size
+#elif CPP_WORDSZ != 32 && CPP_WORDSZ != 64
+# error Bad word size
#endif
#if !defined(ALIGNMENT) && !defined(CPPCHECK)