Commit f0c7c24
committed
effects: give the most conservative effects to unhandled builtins
This commit fixes a bug where `builtin_tfunction` was giving the wrong
effects to builtins that weren't actually implemented.
xref: #57806 (comment)
Now, when we add new builtins, unless we manually update
`_EFFECTS_KNOWN_BUILTINS`, they'll automatically get the most
conservative `Effects()`.
Effects for builtins like `getglobal` are calculated individually inside
`abstract_call_builtin`, so there is no handling for them within
`builtin_effects` and thus they aren't in `_EFFECTS_KNOWN_BUILTINS`.
If we want to give these built-ins a better `stmt_effect_flag`, we need
to handle it in `builtin_effects` properly.1 parent 896d0b1 commit f0c7c24
2 files changed
+74
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2425 | 2425 | | |
2426 | 2426 | | |
2427 | 2427 | | |
2428 | | - | |
2429 | | - | |
2430 | | - | |
2431 | | - | |
2432 | 2428 | | |
2433 | 2429 | | |
2434 | 2430 | | |
| |||
2498 | 2494 | | |
2499 | 2495 | | |
2500 | 2496 | | |
| 2497 | + | |
| 2498 | + | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
| 2520 | + | |
| 2521 | + | |
| 2522 | + | |
| 2523 | + | |
| 2524 | + | |
| 2525 | + | |
| 2526 | + | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
| 2539 | + | |
| 2540 | + | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
| 2559 | + | |
| 2560 | + | |
| 2561 | + | |
2501 | 2562 | | |
2502 | 2563 | | |
2503 | 2564 | | |
| |||
2508 | 2569 | | |
2509 | 2570 | | |
2510 | 2571 | | |
2511 | | - | |
| 2572 | + | |
| 2573 | + | |
| 2574 | + | |
2512 | 2575 | | |
2513 | 2576 | | |
2514 | 2577 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1435 | 1435 | | |
1436 | 1436 | | |
1437 | 1437 | | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
0 commit comments