sim: common: replace SIM_FILTER_PATH with lbasename

This helper macro has largely the same behavior as libiberty's lbasename.
There is a slight nuance related to colons, but it's not clear what the
point of that is, and the code implies that it just wants the basename.
This commit is contained in:
Mike Frysinger
2015-06-24 00:36:06 +05:45
parent 8d0978fb4b
commit e750549018
3 changed files with 16 additions and 26 deletions

View File

@ -21,21 +21,6 @@
#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)
/* The subtle difference between SIM_ASSERT and ASSERT is that
SIM_ASSERT passes `sd' to sim_io_error for the SIM_DESC,
ASSERT passes NULL. */
@ -43,6 +28,7 @@ while (0)
#if !defined (SIM_ASSERT)
#if defined (WITH_ASSERT)
#include "sim-io.h"
#include "libiberty.h"
#define SIM_ASSERT(EXPRESSION) \
do \
{ \
@ -51,10 +37,8 @@ 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); \
} \
} \
} \
@ -67,6 +51,7 @@ while (0)
#if !defined (ASSERT)
#if defined (WITH_ASSERT)
#include "sim-io.h"
#include "libiberty.h"
#define ASSERT(EXPRESSION) \
do \
{ \
@ -75,10 +60,8 @@ 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); \
} \
} \
} \