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