Commit 8bd2483
committed
fix(macros): keep SAFE_ADD, SAFE_SUB and SAFE_DIV grouped inside surrounding operators
The optimizer collapses the CASE built by SAFE_ADD/SAFE_SUB into its ELSE
branch without parentheses, so an enclosing operator swallows an operand.
Emit the ELSE arithmetic as an explicit Paren. SAFE_DIV now returns its
quotient wrapped in a Paren so x / @SAFE_DIV(a, b) keeps its grouping.
Closes #5649
Signed-off-by: Rodrigo-Palma <email.rodrigopalma@gmail.com>1 parent ad2377e commit 8bd2483
3 files changed
Lines changed: 75 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
887 | 887 | | |
888 | 888 | | |
889 | 889 | | |
890 | | - | |
| 890 | + | |
891 | 891 | | |
892 | 892 | | |
893 | 893 | | |
| |||
906 | 906 | | |
907 | 907 | | |
908 | 908 | | |
909 | | - | |
| 909 | + | |
910 | 910 | | |
911 | 911 | | |
912 | 912 | | |
| |||
925 | 925 | | |
926 | 926 | | |
927 | 927 | | |
928 | | - | |
| 928 | + | |
929 | 929 | | |
930 | 930 | | |
931 | 931 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1052 | 1052 | | |
1053 | 1053 | | |
1054 | 1054 | | |
1055 | | - | |
| 1055 | + | |
1056 | 1056 | | |
1057 | | - | |
1058 | | - | |
1059 | | - | |
1060 | | - | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
1061 | 1060 | | |
1062 | 1061 | | |
1063 | 1062 | | |
| |||
1070 | 1069 | | |
1071 | 1070 | | |
1072 | 1071 | | |
1073 | | - | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
1074 | 1086 | | |
1075 | 1087 | | |
1076 | 1088 | | |
1077 | 1089 | | |
1078 | | - | |
| 1090 | + | |
1079 | 1091 | | |
1080 | 1092 | | |
1081 | 1093 | | |
1082 | 1094 | | |
1083 | | - | |
| 1095 | + | |
1084 | 1096 | | |
1085 | 1097 | | |
1086 | 1098 | | |
1087 | 1099 | | |
1088 | 1100 | | |
1089 | 1101 | | |
1090 | 1102 | | |
1091 | | - | |
| 1103 | + | |
1092 | 1104 | | |
1093 | | - | |
| 1105 | + | |
| 1106 | + | |
1094 | 1107 | | |
1095 | 1108 | | |
1096 | 1109 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
1313 | 1314 | | |
1314 | 1315 | | |
1315 | 1316 | | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
0 commit comments