diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2022-09-27 12:31:07 +0200 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2022-10-29 10:03:30 +0200 |
commit | a1dabb4792446538cce24eb87bcd3ccb3c09f18b (patch) | |
tree | b74523469addfab9db6afc5ced3564ce267da4d7 /test/regression/Results/switch3 | |
parent | dfc6b66ec21e148d29b2a6e8b5d77873a0a47511 (diff) | |
download | compcert-a1dabb4792446538cce24eb87bcd3ccb3c09f18b.tar.gz compcert-a1dabb4792446538cce24eb87bcd3ccb3c09f18b.zip |
Handle unstructured 'switch' statements such as Duff's device
- New elaboration pass: SwitchNorm
- recognizes structured 'switch' statements and puts them in a
normalized form;
- if selected, transforms unstructured 'switch' statements into a
structured switch with goto actions + the original switch body
with appropriate labels and gotos.
- C2C treatment of 'switch' statements is simplified accordingly.
- New language support option `-funstructured-switch`.
- Some tests were added (test/regression/switch3.c).
Diffstat (limited to 'test/regression/Results/switch3')
-rw-r--r-- | test/regression/Results/switch3 | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/regression/Results/switch3 b/test/regression/Results/switch3 new file mode 100644 index 00000000..8d8b09b8 --- /dev/null +++ b/test/regression/Results/switch3 @@ -0,0 +1,10 @@ +0123456789AB +\(ab\$cd\) +(ab\$cd) +abcccdee +10001 10004 20002 20022 30007 30008 +30008 30007 20022 20002 10004 10001 +30007 30008 20002 20022 10001 10004 +0 1 1 2 L1 L2 3 L2 4 3 L2 +5 55 555 +60Y 61Y 6XY |