Sanity check error handling for TokenAlias.
authorJim Grosbach <grosbach@apple.com>
Tue, 17 Apr 2012 21:23:52 +0000 (21:23 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 17 Apr 2012 21:23:52 +0000 (21:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154951 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/AsmMatcherEmitter.cpp

index 503d0730bbfa15efbb7dda63e2ce99b15b4918b5..dc92a6c218e9ab5d2c7a7907e0c637b013a91e84 100644 (file)
@@ -1329,6 +1329,9 @@ void AsmMatcherInfo::BuildInfo() {
     Record *Rec = AllTokenAliases[i];
     ClassInfo *FromClass = getTokenClass(Rec->getValueAsString("FromToken"));
     ClassInfo *ToClass = getTokenClass(Rec->getValueAsString("ToToken"));
+    if (FromClass == ToClass)
+      throw TGError(Rec->getLoc(),
+                    "error: Destination value identical to source value.");
     FromClass->SuperClasses.push_back(ToClass);
   }