sim/testsuite: Default global_cc_os and global_cc_works properly

There was an omission on 3e6dc39ed7a8 "sim/testsuite: Set
global_cc_os also when no compiler is found"; global_cc_os
wasn't set for other than the primary target, which means
that the "unguarded" use of global_cc_os in
testsuite/cris/c/c.exp caused the dreaded "ERROR: can't read
"global_cc_os": no such variable" when e.g. configuring for
pru-elf and doing "make check-sim".  Better initializing
both variables at the top to default values, rather than
adding another single 'set global_cc_os ""', to reduce the
risk of not setting them properly if or when that
if-statement-chain is made longer.

sim/testsuite:
	* lib/sim-defs.exp (sim_init_toolchain): Default
	global_cc_os and global_cc_works properly, before if-chain.
This commit is contained in:
Hans-Peter Nilsson
2022-02-15 23:29:07 +01:00
committed by Hans-Peter Nilsson
parent ce20459e16
commit e63f65fea9

View File

@ -121,9 +121,10 @@ proc sim_init_toolchain {} {
set global_cpp_works [string equal "" "$result"]
# See if we have a compiler available, and which environment it's targeting.
set global_cc_os ""
set global_cc_works 0
if { $arch != $SIM_PRIMARY_TARGET && $CC_FOR_TARGET == "false" } {
verbose -log "Can't find a compatible C compiler"
set global_cc_works 0
} elseif { [target_compile $srcdir/lib/newlibcheck.c \
$objdir/compilercheck.x "executable" $cc_options] == "" } {
verbose -log "Found newlib C compiler"
@ -138,11 +139,8 @@ proc sim_init_toolchain {} {
$objdir/compilercheck.x "executable" $cc_options] == "" } {
verbose -log "Found C compiler, but unknown OS"
set global_cc_works 1
set global_cc_os ""
} {
verbose -log "Can't execute C compiler"
set global_cc_works 0
set global_cc_os ""
}
file delete $objdir/compilercheck.x