From adb862103138caf11191da50d34eb4c93295633a Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Mon, 19 Mar 2012 06:35:04 -0400 Subject: clang: Fix recently introduced clang compilation errors This patch makes the code compile with clang 2.9 and 3.0 again by making two very minor changes. Firt, it maintains a strict typing in the forward declaration of the BaseCPUParams. Second, it adds a FullSystemInt flag of the type unsigned int next to the boolean FullSystem flag. The FullSystemInt variable can be used in decode-statements (expands to switch statements) in the instruction decoder. --- src/sim/full_system.hh | 12 ++++++++++++ src/sim/root.cc | 2 ++ 2 files changed, 14 insertions(+) (limited to 'src/sim') diff --git a/src/sim/full_system.hh b/src/sim/full_system.hh index e67fc11a9..18cf34d09 100644 --- a/src/sim/full_system.hh +++ b/src/sim/full_system.hh @@ -31,6 +31,18 @@ #ifndef __SIM_FULL_SYSTEM_HH__ #define __SIM_FULL_SYSTEM_HH__ +/** + * The FullSystem variable can be used to determine the current mode + * of simulation. + */ extern bool FullSystem; +/** + * In addition to the boolean flag we make use of an unsigned int + * since the CPU instruction decoder makes use of the variable in + * switch statements. A value of 0 signifies syscall emulation, and + * any other value full system. + */ +extern unsigned int FullSystemInt; + #endif // __SIM_FULL_SYSTEM_HH__ diff --git a/src/sim/root.cc b/src/sim/root.cc index c47ada30e..2d28499a7 100644 --- a/src/sim/root.cc +++ b/src/sim/root.cc @@ -125,6 +125,7 @@ Root::loadState(Checkpoint *cp) } bool FullSystem; +unsigned int FullSystemInt; Root * RootParams::create() @@ -136,6 +137,7 @@ RootParams::create() created = true; FullSystem = full_system; + FullSystemInt = full_system ? 1 : 0; return new Root(this); } -- cgit v1.2.3