/* This file is part of the program GDB.
- Copyright (C) 1997, Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
-#ifndef _SIM_ASSERT_H_
-#define _SIM_ASSERT_H_
-
-#define SIM_FILTER_PATH(FILE, PATH) \
-do \
- { \
- /* strip leading path */ \
- const char *p = (PATH); \
- (FILE) = p; \
- while (*p != '\0' && *p != ':') \
- { \
- if (*p == '/') \
- (FILE) = p + 1; \
- p++; \
- } \
- } \
-while (0)
+#ifndef SIM_ASSERT_H
+#define SIM_ASSERT_H
/* The subtle difference between SIM_ASSERT and ASSERT is that
SIM_ASSERT passes `sd' to sim_io_error for the SIM_DESC,
#if !defined (SIM_ASSERT)
#if defined (WITH_ASSERT)
+#include "sim-io.h"
+#include "libiberty.h"
#define SIM_ASSERT(EXPRESSION) \
do \
{ \
if (!(EXPRESSION)) \
{ \
/* report the failure */ \
- const char *file; \
- SIM_FILTER_PATH(file, __FILE__); \
sim_io_error (sd, "%s:%d: assertion failed - %s", \
- file, __LINE__, #EXPRESSION); \
+ lbasename (__FILE__), __LINE__, #EXPRESSION); \
} \
} \
} \
#if !defined (ASSERT)
#if defined (WITH_ASSERT)
+#include "sim-io.h"
+#include "libiberty.h"
#define ASSERT(EXPRESSION) \
do \
{ \
if (!(EXPRESSION)) \
{ \
/* report the failure */ \
- const char *file; \
- SIM_FILTER_PATH(file, __FILE__); \
sim_io_error (NULL, "%s:%d: assertion failed - %s", \
- file, __LINE__, #EXPRESSION); \
+ lbasename (__FILE__), __LINE__, #EXPRESSION); \
} \
} \
} \