In an expression like a[ind]++, a[ind] is required to be an l-value but ind is not. Reset the l-value required flags before traversing the index of an indexing operation, so that this is accurately tracked. After the index has been traversed, the previous state of the l-value required flags is restored. New tests are added to angle_unittests cover this functionality. TEST=angle_unittests BUG=angleproject:1116 Change-Id: I8929ec01e85e672c83ef7d385e455b7df8682f4b Reviewed-on: https://chromium-review.googlesource.com/290561Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| API_test.cpp | Loading commit data... | |
| BuiltInFunctionEmulator_test.cpp | Loading commit data... | |
| CollectVariables_test.cpp | Loading commit data... | |
| ConstantFolding_test.cpp | Loading commit data... | |
| DebugShaderPrecision_test.cpp | Loading commit data... | |
| EXT_blend_func_extended_test.cpp | Loading commit data... | |
| ExpressionLimit_test.cpp | Loading commit data... | |
| MalformedShader_test.cpp | Loading commit data... | |
| NV_draw_buffers_test.cpp | Loading commit data... | |
| Pack_Unpack_test.cpp | Loading commit data... | |
| PruneUnusedFunctions_test.cpp | Loading commit data... | |
| RecordConstantPrecision_test.cpp | Loading commit data... | |
| RemovePow_test.cpp | Loading commit data... | |
| ShaderExtension_test.cpp | Loading commit data... | |
| ShaderVariable_test.cpp | Loading commit data... | |
| TypeTracking_test.cpp | Loading commit data... | |
| UnrollFlatten_test.cpp | Loading commit data... | |
| VariablePacker_test.cpp | Loading commit data... |