1/* ===---------- eprintf.c - Implements __eprintf --------------------------=== 2 * 3 * The LLVM Compiler Infrastructure 4 * 5 * This file is dual licensed under the MIT and the University of Illinois Open 6 * Source Licenses. See LICENSE.TXT for details. 7 * 8 * ===----------------------------------------------------------------------=== 9 */ 10 11 12 13#include "int_lib.h" 14#include <stdio.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#ifndef _WIN32 26__attribute__((visibility("hidden"))) 27#endif 28COMPILER_RT_ABI void 29__eprintf(const char* format, const char* assertion_expression, 30 const char* line, const char* file) 31{ 32 fprintf(stderr, format, assertion_expression, line, file); 33 fflush(stderr); 34 compilerrt_abort(); 35} 36