Warning in tclExecute.c. A branch is never taken - TclCompareTwoNumbers states as prerequisite that the arguments are known to be of numeric and not NaN - but the compiler doesn't know it.

generic/tclExecute.c:9244:12: warning: variable 'type1' is used uninitialized whenever '?:' condition is true [-Wsometimes-uninitialized]
    (void) GetNumberFromObj(NULL, valuePtr, &ptr1, &type1);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generic/tclExecute.c:513:5: note: expanded from macro 'GetNumberFromObj'
    ((((objPtr)->typePtr == NULL) && ((objPtr)->bytes == NULL)) ||      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generic/tclExecute.c:9247:13: note: uninitialized use occurs here
    switch (type1) {
            ^~~~~
generic/tclExecute.c:9244:12: note: remove the '?:' if its condition is always false
    (void) GetNumberFromObj(NULL, valuePtr, &ptr1, &type1);
           ^
generic/tclExecute.c:513:5: note: expanded from macro 'GetNumberFromObj'
    ((((objPtr)->typePtr == NULL) && ((objPtr)->bytes == NULL)) ||      \
    ^