Zoltan Somogyi
d5c08567e4
Make format after switch work.
...
compiler/simplify_proc.m:
If a first attempt to analyse and optimize format calls fails
due to insufficient information about format strings and/or values,
then try the whole process again after pushing copies of the format calls,
and the conjuncts that precede them, into the last preceding branched
control structure (disjunction, switch, or if-then-else). This will
fix the problem if each branch does construct known format strings
and/or values, and is harmless if this is not the case.
tests/valid/format_after_switch.m:
A test case for the new capability.
tests/valid/Mmakefile:
tests/valid/Mercury.options:
Enable the new test case.
2025-11-16 13:42:36 +11:00
..
2021-07-27 19:29:21 +10:00
2022-04-14 20:25:10 +10:00
2021-07-28 01:32:43 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-07-02 16:16:24 +10:00
2023-11-02 03:22:50 +11:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2023-09-16 14:19:42 +10:00
2021-07-27 19:29:21 +10:00
2023-11-02 03:22:50 +11:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2023-09-16 14:19:42 +10:00
2023-09-16 14:19:42 +10:00
2023-09-16 14:19:42 +10:00
2023-09-16 14:19:42 +10:00
2023-09-16 14:19:42 +10:00
2020-10-23 01:38:58 +11:00
2023-09-16 14:19:42 +10:00
2023-09-16 14:19:42 +10:00
2022-02-07 17:30:32 +11:00
2024-02-20 17:37:31 +11:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2025-07-12 09:56:33 +10:00
2025-07-12 09:56:33 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-05-01 20:12:42 +10:00
2024-05-01 20:12:42 +10:00
2022-04-14 20:25:10 +10:00
2023-10-06 10:25:57 +11:00
2023-09-16 14:19:42 +10:00
2022-04-14 20:25:10 +10:00
2021-07-27 19:29:21 +10:00
2023-09-16 14:19:42 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2023-11-02 03:22:50 +11:00
2021-07-27 19:29:21 +10:00
2025-11-16 13:42:36 +11:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2023-09-16 14:19:42 +10:00
2021-08-20 20:05:38 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2023-11-02 03:22:50 +11:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2022-04-07 12:55:38 +10:00
2022-01-15 00:14:19 +11:00
2022-01-15 00:14:19 +11:00
2021-07-27 19:29:21 +10:00
2023-09-16 14:19:42 +10:00
2023-09-16 14:19:42 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2022-04-14 20:25:10 +10:00
2022-04-14 20:25:10 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2022-04-14 20:25:10 +10:00
2022-03-05 15:14:27 +11:00
2025-11-16 13:42:36 +11:00
2023-11-02 03:22:50 +11:00
2021-07-27 19:29:21 +10:00
2024-11-15 14:48:00 +11:00
2025-11-16 13:42:36 +11:00
2021-07-27 19:29:21 +10:00
2022-07-04 11:01:13 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2025-07-10 09:52:22 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-07-24 09:22:14 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2023-11-02 03:22:50 +11:00
2021-07-27 19:29:21 +10:00
2021-12-07 17:04:03 +11:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2022-04-14 20:25:10 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2022-04-13 23:39:23 +10:00
2022-07-04 11:01:13 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2022-04-14 20:25:10 +10:00
2021-03-15 11:16:31 +11:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2021-07-27 19:29:21 +10:00
2025-09-16 15:08:45 +10:00
2023-09-16 14:19:42 +10:00
2021-07-27 19:29:21 +10:00
2022-04-14 20:25:10 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2020-07-29 01:39:42 +10:00
2020-07-14 00:51:50 +10:00
2021-07-27 19:29:21 +10:00
2021-07-27 19:29:21 +10:00
2024-08-06 00:32:48 +02:00
2022-12-05 09:45:11 +11:00
2022-04-14 20:25:10 +10:00