sim/d10v: Use offsetof in a static assertion about structure layout.
authorJohn Baldwin <jhb@FreeBSD.org>
Sat, 22 May 2021 00:26:24 +0000 (17:26 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Sat, 22 May 2021 00:27:05 +0000 (17:27 -0700)
commit39549caef4ae5e5adb5a52518d195f367315e9e9
treecaa49cda7cb4a7f544a3d4dabb0d53eaf7ab3ed3
parent33d93379d258dfb2bebdd67e32e00c9667c486e2
sim/d10v: Use offsetof in a static assertion about structure layout.

clang 11 fails to compile the static assertion as it cannot compute
the pointer value at a compile time:

gdb/sim/d10v/interp.c:1149:37: error: static_assert expression is not an integral constant expression
  static_assert ((uintptr_t) &State == (uintptr_t) &State.regs,
                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Instead, assert that the offset of State.regs is 0.

sim/d10v/ChangeLog:

* interp.c (sim_create_inferior): Use offsetof in static
assertion.
sim/d10v/ChangeLog
sim/d10v/interp.c