Commit Graph

5177 Commits

Author SHA1 Message Date
Mike Frysinger
199b67ca04 sim: cris: change temp var name slightly to avoid shadowing
Rename the temp var to avoid shadowing another one:

.../sim/cris/semcrisv10f-switch.c:11032:22: error: declaration of ‘tmp_tmpb’ shadows a previous local [-Werror=shadow=compatible-local]
11032 |   tmp_tmpb = ({   SI tmp_tmpb;
      |                      ^~~~~~~~
.../sim/cris/semcrisv10f-switch.c:11031:24: note: shadowed declaration is here
11031 |   tmp_tmpres = ({   SI tmp_tmpb;
      |                        ^~~~~~~~
2024-01-06 23:30:43 -05:00
Mike Frysinger
012c1f072f sim: cris: add error fallbacks when decoding condition & swap codes
The condition & swap code decoder only checks known bits and sets
based on that.  If the variable is out of range, it ends up returning
uninitialized data.  Turn that case into a hard error.

This fixes build warnings like:
sim/cris/semcrisv10f-switch.c:13115:11: error:
	variable 'tmp_condres' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
2024-01-06 23:30:43 -05:00
Mike Frysinger
086d7dbb2e sim: ppc: unify igen filter modules
The common igen code was forked from the ppc long ago.  The filter
module is still pretty similar in API, so we can unfork them with
a little bit of effort.

The filter.c module is still here because of the unique it_is API.
The common igen code doesn't seem to have an equiv API as this only
operates on two strings and not an actual filter object, and it's
easy enough to leave behind to unfork the rest.
2024-01-03 03:37:13 -05:00
Mike Frysinger
7811c75893 sim: ppc: unify igen line number output modules
The common igen code was forked from the ppc long ago.  The lf module
is still pretty similar in API, so we can unfork them with a little
bit of effort.

Some of the generated ppc code is now slightly different, but that's
because of fixes the common igen code has gained, but not the ppc igen
code (e.g. fixing of #line numbers).

The ppc code retains lf_print__c_code because the common igen code
rewrote the logic to a new table.c API.  Let's delay that in the ppc
code to at least unfork all this code.
2024-01-03 03:32:08 -05:00
Mike Frysinger
339e44f8c0 sim: igen: clean up headers a bit
Add standard multiple inclusion protection, and add a few missing
local includes when one header uses another.  This isn't complete,
but fixes some short comings seen when merging the ppc igen.
2024-01-03 03:13:47 -05:00
Mike Frysinger
b37a470842 sim: ppc: switch to common endian code
The common sim-endian is a forked & updated version of the ppc code.
Fortunately, they didn't diverge from the basic APIs, so they are
still compatible, which means we can just delete the ppc version now
that the build env is merged at the top-level.
2024-01-03 02:17:16 -05:00
Mike Frysinger
d4edfa1e2e sim: common: include sim-types.h in the endian header directly
This is a bit redundant for most ports as they go through sim-basics.h
which always includes sim-types.h before including sim-endian.h, but in
order to unify ppc's sim-endian code, we need this include here.  Plus,
it's the directly we generally want to go to get away from one header
that defines all APIs and causes hard to untangle dependencies.
2024-01-03 02:15:54 -05:00
Mike Frysinger
9c81c318f6 sim: ppc: rename local ALU SIGNED64 macros
The common/ code has macros with the same name but different behavior:
it's for declaring integer constants as 64-bit, not for casting them.
Rename ppc's local variant since it's only used in this file in order
to avoid conflicts.
2024-01-03 02:13:55 -05:00
Mike Frysinger
34cacf7d97 sim: ppc: sync WITH_TARGET_{ADDRESS,CELL}_BITSIZE with common/
This will make it easier to share common/ code that rely on these
additional defines.
2024-01-03 02:10:52 -05:00
Mike Frysinger
50399b3d9d sim: cr16: cleanup unused variable compiler warnings 2024-01-03 01:58:20 -05:00
Mike Frysinger
586cfe1a5d sim: configure: switch to m4_map
Minor reduction in boilerplate here.  No real functional changes.
2024-01-03 01:43:14 -05:00
Mike Frysinger
c67a81c92f sim: drop support for recursive makes entirely
Now that all ports have been merged to the top-level, we no longer need
this framework to pass settings down to sub-makefiles.  Delete it all.
2024-01-03 01:21:48 -05:00
Mike Frysinger
2c3bcf2537 sim: ppc: hoist compilation up to top-level
This removes all recursive makes from the ppc port.
2024-01-03 01:21:48 -05:00
Mike Frysinger
10e1edb737 sim: drop support for automatic subdir recursion
No port relies on this anymore, so we can scrub it all.
2024-01-03 01:21:48 -05:00
Mike Frysinger
01c2a7aa69 sim: ppc: move libsim.a creation to top-level
The objects are still compiled in the subdir, but the creation of the
archive itself is in the top-level.  This is a required step before we
can move compilation itself up, and makes it easier to review.

The downside is that each object compile is a recursive make instead of
a single one.  It adds some overhead, so it's not great, but it shouldn't
be a big deal.  This will go away once compilation is hoisted up.
2024-01-03 01:21:48 -05:00
Mike Frysinger
e0e9cd645f sim: ppc: move main.o compilation to top-level 2024-01-03 01:21:48 -05:00
Mike Frysinger
b22ee0e49b sim: ppc: hoist pk.h creation to top-level 2024-01-02 02:22:07 -05:00
Mike Frysinger
10f554512f sim: ppc: hoist hw.[ch] creation to top-level 2024-01-02 02:19:50 -05:00
Mike Frysinger
431d8a2ca4 sim: ppc: hoist igen execution to top-level
Invoke ppc's igen from the top-level like we do for all other ports.
2024-01-02 02:19:50 -05:00
Mike Frysinger
5f7e03a6bb sim: ppc: merge configure logic into top-level
Now that the ppc configure script is just namespaced options, we can
move it to ppc/acinclude.m4 and include it directly in the top-level
configure script and kill off the last subdir configure script.
2024-01-02 01:41:55 -05:00
Mike Frysinger
cc92657346 sim: ppc: scope configure options to --enable-sim-ppc-xxx
To prepare for moving these into the top-level configure, namespace
then with the port name like we do with all other ports.
2024-01-02 01:41:55 -05:00
Mike Frysinger
08e88f27c7 sim: ppc: standardize configure option processing
Switch from ad-hoc $silent checks & echo calls to standard
AC_MSG_CHECKING & AC_MSG_RESULT calls.  Also delete pointless
variable setting after calling AC_MSG_ERROR.
2024-01-02 01:41:55 -05:00
Mike Frysinger
0c53b9d697 sim: ppc: switch to AS_HELP_STRING for automatic formatting 2024-01-02 01:41:55 -05:00
Mike Frysinger
5b6d72c9a5 sim: ppc: drop now unused config.in 2024-01-02 01:41:55 -05:00
Mike Frysinger
93c0f1cf94 sim: ppc: move defines.h generation to the top-level
Since we rely on the top-level config.h now, the defines.h generation
step should live here too.
2024-01-02 00:35:59 -05:00
Mike Frysinger
82931068f4 sim: ppc: drop configure compiler checks
Now that the ppc script only checks configure options and sets up
variables in the Makefile from those, delete all the compile related
logic to greatly simplify the configure script.
2024-01-02 00:35:45 -05:00
Mike Frysinger
2c7cc02f96 sim: ppc: drop custom config.h header
Now that everything has moved to the top-level, we can drop the
custom ppc config.h and reuse the common one.
2024-01-02 00:34:55 -05:00
Mike Frysinger
0b5415c13c sim: ppc: stop including headers from gdb/
The common sim code doesn't snoop in gdb/, and the ppc code doesn't
need to either.  Any common code we pull from gnulib/ now only.
2024-01-02 00:34:34 -05:00
Mike Frysinger
6bf212a8ac sim: ppc: move termios probes to top-level
This is the last compile-time logic in the ppc subdir.
2024-01-02 00:34:15 -05:00
Mike Frysinger
0168f1aedf sim: ppc: switch to AC_CACHE_CHECK
This macro replaces the AC_MSG_CHECKING+AC_CACHE_VAL+AC_MSG_RESULT
which reduces the boilerplate in here a little bit.
2024-01-02 00:32:48 -05:00
Mike Frysinger
1a9f6039fb sim: ppc: switch struct member checks to AC_CHECK_MEMBER
This covers a lot of the AC_MSG_CHECKING+AC_TRY_COMPILE+AC_MSG_RESULT
boilerplate and matches what we do in the top-level platform checks.
2024-01-02 00:32:29 -05:00
Mike Frysinger
e04ab9b01a sim: ppc: move termio defines to config.h
Move the defines from explicit -D options to config.h defines to simplify
the build and make it easier to move to the top-level configure.
2024-01-02 00:31:55 -05:00
Mike Frysinger
d43207b057 sim: ppc: move struct statfs to top-level 2024-01-02 00:31:40 -05:00
Mike Frysinger
568432432a sim: ppc: move long long test to top-level
While the sim code doesn't utilize HAVE_LONG_LONG itself, other code
(like libiberty) seem to, so check for it in the top-level for all
ports to leverage.
2024-01-02 00:31:08 -05:00
Mike Frysinger
d472066471 sim: ppc: hoist sysv tests to top-level
Now that the sysv tests turn into config.h defines and everything
checks that, we can move the tests to the top-level and out of the
ppc subdir.
2024-01-02 00:29:29 -05:00
Mike Frysinger
bc756034ee sim: ppc: always compile in the sysv sem & shm device files
Move the stub logic to the device files themselves.  This makes the
configure & build logic more static which will make it easier to move
to the top-level build, and matches what we did with the common/ hw
tree already.

This also decouples the logic from the two -- in the past, you needed
both sem & shm in order to enable the device models, but now each one
is tied to its own independent knob.  Practically speaking, this will
probably not make a difference, but it simplifies the build a bit.
2024-01-02 00:29:28 -05:00
Mike Frysinger
d961049a26 sim: ppc: change SysV sem & shm tests to compile-time
Instead of executing code to see if SysV semaphores & shared memory
are available, switch to just a compile-time test.  The system used
to compile might not match the system used to run the code wrt the
current kernel & OS settings, but the library APIs should.  So move
the failures from compile-time to runtime so the program is more
portable, and works correctly even when cross-compiling.
2024-01-02 00:29:28 -05:00
Mike Frysinger
d237a93af3 sim: ppc: merge System V semaphores checks
Compile tests can use earlier defines, so hoist the HAVE_UNION_SEMUN
define to before the semaphore check, and use it in the test so that
we can merge the 2 versions into one.

This also defines HAVE_UNION_SEMUN even when ac_cv_sysv_sem is not
set, but that's OK as this define is only about a type existing, not
about whether the overall code is usable.
2024-01-02 00:29:28 -05:00
Mike Frysinger
4d4952a63d sim: ppc: fix bad AC_CACHE_CHECK call with semun
The first arg is the cache var name, and this one was typoed relative
to what the call actually set.  We also don't need the manual call to
AC_MSG_RESULT as the AC_CACHE_CHECK takes care of it for us.
2024-01-02 00:29:28 -05:00
Mike Frysinger
d264d78607 sim: ppc: delete unused build compile & link settings
These should have been removed as part of the ppc/igen merging into the
top-level, but they were missed.  Clean up now.
2024-01-02 00:27:12 -05:00
Mike Frysinger
1b89e2b720 sim: ppc: merge misc igen APIs
The common igen code provides the same misc APIs as the ppc version,
so delete the ppc code and pull in the common one.  There is one
minor difference: the ppc code has a unique dumpf function.  The
common code switched to lf_printf for the same functionality, but
since that requires changes throughout the igen codebase, delay that
cleanup for now so we can merge the rest.
2024-01-01 18:16:38 -05:00
Mike Frysinger
9ddac092a8 sim: ppc: rework igen error to match common
Switch to an ERROR macro and tweak the error signature to match the
common igen version in preparation for merging the two implementations.
2024-01-01 17:39:09 -05:00
Mike Frysinger
ef993dfa05 sim: igen: extend error to take arguments
The ppc igen error helper allows arbitrary printf calls, so extend
the common one to do the same.
2024-01-01 17:31:12 -05:00
Mike Frysinger
9b6e0cb3ba sim: ppc: rename igen max_insn_bit_size
We want to avoid conflicts with the common igen enums.  This should
get migrated over to the common parsing logic, but for now, switch
the name to avoid redefinition.
2024-01-01 17:30:53 -05:00
Mike Frysinger
fd520e1af1 sim: igen: minor constify logic
Copy some improvements from the ppc igen code.
2024-01-01 17:09:02 -05:00
Mike Frysinger
0a4d338dd0 sim: ppc: unify igen filter_filename implementations
Now that both igen implementations are in the top-level, we can unify
the filter_filename implementation between them since they're the same
(literally the same code).
2024-01-01 17:06:50 -05:00
Mike Frysinger
a243f0a5a1 sim: ppc: replace filter_filename with lbasename
The lbasename function from libiberty provides the same API as this
custom function.  The common/ code already made the switch, so make
the same change to the ppc code to avoid target duplication.
2024-01-01 16:32:48 -05:00
Mike Frysinger
5817b1f52f sim: ppc: hoist igen compilation into top-level
This simplifies the build a bit (especially for deps in port subdirs),
and avoids recursive make.  This in turn speeds up the build, and lets
us reuse existing build-time vs host-time logic from Makefile.am.
2024-01-01 16:12:16 -05:00
Mike Frysinger
179bd7a89d sim: ppc: drop build-config.h usage
This header is only used by the igen tool, and none of the igen code
depends on the configure-time checks.  Delete the logic to simplify
to prepare for moving it to the local.mk code.
2024-01-01 15:59:11 -05:00
Mike Frysinger
a295b6b0cd sim: ppc: simplify filter_host.c logic
Switch this from a build-time generation to a static include.  This
makes the build rules a bit simpler, especially as we move them to
Automake from hand-written makefiles.
2024-01-01 15:59:06 -05:00
Mike Frysinger
2363ba65d7 sim: igen: remove libigen.a when cleaning 2024-01-01 15:51:25 -05:00
Mike Frysinger
22a09a1a33 sim: ppc: drop unused host bitsize settings
This is never set anywhere, so it's always empty.  Scrub it.
2024-01-01 14:52:16 -05:00
Mike Frysinger
f793be444c sim: frv: fix cmpb uninitialized variable usage
This code sets up the cc variable based on the comparison of other
registers, but it does so incrementally with bit operations, and it
never initializes the cc variable.  Initialize it to 0 which the
cmpba insn is already doing.
2024-01-01 10:56:08 -05:00
Mike Frysinger
361a6d49c6 sim: arm: mark local read-only arrays as static const
Move it into read-only data sections to avoid constructing them on the
stack at runtime.
2024-01-01 10:53:15 -05:00
Mike Frysinger
58d38850b6 sim: warnings: enable -Wunused-variable 2024-01-01 10:51:50 -05:00
Mike Frysinger
fa99355b56 cpu: or1k: drop unused l.swa flag
The "flag" argument isn't set/used in this insn, so drop it.
This fixes an unused variable warning in the generated sim.
2024-01-01 10:51:23 -05:00
Tom Tromey
cbbb73f4f9 sim: fix pervasive typo
I noticed a typo in a sim constant.  This patch fixes it.
	permenant -> permanent
2024-01-01 10:44:13 -05:00
Dimitar Dimitrov
fcd5cdd5ae sim: pru: Fix emulation of carry bit
The PRU architecture documentation [1] was used for the initial GNU
simulator implementation.  But recently [2] TI confirmed the carry
behaviour was wrongly documented.  In reality, the PRU carry behaves
like the carry in ARM processors.

This patch fixes simulator to align with latest recommendations from TI.

The new carry.s test was also validated to pass on real hardware -
a BeaglePlay board [3].  That test is a bit long because TI still
has not released official updates for the PRU documents.  And I wanted
to ensure simulator handles all edge cases exactly as the real hardware
does.

[1] https://www.ti.com/lit/pdf/spruij2
[2] https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1244359/sk-am64b-am64x-pru-assembler-how-works-this-bloody-carry
[3] https://www.beagleboard.org/boards/beagleplay

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2023-12-28 09:09:13 +02:00
Mike Frysinger
a70dcdebbd sim: common: pull in newlib extensions for Linux compatibility
Since newlib allows people to opt-in to extra errno names, pull them
into our table too.  The values don't conflict with each other -- the
newlib names & values are distinct from newlib's Linux compatibility.
2023-12-26 22:53:31 -05:00
Mike Frysinger
59b6dbff95 sim: cris: rvdummy: delete unused variable 2023-12-24 05:26:49 -05:00
Mike Frysinger
9e6855c7cb sim: cgen: mark cgen_rtx_error noreturn
Since this function never returns, mark it as such to fix some unused
variable warnings in error code paths.

For example, cris triggers:
sim/cris/semcrisv10f-switch.c:3558:11: error:
	variable 'tmp_newval' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]

Even though it has an "else" path that calls this error function.
2023-12-24 05:09:28 -05:00
Mike Frysinger
aea0b94653 sim: cgen: regenerate decode tables
Integrate some changes from upstream cgen that tightened up the
generated output.  Shouldn't be any functional changes here.
2023-12-24 04:07:32 -05:00
Mike Frysinger
43fbcdcd03 sim: sh: refine pwsb & pwad nops
Since these insns don't do anything and are effectively ignored,
return early to avoid doing any common processing at the end as
that requires initializing variables like "res" with something.
2023-12-24 04:00:04 -05:00
Mike Frysinger
fed277fe15 sim: sh: fix plds Dz,MACL implementation
The plds Dz,MACL insn stores the Dz bit into MACL.  The current code
was storing the "res" variable into Dz and then into MACL, but not
setting "res" to anything.  Delete that logic and make it match the
existing plds Dz,MACH insn.
2023-12-24 03:56:00 -05:00
Mike Frysinger
4da6be3f1a sim: warnings: rework individual flag disable into dedicated vars
The -Wshadow=local is too new for some compilers, so move it to a var
that we test at configure time.
2023-12-23 01:21:23 -05:00
Mike Frysinger
62544b0cf1 sim: sh: fix -Wshadow=local warnings
Rename the var to avoid shadowing & clobbering the higher context.
2023-12-22 23:29:19 -05:00
Mike Frysinger
f0fcc327e3 sim: riscv: fix -Wshadow=local warnings
Inline the one usage of sd in these macros to avoid possible shadowing.
2023-12-22 23:29:19 -05:00
Mike Frysinger
5cc45e2384 sim: ppc: fix -Wshadow=local warnings
Use a local name in the macro to avoid shadowing wherever it's used.
2023-12-22 23:29:19 -05:00
Mike Frysinger
d31fd3f617 sim: mips: fix -Wshadow=local warnings
Delete redundant decls when the existing scope has the same var and
type available for use.
2023-12-22 23:29:19 -05:00
Mike Frysinger
c6f30b8791 sim: m68hc11: fix -Wshadow=local warnings
Delete redundant decls when the existing scope has the same var and
type available for use.
2023-12-22 23:29:19 -05:00
Mike Frysinger
e4e3a80911 sim: m32c: fix -Wshadow=local warnings
These decoders declare a lot of common variables for use by substeps,
and then shadows a few because of how the opc generator is implemented.
Easiest way around it is to rename the per-substep vars as needed as
anything more would require substantial changes to the opc logic.
2023-12-22 23:29:19 -05:00
Mike Frysinger
2d351bda2f sim: iq2000: fix -Wshadow=local warnings
Delete redundant decls.
2023-12-22 23:29:19 -05:00
Mike Frysinger
a42661395e sim: h8300: fix -Wshadow=local warnings
Delete conflicting decls when the existing scope has vars of the same
name & type for this exact use.
2023-12-22 23:29:19 -05:00
Mike Frysinger
9b5e6c1e48 sim: frv: fix -Wshadow=local warnings
Delete redundant decls, and rename conflicting vars.
2023-12-22 23:29:19 -05:00
Mike Frysinger
a4531a4010 sim: erc32: fix -Wshadow=local warnings
Rename shadowed vars with different types to avoid confusion.
2023-12-22 23:29:19 -05:00
Mike Frysinger
87271996ea sim: cris: disable -Wshadow=local in generated mloop files
The mloop files include CGEN generated switch files which have some
nested assignments that expand into repeated shadowed variables.
Fixing this looks fairly non-trivial as it appears to be interplay
between the common CGEN code and how this particular set of cris
insns are defined.  Disable the warning instead.

In file included from sim/cris/mloop.in:286:
sim/cris/semcrisv10f-switch.c: In function ‘crisv10f_engine_run_full’:
sim/cris/semcrisv10f-switch.c:12383:8: error: declaration of ‘opval’ shadows a previous local [-Werror=shadow=local]
12383 |     SI opval = tmp_addr;
      |        ^~~~~
sim/cris/semcrisv10f-switch.c:12371:9: note: shadowed declaration is here
12371 |     USI opval = ({   SI tmp_addr;
      |         ^~~~~

And the code looks like:
	USI opval = ({
		...
			{
				SI opval = tmp_addr;
				...
			}
		...
	});

Since the CGEN code treats "opval" as an internal variable that the cpu
definitions don't have direct access to, the likelihood of this being a
real bug is low, so leave it be.  The warning is suppressed for more code
that is hand written (e.g. the mloop logic), but disabling for the entire
file is the easiest way to suppress while keeping it on everywhere else in
the sim.
2023-12-22 23:29:19 -05:00
Mike Frysinger
c99faa9291 sim: cris: fix -Wshadow=local warnings
Delete redundant local decls.
2023-12-22 23:29:19 -05:00
Mike Frysinger
ef382e84b7 sim: common: fix -Wshadow=local warnings
Rename shadowed vars with different types, and delete redundant decls.
2023-12-22 23:29:19 -05:00
Mike Frysinger
5f347a1106 sim: bfin: fix -Wshadow=local warnings
Rename the shadowed var to avoid confusion with the function argument
as to which address this code is using.
2023-12-22 23:29:19 -05:00
Mike Frysinger
8ce49cf102 sim: arm: fix -Wshadow=local warnings
Remove duplicate nested variable declarations, rename some to avoid
confusion when the type is different or the original value should be
retained, and fix some weirdness with nested enums in structs.
2023-12-22 23:29:19 -05:00
Mike Frysinger
2bf4edd2ea sim: aarch64: fix -Wshadow=local warnings
These functions have local vars named "val" of type float, and
then create nested vars named "val" of type double.  This is a
bit confusing and causes build time warnings.
2023-12-22 23:29:19 -05:00
Mike Frysinger
401b5b00ec sim: cgen: regenerate decode tables to avoid shadow warnings
Use latest cgen to regenerate the decode tables which has some shadow
warning fixes with "val" variables.
2023-12-22 10:53:49 -05:00
Mike Frysinger
4a517293bb sim: cris: regen cgen decoders to fix build warnings [PR sim/31181]
Bug: https://sourceware.org/PR31181
2023-12-22 10:44:39 -05:00
Mike Frysinger
866a2ad35b sim: ppc: igen: fix -G handling
We weren't using the enable_p flag to see whether the option should
be enabled or disabled, and we weren't breaking out when done parsing.
2023-12-21 21:04:44 -05:00
Mike Frysinger
3744b73e3b sim: warnings: enable -Wreturn-type
Older versions of gcc support this warning flag.  We're already clean.
2023-12-21 20:59:16 -05:00
Mike Frysinger
fa113bd940 sim: warnings: fix -Wreturn-mismatch typo 2023-12-21 20:58:51 -05:00
Mike Frysinger
06bc778c13 sim: m32c: fix initial #line number in generated code
This emits #line 2 for the first line in the output when it should be 1.
2023-12-21 20:17:38 -05:00
Mike Frysinger
6003fe166d sim: mloop: add #line pragmas everywhere
This will make compiler diagnostics much better with generated code
so people can understand the original source file.
2023-12-21 20:16:26 -05:00
Mike Frysinger
c0e97c8525 sim: common: add $LINENO rewriting support to genmloop scripts
The generated mloop files can trigger compile time warnings.  It can
be difficult to see/understand where the original code is coming from
as all the diagnostics point to the generated output.  Using #line
pragmas, we can point people to the original source files.

Unfortunately, this code is written in POSIX shell, and that lacks
support for line number tracking.  The $LINENO variable, even when
available, can just be plain wrong.  For example, when using dash
and subshells, $LINENO can end up having negative values.  Add a
wrapper script that will uses awk to rewrite the $LINENO variable
to the right value to avoid all that.

Basically lineno.sh takes an input script, rewrites all uses of
$LINENO into the actual line number (and $0 into the original file
name), and then executes the temporary script.

This commit doesn't actually add #line pragmas to any files.  That
comes next.
2023-12-21 20:16:26 -05:00
Mike Frysinger
3a4ee62868 sim: warnings: enable -Wimplicit-fallthrough=5
It caught some legitimate bugs, so clearly it's helpful.
2023-12-21 01:59:23 -05:00
Mike Frysinger
849bdf4ead sim: sh: fix -Wimplicit-fallthrough warnings
These generate conditional insns where it tests, then fallsthru.
2023-12-21 01:59:23 -05:00
Mike Frysinger
85433eb331 sim: rx: fix -Wimplicit-fallthrough warnings
Replace some fall through comments with the attribute.
2023-12-21 01:59:23 -05:00
Mike Frysinger
e8aaac5fe6 sim: rl78: fix -Wimplicit-fallthrough warnings
Seems like this code was meant to fallthru.
2023-12-21 01:59:23 -05:00
Mike Frysinger
05b9feffff sim: riscv: fix -Wimplicit-fallthrough warnings 2023-12-21 01:59:23 -05:00
Mike Frysinger
92a9d946da sim: ppc: fix -Wimplicit-fallthrough warnings
Replace some fall through comments with the attribute.
2023-12-21 01:59:23 -05:00
Mike Frysinger
77b3c4f666 sim: or1k: fix -Wimplicit-fallthrough warnings
Replace some fall through comments with the attribute.
2023-12-21 01:59:23 -05:00
Mike Frysinger
28c06ff1a1 sim: mips: fix -Wimplicit-fallthrough warnings
Seems like these cases were meant to fallthru.
2023-12-21 01:59:23 -05:00
Mike Frysinger
80200ef6b4 sim: mcore: fix Wimplicit-fallthrough warnings
Seems like these decodes were intended to fallthru.
2023-12-21 01:59:23 -05:00
Mike Frysinger
452bfb00b5 sim: m68hc11: fix -Wimplicit-fallthrough warnings
Seems like these register operations intended on falling thru.
2023-12-21 01:59:22 -05:00
Mike Frysinger
aab7152186 sim: frv: fix -Wimplicit-fallthrough warnings
Replace some fall through comments with the attribute.
2023-12-21 01:59:22 -05:00