Emit a more sensible error message if no subclasses of Target are defined.
authorMisha Brukman <brukman+llvm@gmail.com>
Fri, 4 Jun 2004 14:59:42 +0000 (14:59 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Fri, 4 Jun 2004 14:59:42 +0000 (14:59 +0000)
Patch contributed by Vladimir Prus.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14010 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/CodeGenTarget.cpp
utils/TableGen/CodeGenWrappers.cpp

index bf641fa27677efcb7610e5f7429a406aaa49c508..842294a03780f300ae6ba5c3bd04f58b57baebac 100644 (file)
@@ -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];
index bf641fa27677efcb7610e5f7429a406aaa49c508..842294a03780f300ae6ba5c3bd04f58b57baebac 100644 (file)
@@ -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];