summaryrefslogtreecommitdiffstats
path: root/source/slang/parser.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/parser.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/parser.cpp')
-rw-r--r--source/slang/parser.cpp47
1 files changed, 0 insertions, 47 deletions
diff --git a/source/slang/parser.cpp b/source/slang/parser.cpp
index 538e5d576..037268244 100644
--- a/source/slang/parser.cpp
+++ b/source/slang/parser.cpp
@@ -2974,53 +2974,6 @@ namespace Slang
RefPtr<Stmt> Parser::parseBlockStatement()
{
- // If we are being asked not to check things *and* we haven't
- // seen any `import` declarations yet, then we can safely assume
- // that function bodies should be left as-is.
- if( (translationUnit->compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING)
- && !haveSeenAnyImportDecls )
- {
- // We have been asked to parse the input, but not attempt to understand it.
-
- // TODO: record start/end locations...
-
- List<Token> tokens;
-
- ReadToken(TokenType::LBrace);
-
- int depth = 1;
- for( ;;)
- {
- switch( tokenReader.PeekTokenType() )
- {
- case TokenType::EndOfFile:
- goto done;
-
- case TokenType::RBrace:
- depth--;
- if(depth == 0)
- goto done;
- break;
-
- case TokenType::LBrace:
- depth++;
- break;
-
- default:
- break;
- }
-
- auto token = tokenReader.AdvanceToken();
- tokens.Add(token);
- }
- done:
- ReadToken(TokenType::RBrace);
-
- RefPtr<UnparsedStmt> unparsedStmt = new UnparsedStmt();
- unparsedStmt->tokens = tokens;
- return unparsedStmt;
- }
-
RefPtr<ScopeDecl> scopeDecl = new ScopeDecl();
RefPtr<BlockStmt> blockStatement = new BlockStmt();
blockStatement->scopeDecl = scopeDecl;