sim: common: replace SIM_FILTER_PATH with lbasename
authorMike Frysinger <vapier@gentoo.org>
Tue, 23 Jun 2015 18:51:06 +0000 (00:36 +0545)
committerMike Frysinger <vapier@gentoo.org>
Tue, 23 Jun 2015 19:07:38 +0000 (15:07 -0400)
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.

sim/common/ChangeLog
sim/common/sim-assert.h
sim/common/sim-events.c

index 1a67e5d..c436b91 100644 (file)
@@ -1,3 +1,13 @@
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-assert.h (SIM_FILTER_PATH): Delete.
+       [!SIM_ASSERT, WITH_ASSERT]: Include libiberty.h.
+       (SIM_ASSERT): Replace SIM_FILTER_PATH with lbasename.
+       [!ASSERT, WITH_ASSERT]: Include libiberty.h.
+       (ASSERT): Replace SIM_FILTER_PATH with lbasename.
+       * sim-events.c: Include libiberty.h.
+       (ETRACE): Replace SIM_FILTER_PATH with lbasename.
+
 2015-06-23  Mike Frysinger  <vapier@gentoo.org>
 
        * acinclude.m4 (AC_ARG_ENABLE(sim-bswap)): Call AS_HELP_STRING.
index e7ccd52..9118bdc 100644 (file)
 #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); \
           } \
       } \
   } \
index fc52575..c4c7660 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "sim-main.h"
 #include "sim-assert.h"
+#include "libiberty.h"
 
 #ifdef HAVE_STRING_H
 #include <string.h>
@@ -147,11 +148,7 @@ do \
     if (STRACE_EVENTS_P (sd)) \
       { \
         if (STRACE_DEBUG_P (sd)) \
-         { \
-           const char *file; \
-           SIM_FILTER_PATH (file, __FILE__); \
-           trace_printf (sd, NULL, "%s:%d: ", file, __LINE__); \
-         } \
+         trace_printf (sd, NULL, "%s:%d: ", lbasename (__FILE__), __LINE__); \
         trace_printf  ARGS; \
       } \
   } \