diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index bf641fa2767..842294a0378 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -72,6 +72,8 @@ std::ostream &operator<<(std::ostream &OS, MVT::ValueType T) { /// CodeGenTarget::CodeGenTarget() : PointerType(MVT::Other) { std::vector<Record*> Targets = Records.getAllDerivedDefinitions("Target"); + if (Targets.size() == 0) + throw std::string("ERROR: No 'Target' subclasses defined!"); if (Targets.size() != 1) throw std::string("ERROR: Multiple subclasses of Target defined!"); TargetRec = Targets[0]; diff --git a/utils/TableGen/CodeGenWrappers.cpp b/utils/TableGen/CodeGenWrappers.cpp index bf641fa2767..842294a0378 100644 --- a/utils/TableGen/CodeGenWrappers.cpp +++ b/utils/TableGen/CodeGenWrappers.cpp @@ -72,6 +72,8 @@ std::ostream &operator<<(std::ostream &OS, MVT::ValueType T) { /// CodeGenTarget::CodeGenTarget() : PointerType(MVT::Other) { std::vector<Record*> Targets = Records.getAllDerivedDefinitions("Target"); + if (Targets.size() == 0) + throw std::string("ERROR: No 'Target' subclasses defined!"); if (Targets.size() != 1) throw std::string("ERROR: Multiple subclasses of Target defined!"); TargetRec = Targets[0];