Issue 107739
Summary llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h:213: Missing default in switch ?
Labels backend:ARM, code-quality
Assignees
Reporter dcb314
    Static analyser cppcheck says:

llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h:213:23: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn]

Source code is

  inline static const char *AddrModeToString(AddrMode addrmode) {
    switch (addrmode) {
    case AddrModeNone:    return "AddrModeNone";
    case AddrMode1:       return "AddrMode1";
    case AddrMode2:       return "AddrMode2";
    case AddrMode3:       return "AddrMode3";
    case AddrMode4:       return "AddrMode4";
    case AddrMode5:       return "AddrMode5";
    case AddrMode5FP16:   return "AddrMode5FP16";
 case AddrMode6:       return "AddrMode6";
    case AddrModeT1_1: return "AddrModeT1_1";
    case AddrModeT1_2:    return "AddrModeT1_2";
    case AddrModeT1_4:    return "AddrModeT1_4";
 case AddrModeT1_s:    return "AddrModeT1_s";
    case AddrModeT2_i12: return "AddrModeT2_i12";
    case AddrModeT2_i8:   return "AddrModeT2_i8";
    case AddrModeT2_i8pos: return "AddrModeT2_i8pos";
    case AddrModeT2_i8neg: return "AddrModeT2_i8neg";
    case AddrModeT2_so:   return "AddrModeT2_so";
    case AddrModeT2_pc:   return "AddrModeT2_pc";
 case AddrModeT2_i8s4: return "AddrModeT2_i8s4";
    case AddrMode_i12:    return "AddrMode_i12";
    case AddrModeT2_ldrex:return "AddrModeT2_ldrex";
    case AddrModeT2_i7s4: return "AddrModeT2_i7s4";
    case AddrModeT2_i7s2: return "AddrModeT2_i7s2";
    case AddrModeT2_i7:   return "AddrModeT2_i7";
    }
  }

Suggest add default to switch. Perhaps 

    default: assert( 0); 

would be enough.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to