diff options
Diffstat (limited to 'source/slang/ir-missing-return.cpp')
| -rw-r--r-- | source/slang/ir-missing-return.cpp | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/source/slang/ir-missing-return.cpp b/source/slang/ir-missing-return.cpp deleted file mode 100644 index c32b71ab6..000000000 --- a/source/slang/ir-missing-return.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// ir-missing-return.cpp -#include "ir-missing-return.h" - -#include "ir.h" -#include "ir-insts.h" - -namespace Slang { - -class DiagnosticSink; -struct IRModule; - -void checkForMissingReturnsRec( - IRInst* inst, - DiagnosticSink* sink) -{ - if( auto code = as<IRGlobalValueWithCode>(inst) ) - { - for( auto block : code->getBlocks() ) - { - auto terminator = block->getTerminator(); - - if( auto missingReturn = as<IRMissingReturn>(terminator) ) - { - sink->diagnose(missingReturn, Diagnostics::missingReturn); - } - } - } - - for( auto childInst : inst->getDecorationsAndChildren() ) - { - checkForMissingReturnsRec(childInst, sink); - } -} - -void checkForMissingReturns( - IRModule* module, - DiagnosticSink* sink) -{ - // Look for any `missingReturn` instructions - checkForMissingReturnsRec(module->getModuleInst(), sink); -} - -} |
