diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2018-02-02 08:49:04 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-02 08:49:04 -0800 |
| commit | 0360f81b9741ece65768a65731bd23455a3b7a96 (patch) | |
| tree | eab15cf6737cf091bf94d073e82c7b233f958e57 /source/slang/ast-legalize.cpp | |
| parent | b034398ab12d3cc3a5fc04174688cb707404791d (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.cpp | 23 |
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) { |
