summaryrefslogtreecommitdiff
path: root/libc/stdlib/eprintf.c
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2017-12-20 16:34:35 -0500
committerProjectRevoTPP <projectrevotpp@hotmail.com>2017-12-20 16:34:35 -0500
commit48ef7704c03e7e554c05de01bf8d1d70c16cb6f4 (patch)
tree34d52513de6c903b4f52ef87d885c73472daf469 /libc/stdlib/eprintf.c
parentf49e7cbb33e6e27b0ce5eb35244d7241c800a7c1 (diff)
add libc building to agbcc.
Diffstat (limited to 'libc/stdlib/eprintf.c')
-rw-r--r--libc/stdlib/eprintf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/libc/stdlib/eprintf.c b/libc/stdlib/eprintf.c
new file mode 100644
index 0000000..46cf810
--- /dev/null
+++ b/libc/stdlib/eprintf.c
@@ -0,0 +1,26 @@
+/* This is an implementation of the __eprintf function which is
+ compatible with the assert.h which is distributed with gcc.
+
+ This function is provided because in some cases libgcc.a will not
+ provide __eprintf. This will happen if inhibit_libc is defined,
+ which is done because at the time that libgcc2.c is compiled, the
+ correct <stdio.h> may not be available. newlib provides its own
+ copy of assert.h, which calls __assert, not __eprintf. However, in
+ some cases you may accidentally wind up compiling with the gcc
+ assert.h. In such a case, this __eprintf will be used if there
+ does not happen to be one in libgcc2.c. */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+void
+__eprintf (format, file, line, expression)
+ const char *format;
+ const char *file;
+ unsigned int line;
+ const char *expression;
+{
+ (void) fiprintf (stderr, format, file, line, expression);
+ abort ();
+ /*NOTREACHED*/
+}