summaryrefslogtreecommitdiff
path: root/source/slang/ast-legalize.cpp
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2018-02-02 08:49:04 -0800
committerGitHub <noreply@github.com>2018-02-02 08:49:04 -0800
commit0360f81b9741ece65768a65731bd23455a3b7a96 (patch)
treeeab15cf6737cf091bf94d073e82c7b233f958e57 /source/slang/ast-legalize.cpp
parentb034398ab12d3cc3a5fc04174688cb707404791d (diff)
Remove support for the -no-checking flag (#392)
* Remove support for the -no-checking flag Fixes #381 Fixes #383 Work on #382 - No longer expose flag through API (`SLANG_COMPILE_FLAG_NO_CHECKING`) and command-line (`-no-checking`) options - Remove all logic in `check.cpp` that was withholding diagnostics (including errors) when the no-checking mode was enabled - Remove `HiddenImplicitCastExpr`, which was only created to support no-checking mode (it represented an implicit cast that our checking through was needed, but couldn't emit because it might be wrong) - Remove logic for storing function bodies as raw token lists when checking is turned off. I'm leaving in the `UnparsedStmt` AST node in case we ever need/want to lazily parse and check function bodies down the line. - Remove a few of the code-generation paths we had to contend with, but keep the comment about them in place. - Remove GLSL-based tests that can't meaningfully work with the new approach. - Fix other tests that used a GLSL baseline so that their GLSL compiles with `-pass-through glslang` instead of invoking `slang` with the `-no-checking` flag. - Remove tests that were explicitly added to test the "rewriter + IR" path, since that is no longer supported. There is more cleanup that can be done here, now that we know that AST-based rewrite and IR will never co-exist, but it is probably easier to deal with that as part of removing the AST-based rewrite path. We've lost some test coverage here, but actually not too much if we consider that we are dropping GLSL input anyway. * Fixup: test runner was mis-counting ignored tests * Fixup: turn on dumping on test failure under Travis * Fixup: enable extensions in Linux build of glslang
Diffstat (limited to 'source/slang/ast-legalize.cpp')
-rw-r--r--source/slang/ast-legalize.cpp23
1 files changed, 0 insertions, 23 deletions
diff --git a/source/slang/ast-legalize.cpp b/source/slang/ast-legalize.cpp
index 5df6b80f5..be0603d0b 100644
--- a/source/slang/ast-legalize.cpp
+++ b/source/slang/ast-legalize.cpp
@@ -1947,29 +1947,6 @@ struct LoweringVisitor
return LegalExpr(lowerCallExpr(loweredExpr, expr));
}
- LegalExpr visitHiddenImplicitCastExpr(
- HiddenImplicitCastExpr* expr)
- {
- LegalExpr legalArg = legalizeExpr(expr->Arguments[0]);
- if(legalArg.getFlavor() == LegalExpr::Flavor::simple)
- {
- InvokeExpr* loweredExpr = (InvokeExpr*) expr->getClass().createInstance();
- lowerExprCommon(loweredExpr, expr);
- loweredExpr->FunctionExpr = legalizeSimpleExpr(expr->FunctionExpr);
- addArg(loweredExpr, legalArg.getSimple());
- return LegalExpr(loweredExpr);
- }
- else
- {
- // If we hit this case, then there seems to have been a type-checking
- // error around a type that needed to be desugared. We want to use
- // the original expression rather than hide it behind a cast, because
- // it might need to be unpacked into multiple arguments for a call, etc.
- //
- return legalArg;
- }
- }
-
LegalExpr visitSelectExpr(
SelectExpr* expr)
{