1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-25 18:30:21 +00:00

Try a compiler-specific attribute.

This commit is contained in:
Thomas Harte 2022-06-29 19:20:44 -04:00
parent 58b04cdfa4
commit c133f80c73

View File

@ -223,10 +223,14 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
// Moves to state x by dynamic dispatch; x can be a regular variable. // Moves to state x by dynamic dispatch; x can be a regular variable.
#define MoveToStateDynamic(x) { state_ = x; continue; } #define MoveToStateDynamic(x) { state_ = x; continue; }
#ifdef __GNUC__
#define MAYBE_UNUSED __attribute__ ((unused))
#else
#define MAYBE_UNUSED /* */
#endif
// Sets the start position for state x. // Sets the start position for state x.
// The `if constexpr` is a slightly-silly way of eliminating a Clang warning about #define BeginState(x) case ExecutionState::x: MAYBE_UNUSED x
// unused goto targets.
#define BeginState(x) case ExecutionState::x: if constexpr (false) goto x; x
// Sets the start position for the addressing mode y within state x, // Sets the start position for the addressing mode y within state x,
// where x was declared as an AddressingDispatch. // where x was declared as an AddressingDispatch.