Fix some GCC warnings by providing a virtual destructor in the base of a class

hierarchy with virtual methods and using llvm_unreachable to properly indicate
unreachable states which would otherwise leave variables uninitialized.

llvm-svn: 111803
This commit is contained in:
Chandler Carruth 2010-08-23 08:25:07 +00:00
parent a68e2a53a1
commit e0ed6ee921
2 changed files with 2 additions and 1 deletions

View File

@ -1327,7 +1327,7 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) {
break; break;
case ISD::SEXTLOAD: ExtendOp = ISD::SIGN_EXTEND; break; case ISD::SEXTLOAD: ExtendOp = ISD::SIGN_EXTEND; break;
case ISD::ZEXTLOAD: ExtendOp = ISD::ZERO_EXTEND; break; case ISD::ZEXTLOAD: ExtendOp = ISD::ZERO_EXTEND; break;
default: assert(0 && "Unexpected extend load type!"); default: llvm_unreachable("Unexpected extend load type!");
} }
Result = DAG.getNode(ExtendOp, dl, Node->getValueType(0), Load); Result = DAG.getNode(ExtendOp, dl, Node->getValueType(0), Load);
Tmp1 = LegalizeOp(Result); // Relegalize new nodes. Tmp1 = LegalizeOp(Result); // Relegalize new nodes.

View File

@ -71,6 +71,7 @@ namespace {
upperName[0] = std::toupper(upperName[0]); upperName[0] = std::toupper(upperName[0]);
} }
} }
virtual ~Argument() {}
StringRef getLowerName() const { return lowerName; } StringRef getLowerName() const { return lowerName; }
StringRef getUpperName() const { return upperName; } StringRef getUpperName() const { return upperName; }