dawn-cmake/src
James Price 611f727a09 [validation] Handle variable scoping for nested blocks
* Push/pop the variable scope stack when validating blocks
* Handle nested blocks in ValidateStatement()
* Add test coverage

This also fixes issues with other types of validation errors not being
caught when inside nested blocks.

Change-Id: Ia8d0138b346a8a7aa607497d51fd6aaf675dc8be
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/39980
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-02-02 14:28:15 +00:00
..
ast Migrate to using semantic::Expression 2021-01-29 16:43:41 +00:00
diagnostic Add diag::List::add_error() helper 2021-01-26 18:52:11 +00:00
inspector Automatically run the TypeDeterminer when building programs 2021-01-27 19:23:55 +00:00
reader spirv-reader: support OpImageQueryLevels 2021-02-01 23:43:44 +00:00
semantic Add semantic::Expression, implement semantic::Info 2021-01-29 15:46:42 +00:00
transform EmitVertexPointSize: Don't share expressions between functions 2021-02-01 16:54:44 +00:00
type Remove special case type determination 2021-02-01 16:03:03 +00:00
validator [validation] Handle variable scoping for nested blocks 2021-02-02 14:28:15 +00:00
writer Handle MSL and HLSL builtins more consistently 2021-02-01 21:30:54 +00:00
CMakeLists.txt Refactor unnecessary builtin checks 2021-02-01 15:33:13 +00:00
block_allocator.h Add tint::BlockAllocator<T> 2021-01-21 15:30:10 +00:00
block_allocator_test.cc Add tint::BlockAllocator<T> 2021-01-21 15:30:10 +00:00
castable.cc Add ClassID::Unique template and TINT_INSTANTIATE_CLASS_ID 2020-12-02 18:19:28 +00:00
castable.h Add semantic::Expression, implement semantic::Info 2021-01-29 15:46:42 +00:00
castable_test.cc Castable: Minor tweaks 2020-12-03 17:44:19 +00:00
clone_context.cc Split Program into Program and ProgramBuilder 2021-01-26 16:57:10 +00:00
clone_context.h Split Program into Program and ProgramBuilder 2021-01-26 16:57:10 +00:00
clone_context_test.cc Introduce semantic::Info 2021-01-29 10:55:40 +00:00
demangler.cc Simplify calls to ast::Node::[to_]str() 2021-01-29 11:22:40 +00:00
demangler.h Simplify calls to ast::Node::[to_]str() 2021-01-29 11:22:40 +00:00
demangler_test.cc Demangler: Change signature of primary Demangle() function 2021-01-26 16:57:10 +00:00
namer.cc Namer: Take a SymbolTable instead of a Program 2021-01-26 16:57:10 +00:00
namer.h Namer: Take a SymbolTable instead of a Program 2021-01-26 16:57:10 +00:00
namer_test.cc Namer: Take a SymbolTable instead of a Program 2021-01-26 16:57:10 +00:00
program.cc Migrate to using semantic::Expression 2021-01-29 16:43:41 +00:00
program.h Migrate to using semantic::Expression 2021-01-29 16:43:41 +00:00
program_builder.cc Migrate to using semantic::Expression 2021-01-29 16:43:41 +00:00
program_builder.h Migrate to using semantic::Expression 2021-01-29 16:43:41 +00:00
program_builder_test.cc Add ProgramBuilder::Wrap() 2021-01-29 11:59:32 +00:00
program_test.cc Add Diagnostics to Program, reader::[wgsl,spirv]::Parse() 2021-01-27 18:49:05 +00:00
scope_stack.h Add std::hash<tint::Symbol> specialization 2021-01-11 22:02:42 +00:00
scope_stack_test.cc Split Program into Program and ProgramBuilder 2021-01-26 16:57:10 +00:00
source.cc Fixup lint errors. 2020-11-03 16:26:09 +00:00
source.h Fixup all doxygen tags 2020-12-02 15:31:08 +00:00
symbol.cc Add a symbol table. 2020-12-10 16:56:02 +00:00
symbol.h Add std::hash<tint::Symbol> specialization 2021-01-11 22:02:42 +00:00
symbol_table.cc SymbolTable: Rename GetSymbol() to Get() 2021-01-26 16:57:10 +00:00
symbol_table.h SymbolTable: Rename GetSymbol() to Get() 2021-01-26 16:57:10 +00:00
symbol_table_test.cc Add a symbol table. 2020-12-10 16:56:02 +00:00
symbol_test.cc Add a symbol table. 2020-12-10 16:56:02 +00:00
traits.h Split Program into Program and ProgramBuilder 2021-01-26 16:57:10 +00:00
traits_test.cc Move CloneContext and Traits from src/ast to src/ 2021-01-21 16:20:40 +00:00
type_determiner.cc Remove special case type determination 2021-02-01 16:03:03 +00:00
type_determiner.h Migrate to using semantic::Expression 2021-01-29 16:43:41 +00:00
type_determiner_test.cc Remove special case type determination 2021-02-01 16:03:03 +00:00