/*
- * Project: libFIRM
- * File name: ir/common/error.h
- * Purpose: Error handling for libFirm
- * Author: Michael Beck
- * Modified by:
- * Created:
- * CVS-ID: $Id$
- * Copyright: (C) 1998-2006 Universität Karlsruhe
- * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
*/
-#ifndef _ERROR_H_
-#define _ERROR_H_
+
+/**
+ * @file
+ * @brief Error handling for libFirm
+ * @author Michael Beck
+ */
+#ifndef FIRM_COMMON_ERROR_H
+#define FIRM_COMMON_ERROR_H
/**
* @file error.h
/**
* Prints a panic message to stderr and exits.
*/
-NORETURN panic(const char *fmt, ...);
+NORETURN panic(char const *file, int line, char const *func, char const *fmt, ...);
+
+#define panic(...) panic(__FILE__, __LINE__, __func__, __VA_ARGS__)
-# endif /*_ERROR_H_ */
+# endif