sim: add default cases to two switches in sim-options.c
authorSimon Marchi <simon.marchi@polymtl.ca>
Sun, 2 May 2021 15:04:58 +0000 (11:04 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 2 May 2021 15:04:58 +0000 (11:04 -0400)
commit72042732bc0a1d2e1b24df2f5a0fc70857bd1865
tree88956eafdc96e908a342db2e3f45da8ce25ab835
parentf0c4dc40b2e16a876b5b61986de5014a78f76a5c
sim: add default cases to two switches in sim-options.c

This is the next compilation error I hit when I build all targets with
Clang:

    /home/simark/src/binutils-gdb/sim/aarch64/../common/sim-options.c:234:12: error: no case matching constant switch condition '0' [-Werror]                                                                    switch (WITH_ENVIRONMENT)
                      ^~~~~~~~~~~~~~~~                                                                                                                                                                 ./config.h:215:26: note: expanded from macro 'WITH_ENVIRONMENT'
    #define WITH_ENVIRONMENT ALL_ENVIRONMENT                                                                                                                                                                                    ^~~~~~~~~~~~~~~
    /home/simark/src/binutils-gdb/sim/aarch64/../common/sim-options.c:276:15: error: no case matching constant switch condition '0' [-Werror]                                                                switch (WITH_ALIGNMENT)
                  ^~~~~~~~~~~~~~                                                                                                                                                                       /home/simark/src/binutils-gdb/sim/aarch64/../common/sim-config.h:220:24: note: expanded from macro 'WITH_ALIGNMENT'
    #define WITH_ALIGNMENT 0
                           ^

This is a little bit special because these are switches on compile-time
value.  But regardless, the idea is that we logically can't reach the
switches if WITH_ENVIRONMENT == 0 or WITH_ALIGNMENT == 0, so the code is
correct.

In addition to getting rid of the compiler warning, adding default cases
to these switches ensure that if we do get in an unexpected situation,
it is caught.  In GDB, I'd use gdb_assert_not_reached, I don't know if
there is something similar in sim so I went with abort.

sim/common/ChangeLog:

* sim-options.c (standard_option_handler): Add default cases to
switches.

Change-Id: Ie237d67a201caa6b72de0d17cc815193417156b6
sim/common/ChangeLog
sim/common/sim-options.c