diff options
-rw-r--r-- | utils/TableGen/LLVMCConfigurationEmitter.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp index fa423f4ec8..eda45c7a7b 100644 --- a/utils/TableGen/LLVMCConfigurationEmitter.cpp +++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp @@ -584,7 +584,12 @@ private: void onActions (const DagInit* d) { checkNumberOfArguments(d, 1); - toolDesc_.Actions = d->getArg(0); + Init* Case = d->getArg(0); + if (typeid(*Case) != typeid(DagInit) || + static_cast<DagInit*>(Case)->getOperator()->getAsString() != "case") + throw + std::string("The argument to (actions) should be a 'case' construct!"); + toolDesc_.Actions = Case; } void onCmdLine (const DagInit* d) { |