This fixes a few issues noticed during merge conflict resolution:
Avoids displaying long error messages as test warnings when autodetecting Zfa and RV32 support -- just display a short warning that certain tests are being disabled because Zfa or RV32 support is unavailable
Make unsupported RISC-V extension versions take less priority than an unparseable architecture string -- if there is an error in the order of extensions, or an unrecognized extension, print that error instead of printing that we do not support a particular version of an extension during the middle of parsing and then aborting early
Add back -DBUILD_ASM_TESTING=ON which was inadvertently removed
Use std::unique_ptr for RevCPU members which are allocated dynamically, so that ~RevCPU() = default now (no more deletes). Since some of them interact with SST, and since SST requires "dumb" pointers in places, we cannot use std::shared_ptr to automatically handle ownership as they are passed around. Instead, RevCPU will own a std::unique_ptr, and then .get() will be used to pass a dumb pointer. It is assumed that none of functions passed dumb pointers will use them after RevCPU gets destroyed (the old code made the same assumption, only with dumb pointers)
Use C++11 "raw strings" to make splash_msg source code look neater (no need for \n or \ continuations)
Make numHartsuint32_t so that it can exceed 65536 and we print the error message -- previously, we were testing a uint16_t against 65536 which obviously can't be greater than or equal to 65536
Make the tests which are skipped have the DISABLED property rather than not being added at all, so that we always have a full list of tests in a test run, just that some may be DISABLED and cannot contribute to the failure count
Reformat test/CMakeLists.txt using Emacs autoindentation in cmake-mode (an add-on extension)
Remove include/insns/CMakeLists.txt, as InstructionSrcs variable was never being used
This fixes a few issues noticed during merge conflict resolution:
Zfa
andRV32
support -- just display a short warning that certain tests are being disabled becauseZfa
orRV32
support is unavailable-DBUILD_ASM_TESTING=ON
which was inadvertently removedstd::unique_ptr
forRevCPU
members which are allocated dynamically, so that~RevCPU() = default
now (no moredelete
s). Since some of them interact with SST, and since SST requires "dumb" pointers in places, we cannot usestd::shared_ptr
to automatically handle ownership as they are passed around. Instead,RevCPU
will own astd::unique_ptr
, and then.get()
will be used to pass a dumb pointer. It is assumed that none of functions passed dumb pointers will use them afterRevCPU
gets destroyed (the old code made the same assumption, only with dumb pointers)splash_msg
source code look neater (no need for\n
or\
continuations)numHarts
uint32_t
so that it can exceed65536
and we print the error message -- previously, we were testing auint16_t
against65536
which obviously can't be greater than or equal to65536
DISABLED
property rather than not being added at all, so that we always have a full list of tests in a test run, just that some may beDISABLED
and cannot contribute to the failure counttest/CMakeLists.txt
using Emacs autoindentation incmake-mode
(an add-on extension)include/insns/CMakeLists.txt
, asInstructionSrcs
variable was never being used