Commit 412a5f4
Cherry-pick 5a66ef38bf19. rdar://128873925
Fix array OOB due to a bug in comma expression processing.
https://bugs.webkit.org/show_bug.cgi?id=xxxxx
rdar://128873925
Reviewed by Dan Glastonbury.
A pre-pass of the ANGLE compiler separates compound expressions into single
expressions with temporary values. (i.e. x=A+B+C can become tmp1 = b+C,
x=A+tmp1;). When creating a temporary variable, we previously would copy
the entire type. However, the type constructor also lead to copying
qualifiers, such as 'uniform' and 'interface block' markers: Qualifiers
that can belong to an original type, but shouldn't ever be applied to
temporary variables. (Fix and explanation by Kyle Piddington.)
* Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp:
(sh::Separator::pushBinding):
Canonical link: https://commits.webkit.org/272448.1110@safari-7618-branch
Canonical link: https://commits.webkit.org/272448.1118@safari-7618.3.11.11-branch1 parent e28a7c3 commit 412a5f4
1 file changed
Lines changed: 4 additions & 2 deletions
File tree
- Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/msl
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
265 | | - | |
266 | | - | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
267 | 269 | | |
268 | 270 | | |
269 | 271 | | |
| |||
0 commit comments