OSDN Git Service

(fold, COND_EXPR case): All simplified results
[pf3gnuchains/gcc-fork.git] / gcc / assert.h
index 7d1c5f8..4efbab9 100644 (file)
   ((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__)))
 
 #define __assert(expression, file, lineno)  \
-  (printf ("%s:%d: failed assertion\n", file, lineno), \
+  (printf ("%s:%u: failed assertion\n", file, lineno), \
    abort (), 0)
 
 #else
-void __eprintf ();             /* Defined in libgcc.a */
 
-#ifdef __STDC__
+#if defined(__STDC__) || defined (__cplusplus)
+
+/* Defined in libgcc.a */
+#ifdef __cplusplus
+extern "C" {
+extern void __eprintf (const char *, const char *, unsigned, const char *);
+}
+#else
+extern void __eprintf (const char *, const char *, unsigned, const char *);
+#endif
 
 #define assert(expression)  \
   ((void) ((expression) ? 0 : __assert (#expression, __FILE__, __LINE__)))
 
 #define __assert(expression, file, line)  \
-  (__eprintf ("%s:%d: failed assertion `%s'\n",                \
+  (__eprintf ("%s:%u: failed assertion `%s'\n",                \
              file, line, expression), 0)
 
-#else /* no __STDC__; i.e. -traditional.  */
+#else /* no __STDC__ and not C++; i.e. -traditional.  */
+
+extern void __eprintf (); /* Defined in libgcc.a */
 
 #define assert(expression)  \
   ((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__)))
 
 #define __assert(expression, file, lineno)  \
-  (__eprintf ("%s:%d: failed assertion `%s'\n",                \
+  (__eprintf ("%s:%u: failed assertion `%s'\n",                \
              file, lineno, "expression"), 0)
 
-#endif /* no __STDC__; i.e. -traditional.  */
+#endif /* no __STDC__ and not C++; i.e. -traditional.  */
 #endif /* no __GNU__; i.e., /bin/cc.  */
 #endif