Commit 658f070
committed
Add additional check for custom array/hash access checking
PL_check[] can have customized checks for array/hash elements in the
OP_AELEM, OP_EXISTS, and OP_DELETE elements. When these are set, the
multideref optimization is turned off.
It turns out that checking for this always shows that they are not the
standard values on z/OS, because that platform's function pointers may
point to a "function descriptor" and not the actual function, or it may
not. It's not clear to me if this implementation conforms to the C
Standard or not, but it is what it is. As a result our test suite fails
some tests that are expecting non-custom entries in those slots.
This commit builds upon some ideas from Dave Mitchell and Richard Leach
to add 3 entries to the array of function pointers. These entries are
initialized the same way the others are, so that a comparison against
them when no customization has been done should succeed.
The current comparisons are retained, so that it's likely on z/OS one or
the other will succeed when no customization is currently in place.1 parent 789e970 commit 658f070
3 files changed
+52
-4
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2203 | 2203 | | |
2204 | 2204 | | |
2205 | 2205 | | |
2206 | | - | |
| 2206 | + | |
| 2207 | + | |
2207 | 2208 | | |
2208 | | - | |
| 2209 | + | |
| 2210 | + | |
2209 | 2211 | | |
2210 | 2212 | | |
2211 | 2213 | | |
2212 | | - | |
| 2214 | + | |
| 2215 | + | |
2213 | 2216 | | |
2214 | 2217 | | |
2215 | | - | |
| 2218 | + | |
| 2219 | + | |
2216 | 2220 | | |
2217 | 2221 | | |
2218 | 2222 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1114 | 1114 | | |
1115 | 1115 | | |
1116 | 1116 | | |
| 1117 | + | |
1117 | 1118 | | |
1118 | 1119 | | |
1119 | 1120 | | |
1120 | 1121 | | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
1121 | 1137 | | |
1122 | 1138 | | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
1123 | 1142 | | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
1124 | 1150 | | |
1125 | 1151 | | |
1126 | 1152 | | |
| |||
0 commit comments