1/* ===---------- eprintf.c - Implements __eprintf --------------------------===
2 *
3 *                     The LLVM Compiler Infrastructure
4 *
5 * This file is distributed under the University of Illinois Open Source
6 * License. See LICENSE.TXT for details.
7 *
8 * ===----------------------------------------------------------------------===
9 */
10
11
12
13#include <stdio.h>
14#include <stdlib.h>
15
16
17/*
18 * __eprintf() was used in an old version of <assert.h>.
19 * It can eventually go away, but it is needed when linking
20 * .o files built with the old <assert.h>.
21 *
22 * It should never be exported from a dylib, so it is marked
23 * visibility hidden.
24 */
25__attribute__((visibility("hidden")))
26void __eprintf(const char* format, const char* assertion_expression,
27				const char* line, const char* file)
28{
29	fprintf(stderr, format, assertion_expression, line, file);
30	fflush(stderr);
31	abort();
32}
33