From 2283a21049cdefb87cdd0f11df367266e3e029d1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=9A=D0=BE=D0=BC=D0=BF=D0=B0=D0=BD=2C=20=D0=92=D1=8F?= =?utf8?q?=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=9E=D0=BB=D0=B5=D0=B3?= =?utf8?q?=D0=BE=D0=B2=D0=B8=D1=87?= Date: Fri, 28 Sep 2018 16:00:46 -0400 Subject: [PATCH] Change "xor" name in cpu_core to allow building with iso646.h or C++ compiler This code was introduced back in 1998, and C99 appeared next year, defining the `xor` as an 'alternative keyword' if iso646.h is included. Moreover, C++98 defines it on the language level. As a result, the code is not buildable with C++ compiler or if iso646.h is included beforehand. According to comment, `sim_cpu_core` is mostly a clone of `sim_core`, so I renamed it to `byte_xor` as it's called in `sim_core`. sim/common/ChangeLog: * sim-core.h (sim_cpu_core): Rename cpu_core.xor to cpu_core.byte_xor. * sim-core.c (sim_core_set_xor): Likewise. (sim_core_xor_read_buffer): Likewise. (sim_core_xor_write_buffer): Likewise. --- sim/common/ChangeLog | 8 ++++++++ sim/common/sim-core.c | 8 +++++--- sim/common/sim-core.h | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 313a467c36e..1f6cba2fd5c 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,11 @@ +2018-09-28 Компан, Вячеслав Олегович + + * sim-core.h (sim_cpu_core): Rename cpu_core.xor to + cpu_core.byte_xor. + * sim-core.c (sim_core_set_xor): Likewise. + (sim_core_xor_read_buffer): Likewise. + (sim_core_xor_write_buffer): Likewise. + 2017-12-12 Peter Gavin Stafford Horne diff --git a/sim/common/sim-core.c b/sim/common/sim-core.c index f26a374bb30..862f36b5f27 100644 --- a/sim/common/sim-core.c +++ b/sim/common/sim-core.c @@ -587,7 +587,7 @@ sim_core_set_xor (SIM_DESC sd, mask = 0; while (i - 1 < WITH_XOR_ENDIAN) { - cpu_core->xor[i-1] = mask; + cpu_core->byte_xor[i-1] = mask; mask = (mask << 1) & (WITH_XOR_ENDIAN - 1); i = (i << 1); } @@ -634,7 +634,8 @@ sim_core_xor_read_buffer (SIM_DESC sd, address_word addr, unsigned nr_bytes) { - address_word byte_xor = (cpu == NULL ? STATE_CORE (sd)->byte_xor : CPU_CORE (cpu)->xor[0]); + address_word byte_xor + = (cpu == NULL ? STATE_CORE (sd)->byte_xor : CPU_CORE (cpu)->byte_xor[0]); if (!WITH_XOR_ENDIAN || !byte_xor) return sim_core_read_buffer (sd, cpu, map, buffer, addr, nr_bytes); else @@ -686,7 +687,8 @@ sim_core_xor_write_buffer (SIM_DESC sd, address_word addr, unsigned nr_bytes) { - address_word byte_xor = (cpu == NULL ? STATE_CORE (sd)->byte_xor : CPU_CORE (cpu)->xor[0]); + address_word byte_xor + = (cpu == NULL ? STATE_CORE (sd)->byte_xor : CPU_CORE (cpu)->byte_xor[0]); if (!WITH_XOR_ENDIAN || !byte_xor) return sim_core_write_buffer (sd, cpu, map, buffer, addr, nr_bytes); else diff --git a/sim/common/sim-core.h b/sim/common/sim-core.h index ccfe48fba60..305d1564b3b 100644 --- a/sim/common/sim-core.h +++ b/sim/common/sim-core.h @@ -89,7 +89,7 @@ struct _sim_core { typedef struct _sim_cpu_core { sim_core_common common; - address_word xor[WITH_XOR_ENDIAN + 1]; /* +1 to avoid zero-sized array */ + address_word byte_xor[WITH_XOR_ENDIAN + 1]; /* +1 to avoid zero-sized array */ } sim_cpu_core; -- 2.30.2