Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / generic / vfatal.c
CommitLineData
920dae64
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: vfatal.c
5* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
7*
8* The above named program is free software; you can redistribute it and/or
9* modify it under the terms of the GNU General Public
10* License version 2 as published by the Free Software Foundation.
11*
12* The above named program is distributed in the hope that it will be
13* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15* General Public License for more details.
16*
17* You should have received a copy of the GNU General Public
18* License along with this work; if not, write to the Free Software
19* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
20*
21* ========== Copyright Header End ============================================
22*/
23/*
24 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
25 * Use is subject to license terms.
26 */
27
28#pragma ident "@(#)vfatal.c 1.7 06/04/26 SMI"
29
30#include <stdarg.h>
31#include <stdio.h>
32#include <errno.h>
33#include <string.h>
34#include <stdlib.h>
35
36#include "basics.h"
37#include "fatal.h"
38
39
40void vfatal(bool_t really_quit, char * fmt, va_list args)
41{
42 char * quit = really_quit ? "fatal" : "warning";
43
44 if (errno != 0) {
45 fprintf(stderr,"%s error: %s : ",quit,strerror(errno));
46 } else {
47 fprintf(stderr,"%s: ",quit);
48 }
49 vfprintf(stderr,fmt,args);
50 fprintf(stderr,"\n");
51
52 if (really_quit) exit(1);
53}