Define 'EXTERN' for simulation internals

Message ID 5ab5d5d2-7c79-07b1-6180-15a7542dc567@ericsson.com
State New, archived
Headers

Commit Message

Simon Marchi Jan. 15, 2019, 10:47 p.m. UTC
  On 2019-01-15 5:32 p.m., Павел Крюков wrote:
> Yes, it would be fine as well.

Thanks, I pushed this.

From dc7e818497f0af0a3ee569f6eee0ad74e19b4bc2 Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue, 15 Jan 2019 17:45:39 -0500
Subject: [PATCH] sim: Fix definition of SIM_ARANGE_INLINE
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If HAVE_INLINE is false, SIM_ARANGE_INLINE is currently defined as

    #define SIM_ARANGE_INLINE EXTERN

However, EXTERN is not defined anywhere, leading to errors such as:

    In file included from
    /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0,
                     from /mipt-mips/simulator/export/gdb/sim-main.h:13,
                     from /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7:
    /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: ‘EXTERN’
    does not name a type; did you mean ‘EUSERS’?
     #define SIM_ARANGE_INLINE EXTERN
                               ^
    /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in expansion
    of macro ‘SIM_ARANGE_INLINE’
     SIM_ARANGE_INLINE int
     ^~~~~~~~~~~~~~~~~

I (Simon) have reproduced the problem by simply removing the HAVE_INLINE
definition.  This was originally reported by Pavel I. Kryukov
<kryukov@frtk.ru>.

sim/common/ChangeLog:

	* sim-arange.h (SIM_ARANGE_INLINE): Change EXTERN to extern.
---
 sim/common/ChangeLog    | 4 ++++
 sim/common/sim-arange.h | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

-- 
2.20.1
  

Patch

diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 01ee122b019..a95735a4793 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,7 @@ 
+2019-01-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* sim-arange.h (SIM_ARANGE_INLINE): Change EXTERN to extern.
+
 2018-12-18  Andrew Burgess  <andrew.burgess@embecosm.com>

 	* sim-syscall.c (sim_syscall_multi): Don't update sc->errcode at
diff --git a/sim/common/sim-arange.h b/sim/common/sim-arange.h
index ce84c1138ad..f2ac595390f 100644
--- a/sim/common/sim-arange.h
+++ b/sim/common/sim-arange.h
@@ -68,7 +68,7 @@  extern void sim_addr_range_delete (ADDR_RANGE * /*ar*/,
 #define SIM_ARANGE_INLINE EXTERN_INLINE
 #endif
 #else
-#define SIM_ARANGE_INLINE EXTERN
+#define SIM_ARANGE_INLINE extern
 #endif

 /* Return non-zero if ADDR is in range AR, traversing the entire tree.