nickdesaulniers added a comment.

Testing this on the kernel with `-Wimplicit-fallthrough`, there's some 
additional cases that are still warning:

  // mm/vmscan.c
  1371         mapping = page_mapping(page);                                    
                                                                                
                                                                             
  1372       case PAGE_CLEAN: // -Wimplicit-fallthrough                         
                                                                                
                                                                                
                      
  1373         ; /* try to free the page below */                               
                                                                                
                                                                             
  1374       } 

  // fs/nfs/nfs4client.c
   611       nfs4_schedule_path_down_recovery(pos);                             
                                                                                
                                                                             
   612     default: // -Wimplicit-fallthrough                                   
                                                                                
                                                                                
                      
   613       goto out;

  // drivers/hid/usbhid/hid-core.c
   490   case -ESHUTDOWN:  /* unplug */                                         
                                                                                
                                                                             
   491     unplug = 1; 
   492   case -EILSEQ:   /* protocol error or unplug */ // 
-Wimplicit-fallthrough...how?!                                                  
                                                                                
   
   493   case -EPROTO:   /* protocol error or unplug */                         
                                                                                
                                                                             
   494   case -ECONNRESET: /* unlink */                                         
                                                                                
                                                                             
   495   case -ENOENT:                                                          
                                                                                
                                                                             
   496   case -EPIPE:    /* report not available */                             
                                                                                
                                                                             
   497     break;   

  // security/keys/process_keys.c
  782       default:                                                            
                                                                                
                                                                             
  783         if (need_perm != KEY_AUTHTOKEN_OVERRIDE &&                        
                                                                                
                                                                             
  784             need_perm != KEY_DEFER_PERM_CHECK)                            
                                                                                
                                                                             
  785           goto invalid_key;                                               
                                                                                
                                                                             
  786       case 0: // -Wimplicit-fallthrough...how?!                           
                                                                                
                                                                           
  787         break;                                                            
                                                                                
                                                                             
  788       }    

Ah, I think I need to reconsider the case that there is more than one 
successor, or at least differentiate which successor is the fallthrough block, 
rather than only checking blocks that have 1 successor.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91895/new/

https://reviews.llvm.org/D91895

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to