eprintf.c revision 77ed6142daed1e068fbda64405d0de9845e40e1
177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao/* ===---------- eprintf.c - Implements __eprintf --------------------------=== 277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * 377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * The LLVM Compiler Infrastructure 477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * 577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * This file is distributed under the University of Illinois Open Source 677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * License. See LICENSE.TXT for details. 777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * 877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * ===----------------------------------------------------------------------=== 977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao */ 1077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 1177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 1277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 1377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include <stdio.h> 1477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include <stdlib.h> 1577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 1677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao 1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao/* 1877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * __eprintf() was used in an old version of <assert.h>. 1977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * It can eventually go away, but it is needed when linking 2077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * .o files built with the old <assert.h>. 2177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * 2277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * It should never be exported from a dylib, so it is marked 2377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * visibility hidden. 2477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao */ 2577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao__attribute__((visibility("hidden"))) 2677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaovoid __eprintf(const char* format, const char* assertion_expression, 2777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao const char* line, const char* file) 2877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{ 2977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao fprintf(stderr, format, assertion_expression, line, file); 3077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao fflush(stderr); 3177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao abort(); 3277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao} 33