OSDN Git Service

* tree-phinode.c (resize_phi_node): Abort when LEN is strictly
[pf3gnuchains/gcc-fork.git] / gcc / system.h
index ccb3d4b..05b5150 100644 (file)
@@ -303,8 +303,8 @@ extern char *getenv (const char *);
 extern int getopt (int, char * const *, const char *);
 #endif
 
-#if defined(HAVE_DECL_GETPAGESIZE) && !HAVE_DECL_GETPAGESIZE
-extern long getpagesize (void);
+#if defined (HAVE_DECL_GETPAGESIZE) && !HAVE_DECL_GETPAGESIZE
+extern int getpagesize (void);
 #endif
 
 #if defined (HAVE_DECL_GETWD) && !HAVE_DECL_GETWD
@@ -505,9 +505,22 @@ extern int snprintf (char *, size_t, const char *, ...);
 extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
 #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__)
 
+/* Use gcc_assert(EXPR) to test invariants.  */
+#if ENABLE_ASSERT_CHECKING
+#define gcc_assert(EXPR)                                               \
+   ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0))
+#else
+/* Include EXPR, so that unused variable warnings do not occur.  */
+#define gcc_assert(EXPR) ((void)(0 && (EXPR)))
+#endif
+
+/* Use gcc_unreachable() to mark unreachable locations (like an
+   unreachable default case of a switch.  Do not use gcc_assert(0).  */
+#define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__))
+
 /* Provide a fake boolean type.  We make no attempt to use the
    C99 _Bool, as it may not be available in the bootstrap compiler,
-   and even if it is, it is liable to be buggy.  
+   and even if it is, it is liable to be buggy.
    This must be after all inclusion of system headers, as some of
    them will mess us up.  */
 
@@ -600,7 +613,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
        SETUP_INCOMING_VARARGS EXPAND_BUILTIN_SAVEREGS                  \
        DEFAULT_SHORT_ENUMS SPLIT_COMPLEX_ARGS MD_ASM_CLOBBERS          \
        HANDLE_PRAGMA_REDEFINE_EXTNAME HANDLE_PRAGMA_EXTERN_PREFIX      \
-       MUST_PASS_IN_STACK FUNCTION_ARG_PASS_BY_REFERENCE
+       MUST_PASS_IN_STACK FUNCTION_ARG_PASS_BY_REFERENCE               \
+        VECTOR_MODE_SUPPORTED_P TARGET_SUPPORTS_HIDDEN
 
 /* Other obsolete target macros, or macros that used to be in target
    headers and were not used, and may be obsolete or may never have
@@ -638,7 +652,12 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
        DBX_OUTPUT_STANDARD_TYPES BUILTIN_SETJMP_FRAME_VALUE               \
        SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY                      \
        SPACE_AFTER_L_OPTION NO_RECURSIVE_FUNCTION_CSE                     \
-       DEFAULT_MAIN_RETURN TARGET_MEM_FUNCTIONS EXPAND_BUILTIN_VA_ARG
+       DEFAULT_MAIN_RETURN TARGET_MEM_FUNCTIONS EXPAND_BUILTIN_VA_ARG     \
+       COLLECT_PARSE_FLAG DWARF2_GENERATE_TEXT_SECTION_LABEL WINNING_GDB  \
+       ASM_OUTPUT_FILENAME ASM_OUTPUT_SOURCE_LINE FILE_NAME_JOINER        \
+       GDB_INV_REF_REGPARM_STABS_LETTER DBX_MEMPARM_STABS_LETTER          \
+       PUT_SDB_SRC_FILE STABS_GCC_MARKER DBX_OUTPUT_FUNCTION_END          \
+       DBX_OUTPUT_GCC_MARKER DBX_FINISH_SYMBOL SDB_GENERATE_FAKE
 
 /* Hooks that are no longer used.  */
  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE  \