log_assert(false) never returns and thus can't fall through, but gcc
doesn't seem to think that far. Making it the last case avoids the
problem entirely.
                                                case RTLIL::STa:
                                                        break;
 
+                                               case RTLIL::STg:
+                                                       log_cmd_error("Global clock is not supported.\n");
+
                                                // Handling of init-type sync rules is delegated to the `proc_init` pass, so we can use the wire
                                                // attribute regardless of input.
                                                case RTLIL::STi:
                                                        log_assert(false);
-
-                                               case RTLIL::STg:
-                                                       log_cmd_error("Global clock is not supported.\n");
                                        }
                        }