sim: mn10300: minimize mn10300-sim.h include in sim-main.h

sim-main.h is special since it is one of the files automatically
included in igen generated files. But this means anything including
sim-main.h might get everything included just for the igen files.

To prevent clashing symbols/defines only include sim-fpu.h,
sim-signal.h, mn10300-sim.h from sim-main.h if it is included
from one of the generated igen C files. Add explicit includes
of mn10300-sim.h, sim-fpu.h and/or sim-signal.h to dv-mn103cpu.c,
interp.c and op_utils.c.
This commit is contained in:
Mark Wielaard 2023-01-15 20:24:06 +01:00
parent a184bce804
commit c064fab247
4 changed files with 17 additions and 0 deletions

View File

@ -22,8 +22,12 @@
#include "defs.h"
#include "sim-main.h"
#include "sim-fpu.h"
#include "sim-signal.h"
#include "hw-main.h"
#include "mn10300-sim.h"
/* DEVICE

View File

@ -7,8 +7,11 @@
#include "bfd.h"
#include "sim-assert.h"
#include "sim-fpu.h"
#include "sim-signal.h"
#include "mn10300-sim.h"
#include <stdlib.h>
#include <string.h>

View File

@ -11,9 +11,11 @@
#include "sim/callback.h"
#include "sim-main.h"
#include "sim-fpu.h"
#include "sim-signal.h"
#include "sim-syscall.h"
#include "mn10300-sim.h"
#define REG0(X) ((X) & 0x3)
#define REG1(X) (((X) & 0xc) >> 2)

View File

@ -34,11 +34,19 @@ mn10300_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), (TRANSFER),
/**
* TODO: Move these includes to the igen files that need them.
* This requires extending the igen syntax to support header includes.
*
* For now only include them in the igen generated support.c,
* semantics.c, idecode.c and engine.c files.
*/
#if defined(SUPPORT_C) \
|| defined(SEMANTICS_C) \
|| defined(IDECODE_C) \
|| defined(ENGINE_C)
#include "sim-fpu.h"
#include "sim-signal.h"
#include "mn10300-sim.h"
#endif
extern SIM_CORE_SIGNAL_FN mn10300_core_signal;