diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2014-08-27 21:46:52 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2014-08-27 21:46:52 -0400 |
| commit | 1b487a890695e7d6dfbfe5dcd7d4fa0e8ca8003f (patch) | |
| tree | 552fabade603ab0d148a49ae3cf1abd3f399740a /src/test/run-make/graphviz-flowgraph | |
| parent | 3ee047ae1ffab454270bc1859b3beef3556ef8f9 (diff) | |
Implement generalized object and type parameter bounds (Fixes #16462)
Diffstat (limited to 'src/test/run-make/graphviz-flowgraph')
25 files changed, 829 insertions, 559 deletions
diff --git a/src/test/run-make/graphviz-flowgraph/f01.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f01.dot-expected.dot index a5239a6cc66..c5455ab90dc 100644 --- a/src/test/run-make/graphviz-flowgraph/f01.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f01.dot-expected.dot @@ -2,8 +2,10 @@ digraph block { N0[label="entry"]; N1[label="exit"]; N2[label="expr 1i"]; - N3[label="block { 1i; }"]; + N3[label="stmt 1i;"]; + N4[label="block { 1i; }"]; N0 -> N2; N2 -> N3; - N3 -> N1; + N3 -> N4; + N4 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f02.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f02.dot-expected.dot index ada3f091808..230dcbaeb98 100644 --- a/src/test/run-make/graphviz-flowgraph/f02.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f02.dot-expected.dot @@ -2,8 +2,10 @@ digraph block { N0[label="entry"]; N1[label="exit"]; N2[label="local _x"]; - N3[label="block { let _x: int; }"]; + N3[label="stmt let _x: int;"]; + N4[label="block { let _x: int; }"]; N0 -> N2; N2 -> N3; - N3 -> N1; + N3 -> N4; + N4 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f03.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f03.dot-expected.dot index 43462862f6e..e60d349ad14 100644 --- a/src/test/run-make/graphviz-flowgraph/f03.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f03.dot-expected.dot @@ -4,10 +4,12 @@ digraph block { N2[label="expr 3i"]; N3[label="expr 33i"]; N4[label="expr 3i + 33i"]; - N5[label="block { 3i + 33i; }"]; + N5[label="stmt 3i + 33i;"]; + N6[label="block { 3i + 33i; }"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; - N5 -> N1; + N5 -> N6; + N6 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f04.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f04.dot-expected.dot index 26c858a0828..82cdcb39fbf 100644 --- a/src/test/run-make/graphviz-flowgraph/f04.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f04.dot-expected.dot @@ -3,9 +3,11 @@ digraph block { N1[label="exit"]; N2[label="expr 4i"]; N3[label="local _x"]; - N4[label="block { let _x = 4i; }"]; + N4[label="stmt let _x = 4i;"]; + N5[label="block { let _x = 4i; }"]; N0 -> N2; N2 -> N3; N3 -> N4; - N4 -> N1; + N4 -> N5; + N5 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f05.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f05.dot-expected.dot index 850d04f430f..8a27d536ffc 100644 --- a/src/test/run-make/graphviz-flowgraph/f05.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f05.dot-expected.dot @@ -7,7 +7,8 @@ digraph block { N5[label="local _x"]; N6[label="local _y"]; N7[label="pat (_x, _y)"]; - N8[label="block { let (_x, _y) = (5i, 55i); }"]; + N8[label="stmt let (_x, _y) = (5i, 55i);"]; + N9[label="block { let (_x, _y) = (5i, 55i); }"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -15,5 +16,6 @@ digraph block { N5 -> N6; N6 -> N7; N7 -> N8; - N8 -> N1; + N8 -> N9; + N9 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f06.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f06.dot-expected.dot index b431476f84a..54e9d89d3fb 100644 --- a/src/test/run-make/graphviz-flowgraph/f06.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f06.dot-expected.dot @@ -5,11 +5,13 @@ digraph block { N3[label="expr S6{val: 6,}"]; N4[label="local _x"]; N5[label="pat S6 { val: _x }"]; - N6[label="block { let S6 { val: _x } = S6{val: 6,}; }"]; + N6[label="stmt let S6 { val: _x } = S6{val: 6,};"]; + N7[label="block { let S6 { val: _x } = S6{val: 6,}; }"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; - N6 -> N1; + N6 -> N7; + N7 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f07.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f07.dot-expected.dot index 2b7088fbc33..4c6383324e5 100644 --- a/src/test/run-make/graphviz-flowgraph/f07.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f07.dot-expected.dot @@ -15,7 +15,8 @@ digraph block { N13[label="expr x"]; N14[label="expr y"]; N15[label="expr x + y"]; - N16[label="block { match [7i, 77i, 777i, 7777i] { [x, y, ..] => x + y, }; }"]; + N16[label="stmt match [7i, 77i, 777i, 7777i] { [x, y, ..] => x + y, };"]; + N17[label="block { match [7i, 77i, 777i, 7777i] { [x, y, ..] => x + y, }; }"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -31,5 +32,6 @@ digraph block { N14 -> N15; N15 -> N7; N7 -> N16; - N16 -> N1; + N16 -> N17; + N17 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f08.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f08.dot-expected.dot index f43beb025e3..27a240ed182 100644 --- a/src/test/run-make/graphviz-flowgraph/f08.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f08.dot-expected.dot @@ -3,16 +3,19 @@ digraph block { N1[label="exit"]; N2[label="expr 8i"]; N3[label="local x"]; - N4[label="local _y"]; - N5[label="expr x"]; - N6[label="expr 88i"]; - N7[label="expr x > 88i"]; - N8[label="expr 888i"]; - N9[label="expr _y"]; - N10[label="expr _y = 888i"]; - N11[label="block { _y = 888i; }"]; - N12[label="expr if x > 88i { _y = 888i; }"]; - N13[label="block { let x = 8i; let _y; if x > 88i { _y = 888i; } }"]; + N4[label="stmt let x = 8i;"]; + N5[label="local _y"]; + N6[label="stmt let _y;"]; + N7[label="expr x"]; + N8[label="expr 88i"]; + N9[label="expr x > 88i"]; + N10[label="expr 888i"]; + N11[label="expr _y"]; + N12[label="expr _y = 888i"]; + N13[label="stmt _y = 888i;"]; + N14[label="block { _y = 888i; }"]; + N15[label="expr if x > 88i { _y = 888i; }"]; + N16[label="block { let x = 8i; let _y; if x > 88i { _y = 888i; } }"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -23,8 +26,11 @@ digraph block { N8 -> N9; N9 -> N10; N10 -> N11; - N7 -> N12; N11 -> N12; N12 -> N13; - N13 -> N1; + N13 -> N14; + N9 -> N15; + N14 -> N15; + N15 -> N16; + N16 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f09.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f09.dot-expected.dot index a3576b9c36b..d2c58c6d59a 100644 --- a/src/test/run-make/graphviz-flowgraph/f09.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f09.dot-expected.dot @@ -3,23 +3,27 @@ digraph block { N1[label="exit"]; N2[label="expr 91i"]; N3[label="local x"]; - N4[label="local _y"]; - N5[label="expr x"]; - N6[label="expr 92i"]; - N7[label="expr x > 92i"]; - N8[label="expr 93i"]; - N9[label="expr _y"]; - N10[label="expr _y = 93i"]; - N11[label="block { _y = 93i; }"]; - N12[label="expr 94i"]; - N13[label="expr 95i"]; - N14[label="expr 94i + 95i"]; - N15[label="expr _y"]; - N16[label="expr _y = 94i + 95i"]; - N17[label="block { _y = 94i + 95i; }"]; - N18[label="expr { _y = 94i + 95i; }"]; - N19[label="expr if x > 92i { _y = 93i; } else { _y = 94i + 95i; }"]; - N20[label="block { let x = 91i; let _y; if x > 92i { _y = 93i; } else { _y = 94i + 95i; } }"]; + N4[label="stmt let x = 91i;"]; + N5[label="local _y"]; + N6[label="stmt let _y;"]; + N7[label="expr x"]; + N8[label="expr 92i"]; + N9[label="expr x > 92i"]; + N10[label="expr 93i"]; + N11[label="expr _y"]; + N12[label="expr _y = 93i"]; + N13[label="stmt _y = 93i;"]; + N14[label="block { _y = 93i; }"]; + N15[label="expr 94i"]; + N16[label="expr 95i"]; + N17[label="expr 94i + 95i"]; + N18[label="expr _y"]; + N19[label="expr _y = 94i + 95i"]; + N20[label="stmt _y = 94i + 95i;"]; + N21[label="block { _y = 94i + 95i; }"]; + N22[label="expr { _y = 94i + 95i; }"]; + N23[label="expr if x > 92i { _y = 93i; } else { _y = 94i + 95i; }"]; + N24[label="block { let x = 91i; let _y; if x > 92i { _y = 93i; } else { _y = 94i + 95i; } }"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -30,15 +34,19 @@ digraph block { N8 -> N9; N9 -> N10; N10 -> N11; - N7 -> N12; + N11 -> N12; N12 -> N13; N13 -> N14; - N14 -> N15; + N9 -> N15; N15 -> N16; N16 -> N17; N17 -> N18; - N11 -> N19; N18 -> N19; N19 -> N20; - N20 -> N1; + N20 -> N21; + N21 -> N22; + N14 -> N23; + N22 -> N23; + N23 -> N24; + N24 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f10.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f10.dot-expected.dot index 69b5bd6f58c..421a79fd136 100644 --- a/src/test/run-make/graphviz-flowgraph/f10.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f10.dot-expected.dot @@ -3,16 +3,18 @@ digraph block { N1[label="exit"]; N2[label="expr 10i"]; N3[label="local mut x"]; - N4[label="(dummy_node)"]; - N5[label="expr x"]; - N6[label="expr 0i"]; - N7[label="expr x > 0i"]; - N8[label="expr while x > 0i { x -= 1i; }"]; - N9[label="expr 1i"]; - N10[label="expr x"]; - N11[label="expr x -= 1i"]; - N12[label="block { x -= 1i; }"]; - N13[label="block { let mut x = 10i; while x > 0i { x -= 1i; } }"]; + N4[label="stmt let mut x = 10i;"]; + N5[label="(dummy_node)"]; + N6[label="expr x"]; + N7[label="expr 0i"]; + N8[label="expr x > 0i"]; + N9[label="expr while x > 0i { x -= 1i; }"]; + N10[label="expr 1i"]; + N11[label="expr x"]; + N12[label="expr x -= 1i"]; + N13[label="stmt x -= 1i;"]; + N14[label="block { x -= 1i; }"]; + N15[label="block { let mut x = 10i; while x > 0i { x -= 1i; } }"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -20,11 +22,13 @@ digraph block { N5 -> N6; N6 -> N7; N7 -> N8; - N7 -> N9; - N9 -> N10; + N8 -> N9; + N8 -> N10; N10 -> N11; N11 -> N12; - N12 -> N4; - N8 -> N13; - N13 -> N1; + N12 -> N13; + N13 -> N14; + N14 -> N5; + N9 -> N15; + N15 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f11.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f11.dot-expected.dot index 44024cf76f3..b928058fed9 100644 --- a/src/test/run-make/graphviz-flowgraph/f11.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f11.dot-expected.dot @@ -3,23 +3,31 @@ digraph block { N1[label="exit"]; N2[label="expr 11i"]; N3[label="local mut _x"]; - N4[label="(dummy_node)"]; - N5[label="expr loop { _x -= 1i; }"]; - N6[label="expr 1i"]; - N7[label="expr _x"]; - N8[label="expr _x -= 1i"]; - N9[label="block { _x -= 1i; }"]; - N10[label="expr \"unreachable\""]; - N11[label="block { let mut _x = 11i; loop { _x -= 1i; } \"unreachable\"; }"]; + N4[label="stmt let mut _x = 11i;"]; + N5[label="(dummy_node)"]; + N6[label="expr loop { _x -= 1i; }"]; + N7[label="expr 1i"]; + N8[label="expr _x"]; + N9[label="expr _x -= 1i"]; + N10[label="stmt _x -= 1i;"]; + N11[label="block { _x -= 1i; }"]; + N12[label="stmt loop { _x -= 1i; }"]; + N13[label="expr \"unreachable\""]; + N14[label="stmt \"unreachable\";"]; + N15[label="block { let mut _x = 11i; loop { _x -= 1i; } \"unreachable\"; }"]; N0 -> N2; N2 -> N3; N3 -> N4; - N4 -> N6; - N6 -> N7; + N4 -> N5; + N5 -> N7; N7 -> N8; N8 -> N9; - N9 -> N4; - N5 -> N10; + N9 -> N10; N10 -> N11; - N11 -> N1; + N11 -> N5; + N6 -> N12; + N12 -> N13; + N13 -> N14; + N14 -> N15; + N15 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f12.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f12.dot-expected.dot index ad257c19741..d89a37308de 100644 --- a/src/test/run-make/graphviz-flowgraph/f12.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f12.dot-expected.dot @@ -3,38 +3,46 @@ digraph block { N1[label="exit"]; N2[label="expr 12i"]; N3[label="local mut x"]; - N4[label="(dummy_node)"]; - N5[label="expr loop { x -= 1i; if x == 2i { break ; \"unreachable\"; } }"]; - N6[label="expr 1i"]; - N7[label="expr x"]; - N8[label="expr x -= 1i"]; - N9[label="expr x"]; - N10[label="expr 2i"]; - N11[label="expr x == 2i"]; - N12[label="expr break"]; - N13[label="(dummy_node)"]; - N14[label="expr \"unreachable\""]; - N15[label="block { break ; \"unreachable\"; }"]; - N16[label="expr if x == 2i { break ; \"unreachable\"; }"]; - N17[label="block { x -= 1i; if x == 2i { break ; \"unreachable\"; } }"]; - N18[label="block { let mut x = 12i; loop { x -= 1i; if x == 2i { break ; \"unreachable\"; } } }"]; + N4[label="stmt let mut x = 12i;"]; + N5[label="(dummy_node)"]; + N6[label="expr loop { x -= 1i; if x == 2i { break ; \"unreachable\"; } }"]; + N7[label="expr 1i"]; + N8[label="expr x"]; + N9[label="expr x -= 1i"]; + N10[label="stmt x -= 1i;"]; + N11[label="expr x"]; + N12[label="expr 2i"]; + N13[label="expr x == 2i"]; + N14[label="expr break"]; + N15[label="(dummy_node)"]; + N16[label="stmt break ;"]; + N17[label="expr \"unreachable\""]; + N18[label="stmt \"unreachable\";"]; + N19[label="block { break ; \"unreachable\"; }"]; + N20[label="expr if x == 2i { break ; \"unreachable\"; }"]; + N21[label="block { x -= 1i; if x == 2i { break ; \"unreachable\"; } }"]; + N22[label="block { let mut x = 12i; loop { x -= 1i; if x == 2i { break ; \"unreachable\"; } } }"]; N0 -> N2; N2 -> N3; N3 -> N4; - N4 -> N6; - N6 -> N7; + N4 -> N5; + N5 -> N7; N7 -> N8; N8 -> N9; N9 -> N10; N10 -> N11; N11 -> N12; - N12 -> N5[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if x == 2i { break ; \"unreachable\"; },\lexiting scope_4 block { x -= 1i; if x == 2i { break ; \"unreachable\"; } }"]; + N12 -> N13; N13 -> N14; - N14 -> N15; - N11 -> N16; + N14 -> N6[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if x == 2i { break ; \"unreachable\"; },\lexiting scope_4 block { x -= 1i; if x == 2i { break ; \"unreachable\"; } }"]; N15 -> N16; N16 -> N17; - N17 -> N4; - N5 -> N18; - N18 -> N1; + N17 -> N18; + N18 -> N19; + N13 -> N20; + N19 -> N20; + N20 -> N21; + N21 -> N5; + N6 -> N22; + N22 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f13.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f13.dot-expected.dot index 5d1d1253b22..aa43ef51534 100644 --- a/src/test/run-make/graphviz-flowgraph/f13.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f13.dot-expected.dot @@ -5,44 +5,48 @@ digraph block { N3[label="expr 13"]; N4[label="expr E13b(13)"]; N5[label="local x"]; - N6[label="local _y"]; - N7[label="expr x"]; - N8[label="expr match x { E13a => _y = 1, E13b(v) => _y = v + 1, }"]; - N9[label="(dummy_node)"]; - N10[label="local E13a"]; - N11[label="expr 1"]; - N12[label="expr _y"]; - N13[label="expr _y = 1"]; - N14[label="(dummy_node)"]; - N15[label="local v"]; - N16[label="pat E13b(v)"]; - N17[label="expr v"]; - N18[label="expr 1"]; - N19[label="expr v + 1"]; - N20[label="expr _y"]; - N21[label="expr _y = v + 1"]; - N22[label="block {\l let x = E13b(13);\l let _y;\l match x { E13a => _y = 1, E13b(v) => _y = v + 1, }\l}\l"]; + N6[label="stmt let x = E13b(13);"]; + N7[label="local _y"]; + N8[label="stmt let _y;"]; + N9[label="expr x"]; + N10[label="expr match x { E13a => _y = 1, E13b(v) => _y = v + 1, }"]; + N11[label="(dummy_node)"]; + N12[label="local E13a"]; + N13[label="expr 1"]; + N14[label="expr _y"]; + N15[label="expr _y = 1"]; + N16[label="(dummy_node)"]; + N17[label="local v"]; + N18[label="pat E13b(v)"]; + N19[label="expr v"]; + N20[label="expr 1"]; + N21[label="expr v + 1"]; + N22[label="expr _y"]; + N23[label="expr _y = v + 1"]; + N24[label="block {\l let x = E13b(13);\l let _y;\l match x { E13a => _y = 1, E13b(v) => _y = v + 1, }\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; N6 -> N7; - N7 -> N9; - N9 -> N10; - N10 -> N11; + N7 -> N8; + N8 -> N9; + N9 -> N11; N11 -> N12; N12 -> N13; - N13 -> N8; - N9 -> N14; + N13 -> N14; N14 -> N15; - N15 -> N16; + N15 -> N10; + N11 -> N16; N16 -> N17; N17 -> N18; N18 -> N19; N19 -> N20; N20 -> N21; - N21 -> N8; - N8 -> N22; - N22 -> N1; + N21 -> N22; + N22 -> N23; + N23 -> N10; + N10 -> N24; + N24 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f14.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f14.dot-expected.dot index f8e4bd12bb0..bdb2c133bad 100644 --- a/src/test/run-make/graphviz-flowgraph/f14.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f14.dot-expected.dot @@ -3,26 +3,32 @@ digraph block { N1[label="exit"]; N2[label="expr 14i"]; N3[label="local x"]; - N4[label="expr x"]; - N5[label="expr 1i"]; - N6[label="expr x > 1i"]; - N7[label="expr return"]; - N8[label="(dummy_node)"]; - N9[label="expr \"unreachable\""]; - N10[label="block { return; \"unreachable\"; }"]; - N11[label="expr if x > 1i { return; \"unreachable\"; }"]; - N12[label="block { let x = 14i; if x > 1i { return; \"unreachable\"; } }"]; + N4[label="stmt let x = 14i;"]; + N5[label="expr x"]; + N6[label="expr 1i"]; + N7[label="expr x > 1i"]; + N8[label="expr return"]; + N9[label="(dummy_node)"]; + N10[label="stmt return;"]; + N11[label="expr \"unreachable\""]; + N12[label="stmt \"unreachable\";"]; + N13[label="block { return; \"unreachable\"; }"]; + N14[label="expr if x > 1i { return; \"unreachable\"; }"]; + N15[label="block { let x = 14i; if x > 1i { return; \"unreachable\"; } }"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; N6 -> N7; - N7 -> N1; - N8 -> N9; + N7 -> N8; + N8 -> N1; N9 -> N10; - N6 -> N11; N10 -> N11; N11 -> N12; - N12 -> N1; + N12 -> N13; + N7 -> N14; + N13 -> N14; + N14 -> N15; + N15 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f15.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f15.dot-expected.dot index 77ee0df5512..4bd9fc9ec1a 100644 --- a/src/test/run-make/graphviz-flowgraph/f15.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f15.dot-expected.dot @@ -3,77 +3,101 @@ digraph block { N1[label="exit"]; N2[label="expr 15i"]; N3[label="local mut x"]; - N4[label="expr 151i"]; - N5[label="local mut y"]; - N6[label="(dummy_node)"]; - N7[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l }\l"]; + N4[label="stmt let mut x = 15i;"]; + N5[label="expr 151i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 151i;"]; N8[label="(dummy_node)"]; - N9[label="expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l"]; - N10[label="expr x"]; - N11[label="expr 1i"]; - N12[label="expr x == 1i"]; - N13[label="expr break \'outer"]; - N14[label="(dummy_node)"]; - N15[label="expr \"unreachable\""]; - N16[label="block { break \'outer ; \"unreachable\"; }"]; - N17[label="expr if x == 1i { break \'outer ; \"unreachable\"; }"]; - N18[label="expr y"]; - N19[label="expr 2i"]; - N20[label="expr y >= 2i"]; - N21[label="expr break"]; - N22[label="(dummy_node)"]; - N23[label="expr \"unreachable\""]; - N24[label="block { break ; \"unreachable\"; }"]; - N25[label="expr if y >= 2i { break ; \"unreachable\"; }"]; - N26[label="expr 3i"]; - N27[label="expr y"]; - N28[label="expr y -= 3i"]; - N29[label="block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l}\l"]; - N30[label="expr 4i"]; - N31[label="expr y"]; - N32[label="expr y -= 4i"]; - N33[label="expr 5i"]; - N34[label="expr x"]; - N35[label="expr x -= 5i"]; - N36[label="block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l}\l"]; - N37[label="block {\l let mut x = 15i;\l let mut y = 151i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l }\l}\l"]; + N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l }\l"]; + N10[label="(dummy_node)"]; + N11[label="expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l"]; + N12[label="expr x"]; + N13[label="expr 1i"]; + N14[label="expr x == 1i"]; + N15[label="expr break \'outer"]; + N16[label="(dummy_node)"]; + N17[label="stmt break \'outer ;"]; + N18[label="expr \"unreachable\""]; + N19[label="stmt \"unreachable\";"]; + N20[label="block { break \'outer ; \"unreachable\"; }"]; + N21[label="expr if x == 1i { break \'outer ; \"unreachable\"; }"]; + N22[label="stmt if x == 1i { break \'outer ; \"unreachable\"; }"]; + N23[label="expr y"]; + N24[label="expr 2i"]; + N25[label="expr y >= 2i"]; + N26[label="expr break"]; + N27[label="(dummy_node)"]; + N28[label="stmt break ;"]; + N29[label="expr \"unreachable\""]; + N30[label="stmt \"unreachable\";"]; + N31[label="block { break ; \"unreachable\"; }"]; + N32[label="expr if y >= 2i { break ; \"unreachable\"; }"]; + N33[label="stmt if y >= 2i { break ; \"unreachable\"; }"]; + N34[label="expr 3i"]; + N35[label="expr y"]; + N36[label="expr y -= 3i"]; + N37[label="stmt y -= 3i;"]; + N38[label="block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l}\l"]; + N39[label="stmt \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l"]; + N40[label="expr 4i"]; + N41[label="expr y"]; + N42[label="expr y -= 4i"]; + N43[label="stmt y -= 4i;"]; + N44[label="expr 5i"]; + N45[label="expr x"]; + N46[label="expr x -= 5i"]; + N47[label="stmt x -= 5i;"]; + N48[label="block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l}\l"]; + N49[label="block {\l let mut x = 15i;\l let mut y = 151i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l }\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; - N6 -> N8; + N6 -> N7; + N7 -> N8; N8 -> N10; - N10 -> N11; - N11 -> N12; + N10 -> N12; N12 -> N13; - N13 -> N7[label="exiting scope_0 expr break \'outer,\lexiting scope_1 stmt break \'outer ;,\lexiting scope_2 block { break \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l}\l"]; + N13 -> N14; N14 -> N15; - N15 -> N16; - N12 -> N17; + N15 -> N9[label="exiting scope_0 expr break \'outer,\lexiting scope_1 stmt break \'outer ;,\lexiting scope_2 block { break \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l }\l y -= 4i;\l x -= 5i;\l}\l"]; N16 -> N17; N17 -> N18; N18 -> N19; N19 -> N20; + N14 -> N21; N20 -> N21; - N21 -> N9[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y >= 2i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y >= 2i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l}\l"]; + N21 -> N22; N22 -> N23; N23 -> N24; - N20 -> N25; N24 -> N25; N25 -> N26; - N26 -> N27; + N26 -> N11[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y >= 2i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y >= 2i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { break ; \"unreachable\"; }\l y -= 3i;\l}\l"]; N27 -> N28; N28 -> N29; - N29 -> N8; - N9 -> N30; + N29 -> N30; N30 -> N31; + N25 -> N32; N31 -> N32; N32 -> N33; N33 -> N34; N34 -> N35; N35 -> N36; - N36 -> N6; - N7 -> N37; - N37 -> N1; + N36 -> N37; + N37 -> N38; + N38 -> N10; + N11 -> N39; + N39 -> N40; + N40 -> N41; + N41 -> N42; + N42 -> N43; + N43 -> N44; + N44 -> N45; + N45 -> N46; + N46 -> N47; + N47 -> N48; + N48 -> N8; + N9 -> N49; + N49 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f16.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f16.dot-expected.dot index b5a867e6029..16b871bd844 100644 --- a/src/test/run-make/graphviz-flowgraph/f16.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f16.dot-expected.dot @@ -3,79 +3,107 @@ digraph block { N1[label="exit"]; N2[label="expr 16i"]; N3[label="local mut x"]; - N4[label="expr 16i"]; - N5[label="local mut y"]; - N6[label="(dummy_node)"]; - N7[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l }\l"]; + N4[label="stmt let mut x = 16i;"]; + N5[label="expr 16i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 16i;"]; N8[label="(dummy_node)"]; - N9[label="expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l"]; - N10[label="expr x"]; - N11[label="expr 1i"]; - N12[label="expr x == 1i"]; - N13[label="expr continue \'outer"]; - N14[label="(dummy_node)"]; - N15[label="expr \"unreachable\""]; - N16[label="block { continue \'outer ; \"unreachable\"; }"]; - N17[label="expr if x == 1i { continue \'outer ; \"unreachable\"; }"]; - N18[label="expr y"]; - N19[label="expr 1i"]; - N20[label="expr y >= 1i"]; - N21[label="expr break"]; - N22[label="(dummy_node)"]; - N23[label="expr \"unreachable\""]; - N24[label="block { break ; \"unreachable\"; }"]; - N25[label="expr if y >= 1i { break ; \"unreachable\"; }"]; - N26[label="expr 1i"]; - N27[label="expr y"]; - N28[label="expr y -= 1i"]; - N29[label="block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l}\l"]; - N30[label="expr 1i"]; - N31[label="expr y"]; - N32[label="expr y -= 1i"]; - N33[label="expr 1i"]; - N34[label="expr x"]; - N35[label="expr x -= 1i"]; - N36[label="block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l}\l"]; - N37[label="expr \"unreachable\""]; - N38[label="block {\l let mut x = 16i;\l let mut y = 16i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l }\l \"unreachable\";\l}\l"]; + N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l }\l"]; + N10[label="(dummy_node)"]; + N11[label="expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l"]; + N12[label="expr x"]; + N13[label="expr 1i"]; + N14[label="expr x == 1i"]; + N15[label="expr continue \'outer"]; + N16[label="(dummy_node)"]; + N17[label="stmt continue \'outer ;"]; + N18[label="expr \"unreachable\""]; + N19[label="stmt \"unreachable\";"]; + N20[label="block { continue \'outer ; \"unreachable\"; }"]; + N21[label="expr if x == 1i { continue \'outer ; \"unreachable\"; }"]; + N22[label="stmt if x == 1i { continue \'outer ; \"unreachable\"; }"]; + N23[label="expr y"]; + N24[label="expr 1i"]; + N25[label="expr y >= 1i"]; + N26[label="expr break"]; + N27[label="(dummy_node)"]; + N28[label="stmt break ;"]; + N29[label="expr \"unreachable\""]; + N30[label="stmt \"unreachable\";"]; + N31[label="block { break ; \"unreachable\"; }"]; + N32[label="expr if y >= 1i { break ; \"unreachable\"; }"]; + N33[label="stmt if y >= 1i { break ; \"unreachable\"; }"]; + N34[label="expr 1i"]; + N35[label="expr y"]; + N36[label="expr y -= 1i"]; + N37[label="stmt y -= 1i;"]; + N38[label="block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l}\l"]; + N39[label="stmt \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l"]; + N40[label="expr 1i"]; + N41[label="expr y"]; + N42[label="expr y -= 1i"]; + N43[label="stmt y -= 1i;"]; + N44[label="expr 1i"]; + N45[label="expr x"]; + N46[label="expr x -= 1i"]; + N47[label="stmt x -= 1i;"]; + N48[label="block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l}\l"]; + N49[label="stmt \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l }\l"]; + N50[label="expr \"unreachable\""]; + N51[label="stmt \"unreachable\";"]; + N52[label="block {\l let mut x = 16i;\l let mut y = 16i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l }\l \"unreachable\";\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; - N6 -> N8; + N6 -> N7; + N7 -> N8; N8 -> N10; - N10 -> N11; - N11 -> N12; + N10 -> N12; N12 -> N13; - N13 -> N6[label="exiting scope_0 expr continue \'outer,\lexiting scope_1 stmt continue \'outer ;,\lexiting scope_2 block { continue \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l}\l"]; + N13 -> N14; N14 -> N15; - N15 -> N16; - N12 -> N17; + N15 -> N8[label="exiting scope_0 expr continue \'outer,\lexiting scope_1 stmt continue \'outer ;,\lexiting scope_2 block { continue \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l }\l y -= 1i;\l x -= 1i;\l}\l"]; N16 -> N17; N17 -> N18; N18 -> N19; N19 -> N20; + N14 -> N21; N20 -> N21; - N21 -> N9[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y >= 1i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y >= 1i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l}\l"]; + N21 -> N22; N22 -> N23; N23 -> N24; - N20 -> N25; N24 -> N25; N25 -> N26; - N26 -> N27; + N26 -> N11[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y >= 1i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y >= 1i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 1i { break ; \"unreachable\"; }\l y -= 1i;\l}\l"]; N27 -> N28; N28 -> N29; - N29 -> N8; - N9 -> N30; + N29 -> N30; N30 -> N31; + N25 -> N32; N31 -> N32; N32 -> N33; N33 -> N34; N34 -> N35; N35 -> N36; - N36 -> N6; - N7 -> N37; + N36 -> N37; N37 -> N38; - N38 -> N1; + N38 -> N10; + N11 -> N39; + N39 -> N40; + N40 -> N41; + N41 -> N42; + N42 -> N43; + N43 -> N44; + N44 -> N45; + N45 -> N46; + N46 -> N47; + N47 -> N48; + N48 -> N8; + N9 -> N49; + N49 -> N50; + N50 -> N51; + N51 -> N52; + N52 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f17.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f17.dot-expected.dot index d3e098a71f2..c78224c00df 100644 --- a/src/test/run-make/graphviz-flowgraph/f17.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f17.dot-expected.dot @@ -6,12 +6,14 @@ digraph block { N4[label="expr 17i"]; N5[label="expr [1i, 7i, 17i]"]; N6[label="local _v"]; - N7[label="block { let _v = [1i, 7i, 17i]; }"]; + N7[label="stmt let _v = [1i, 7i, 17i];"]; + N8[label="block { let _v = [1i, 7i, 17i]; }"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; N6 -> N7; - N7 -> N1; + N7 -> N8; + N8 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f18.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f18.dot-expected.dot index 6345b4effaf..c4a39a519ed 100644 --- a/src/test/run-make/graphviz-flowgraph/f18.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f18.dot-expected.dot @@ -1,17 +1,21 @@ digraph block { N0[label="entry"]; N1[label="exit"]; - N2[label="expr inner"]; + N2[label="stmt fn inner(x: int) -> int { x + x }"]; N3[label="expr inner"]; - N4[label="expr 18"]; - N5[label="expr inner(18)"]; - N6[label="expr inner(inner(18))"]; - N7[label="block {\l fn inner(x: int) -> int { x + x }\l inner(inner(18));\l}\l"]; + N4[label="expr inner"]; + N5[label="expr 18"]; + N6[label="expr inner(18)"]; + N7[label="expr inner(inner(18))"]; + N8[label="stmt inner(inner(18));"]; + N9[label="block {\l fn inner(x: int) -> int { x + x }\l inner(inner(18));\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; N6 -> N7; - N7 -> N1; + N7 -> N8; + N8 -> N9; + N9 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f19.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f19.dot-expected.dot index 5fad18536e5..8d21ef80917 100644 --- a/src/test/run-make/graphviz-flowgraph/f19.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f19.dot-expected.dot @@ -1,13 +1,17 @@ digraph block { N0[label="entry"]; N1[label="exit"]; - N2[label="expr 19"]; - N3[label="expr S19{x: 19,}"]; - N4[label="local s"]; - N5[label="expr s"]; - N6[label="expr s.inner()"]; - N7[label="expr s.inner().inner()"]; - N8[label="block {\l struct S19 {\l x: int,\l }\l impl S19 {\l fn inner(self) -> S19 { S19{x: self.x + self.x,} }\l }\l let s = S19{x: 19,};\l s.inner().inner();\l}\l"]; + N2[label="stmt struct S19 {\l x: int,\l}\l"]; + N3[label="stmt impl S19 {\l fn inner(self) -> S19 { S19{x: self.x + self.x,} }\l}\l"]; + N4[label="expr 19"]; + N5[label="expr S19{x: 19,}"]; + N6[label="local s"]; + N7[label="stmt let s = S19{x: 19,};"]; + N8[label="expr s"]; + N9[label="expr s.inner()"]; + N10[label="expr s.inner().inner()"]; + N11[label="stmt s.inner().inner();"]; + N12[label="block {\l struct S19 {\l x: int,\l }\l impl S19 {\l fn inner(self) -> S19 { S19{x: self.x + self.x,} }\l }\l let s = S19{x: 19,};\l s.inner().inner();\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -15,5 +19,9 @@ digraph block { N5 -> N6; N6 -> N7; N7 -> N8; - N8 -> N1; + N8 -> N9; + N9 -> N10; + N10 -> N11; + N11 -> N12; + N12 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f20.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f20.dot-expected.dot index 716ec469fb0..a625a1a0026 100644 --- a/src/test/run-make/graphviz-flowgraph/f20.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f20.dot-expected.dot @@ -6,10 +6,12 @@ digraph block { N4[label="expr 20u"]; N5[label="expr [2u, 0u, 20u]"]; N6[label="local v"]; - N7[label="expr v"]; - N8[label="expr 20u"]; - N9[label="expr v[20u]"]; - N10[label="block { let v = [2u, 0u, 20u]; v[20u]; }"]; + N7[label="stmt let v = [2u, 0u, 20u];"]; + N8[label="expr v"]; + N9[label="expr 20u"]; + N10[label="expr v[20u]"]; + N11[label="stmt v[20u];"]; + N12[label="block { let v = [2u, 0u, 20u]; v[20u]; }"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -19,5 +21,7 @@ digraph block { N7 -> N8; N8 -> N9; N9 -> N10; - N10 -> N1; + N10 -> N11; + N11 -> N12; + N12 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f21.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f21.dot-expected.dot index 2bbc3e7e5c8..ad2ef60ce29 100644 --- a/src/test/run-make/graphviz-flowgraph/f21.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f21.dot-expected.dot @@ -3,73 +3,97 @@ digraph block { N1[label="exit"]; N2[label="expr 15i"]; N3[label="local mut x"]; - N4[label="expr 151i"]; - N5[label="local mut y"]; - N6[label="(dummy_node)"]; - N7[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l }\l"]; + N4[label="stmt let mut x = 15i;"]; + N5[label="expr 151i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 151i;"]; N8[label="(dummy_node)"]; - N9[label="expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l"]; - N10[label="expr x"]; - N11[label="expr 1i"]; - N12[label="expr x == 1i"]; - N13[label="expr break \'outer"]; - N14[label="(dummy_node)"]; - N15[label="expr \"unreachable\""]; - N16[label="block { break \'outer ; \"unreachable\"; }"]; - N17[label="expr if x == 1i { break \'outer ; \"unreachable\"; }"]; - N18[label="expr y"]; - N19[label="expr 2i"]; - N20[label="expr y >= 2i"]; - N21[label="expr return"]; - N22[label="(dummy_node)"]; - N23[label="expr \"unreachable\""]; - N24[label="block { return; \"unreachable\"; }"]; - N25[label="expr if y >= 2i { return; \"unreachable\"; }"]; - N26[label="expr 3i"]; - N27[label="expr y"]; - N28[label="expr y -= 3i"]; - N29[label="expr 5i"]; - N30[label="expr x"]; - N31[label="expr x -= 5i"]; - N32[label="block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l}\l"]; - N33[label="expr \"unreachable\""]; - N34[label="block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l}\l"]; - N35[label="block {\l let mut x = 15i;\l let mut y = 151i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l }\l}\l"]; + N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l }\l"]; + N10[label="(dummy_node)"]; + N11[label="expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l"]; + N12[label="expr x"]; + N13[label="expr 1i"]; + N14[label="expr x == 1i"]; + N15[label="expr break \'outer"]; + N16[label="(dummy_node)"]; + N17[label="stmt break \'outer ;"]; + N18[label="expr \"unreachable\""]; + N19[label="stmt \"unreachable\";"]; + N20[label="block { break \'outer ; \"unreachable\"; }"]; + N21[label="expr if x == 1i { break \'outer ; \"unreachable\"; }"]; + N22[label="stmt if x == 1i { break \'outer ; \"unreachable\"; }"]; + N23[label="expr y"]; + N24[label="expr 2i"]; + N25[label="expr y >= 2i"]; + N26[label="expr return"]; + N27[label="(dummy_node)"]; + N28[label="stmt return;"]; + N29[label="expr \"unreachable\""]; + N30[label="stmt \"unreachable\";"]; + N31[label="block { return; \"unreachable\"; }"]; + N32[label="expr if y >= 2i { return; \"unreachable\"; }"]; + N33[label="stmt if y >= 2i { return; \"unreachable\"; }"]; + N34[label="expr 3i"]; + N35[label="expr y"]; + N36[label="expr y -= 3i"]; + N37[label="stmt y -= 3i;"]; + N38[label="expr 5i"]; + N39[label="expr x"]; + N40[label="expr x -= 5i"]; + N41[label="stmt x -= 5i;"]; + N42[label="block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l}\l"]; + N43[label="stmt \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l"]; + N44[label="expr \"unreachable\""]; + N45[label="stmt \"unreachable\";"]; + N46[label="block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l}\l"]; + N47[label="block {\l let mut x = 15i;\l let mut y = 151i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l }\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; - N6 -> N8; + N6 -> N7; + N7 -> N8; N8 -> N10; - N10 -> N11; - N11 -> N12; + N10 -> N12; N12 -> N13; - N13 -> N7[label="exiting scope_0 expr break \'outer,\lexiting scope_1 stmt break \'outer ;,\lexiting scope_2 block { break \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l}\l"]; + N13 -> N14; N14 -> N15; - N15 -> N16; - N12 -> N17; + N15 -> N9[label="exiting scope_0 expr break \'outer,\lexiting scope_1 stmt break \'outer ;,\lexiting scope_2 block { break \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { break \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l}\l"]; N16 -> N17; N17 -> N18; N18 -> N19; N19 -> N20; + N14 -> N21; N20 -> N21; - N21 -> N1[label="exiting scope_0 expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l,\lexiting scope_1 expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l }\l"]; + N21 -> N22; N22 -> N23; N23 -> N24; - N20 -> N25; N24 -> N25; N25 -> N26; - N26 -> N27; + N26 -> N1[label="exiting scope_0 expr \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l,\lexiting scope_1 expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { break \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l y -= 3i;\l x -= 5i;\l }\l \"unreachable\";\l }\l"]; N27 -> N28; N28 -> N29; N29 -> N30; N30 -> N31; + N25 -> N32; N31 -> N32; - N32 -> N8; - N9 -> N33; + N32 -> N33; N33 -> N34; - N34 -> N6; - N7 -> N35; - N35 -> N1; + N34 -> N35; + N35 -> N36; + N36 -> N37; + N37 -> N38; + N38 -> N39; + N39 -> N40; + N40 -> N41; + N41 -> N42; + N42 -> N10; + N11 -> N43; + N43 -> N44; + N44 -> N45; + N45 -> N46; + N46 -> N8; + N9 -> N47; + N47 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f22.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f22.dot-expected.dot index 8ecddba21fc..dcceb5bb937 100644 --- a/src/test/run-make/graphviz-flowgraph/f22.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f22.dot-expected.dot @@ -3,75 +3,103 @@ digraph block { N1[label="exit"]; N2[label="expr 15i"]; N3[label="local mut x"]; - N4[label="expr 151i"]; - N5[label="local mut y"]; - N6[label="(dummy_node)"]; - N7[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l"]; + N4[label="stmt let mut x = 15i;"]; + N5[label="expr 151i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 151i;"]; N8[label="(dummy_node)"]; - N9[label="expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l"]; - N10[label="expr x"]; - N11[label="expr 1i"]; - N12[label="expr x == 1i"]; - N13[label="expr continue \'outer"]; - N14[label="(dummy_node)"]; - N15[label="expr \"unreachable\""]; - N16[label="block { continue \'outer ; \"unreachable\"; }"]; - N17[label="expr if x == 1i { continue \'outer ; \"unreachable\"; }"]; - N18[label="expr y"]; - N19[label="expr 2i"]; - N20[label="expr y >= 2i"]; - N21[label="expr return"]; - N22[label="(dummy_node)"]; - N23[label="expr \"unreachable\""]; - N24[label="block { return; \"unreachable\"; }"]; - N25[label="expr if y >= 2i { return; \"unreachable\"; }"]; - N26[label="expr 1i"]; - N27[label="expr x"]; - N28[label="expr x -= 1i"]; - N29[label="expr 3i"]; - N30[label="expr y"]; - N31[label="expr y -= 3i"]; - N32[label="block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l}\l"]; - N33[label="expr \"unreachable\""]; - N34[label="block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l}\l"]; - N35[label="expr \"unreachable\""]; - N36[label="block {\l let mut x = 15i;\l let mut y = 151i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l \"unreachable\";\l}\l"]; + N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l"]; + N10[label="(dummy_node)"]; + N11[label="expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l"]; + N12[label="expr x"]; + N13[label="expr 1i"]; + N14[label="expr x == 1i"]; + N15[label="expr continue \'outer"]; + N16[label="(dummy_node)"]; + N17[label="stmt continue \'outer ;"]; + N18[label="expr \"unreachable\""]; + N19[label="stmt \"unreachable\";"]; + N20[label="block { continue \'outer ; \"unreachable\"; }"]; + N21[label="expr if x == 1i { continue \'outer ; \"unreachable\"; }"]; + N22[label="stmt if x == 1i { continue \'outer ; \"unreachable\"; }"]; + N23[label="expr y"]; + N24[label="expr 2i"]; + N25[label="expr y >= 2i"]; + N26[label="expr return"]; + N27[label="(dummy_node)"]; + N28[label="stmt return;"]; + N29[label="expr \"unreachable\""]; + N30[label="stmt \"unreachable\";"]; + N31[label="block { return; \"unreachable\"; }"]; + N32[label="expr if y >= 2i { return; \"unreachable\"; }"]; + N33[label="stmt if y >= 2i { return; \"unreachable\"; }"]; + N34[label="expr 1i"]; + N35[label="expr x"]; + N36[label="expr x -= 1i"]; + N37[label="stmt x -= 1i;"]; + N38[label="expr 3i"]; + N39[label="expr y"]; + N40[label="expr y -= 3i"]; + N41[label="stmt y -= 3i;"]; + N42[label="block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l}\l"]; + N43[label="stmt \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l"]; + N44[label="expr \"unreachable\""]; + N45[label="stmt \"unreachable\";"]; + N46[label="block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l}\l"]; + N47[label="stmt \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l"]; + N48[label="expr \"unreachable\""]; + N49[label="stmt \"unreachable\";"]; + N50[label="block {\l let mut x = 15i;\l let mut y = 151i;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l \"unreachable\";\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; - N6 -> N8; + N6 -> N7; + N7 -> N8; N8 -> N10; - N10 -> N11; - N11 -> N12; + N10 -> N12; N12 -> N13; - N13 -> N6[label="exiting scope_0 expr continue \'outer,\lexiting scope_1 stmt continue \'outer ;,\lexiting scope_2 block { continue \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l}\l"]; + N13 -> N14; N14 -> N15; - N15 -> N16; - N12 -> N17; + N15 -> N8[label="exiting scope_0 expr continue \'outer,\lexiting scope_1 stmt continue \'outer ;,\lexiting scope_2 block { continue \'outer ; \"unreachable\"; },\lexiting scope_3 expr if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_4 stmt if x == 1i { continue \'outer ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l}\l,\lexiting scope_6 expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l,\lexiting scope_7 stmt \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l,\lexiting scope_8 block {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l}\l"]; N16 -> N17; N17 -> N18; N18 -> N19; N19 -> N20; + N14 -> N21; N20 -> N21; - N21 -> N1[label="exiting scope_0 expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l,\lexiting scope_1 expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l"]; + N21 -> N22; N22 -> N23; N23 -> N24; - N20 -> N25; N24 -> N25; N25 -> N26; - N26 -> N27; + N26 -> N1[label="exiting scope_0 expr \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l,\lexiting scope_1 expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1i { continue \'outer ; \"unreachable\"; }\l if y >= 2i { return; \"unreachable\"; }\l x -= 1i;\l y -= 3i;\l }\l \"unreachable\";\l }\l"]; N27 -> N28; N28 -> N29; N29 -> N30; N30 -> N31; + N25 -> N32; N31 -> N32; - N32 -> N8; - N9 -> N33; + N32 -> N33; N33 -> N34; - N34 -> N6; - N7 -> N35; + N34 -> N35; N35 -> N36; - N36 -> N1; + N36 -> N37; + N37 -> N38; + N38 -> N39; + N39 -> N40; + N40 -> N41; + N41 -> N42; + N42 -> N10; + N11 -> N43; + N43 -> N44; + N44 -> N45; + N45 -> N46; + N46 -> N8; + N9 -> N47; + N47 -> N48; + N48 -> N49; + N49 -> N50; + N50 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f23.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f23.dot-expected.dot index 718d4687ef9..034ecfb7f20 100644 --- a/src/test/run-make/graphviz-flowgraph/f23.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f23.dot-expected.dot @@ -3,46 +3,55 @@ digraph block { N1[label="exit"]; N2[label="expr 23i"]; N3[label="local mut x"]; - N4[label="expr 23i"]; - N5[label="local mut y"]; - N6[label="expr 23i"]; - N7[label="local mut z"]; - N8[label="(dummy_node)"]; - N9[label="expr x"]; - N10[label="expr 0i"]; - N11[label="expr x > 0i"]; - N12[label="expr while x > 0i {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; - N13[label="expr 1i"]; - N14[label="expr x"]; - N15[label="expr x -= 1i"]; - N16[label="(dummy_node)"]; - N17[label="expr y"]; - N18[label="expr 0i"]; - N19[label="expr y > 0i"]; - N20[label="expr while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; - N21[label="expr 1i"]; - N22[label="expr y"]; - N23[label="expr y -= 1i"]; - N24[label="(dummy_node)"]; - N25[label="expr z"]; - N26[label="expr 0i"]; - N27[label="expr z > 0i"]; - N28[label="expr while z > 0i { z -= 1i; }"]; - N29[label="expr 1i"]; + N4[label="stmt let mut x = 23i;"]; + N5[label="expr 23i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 23i;"]; + N8[label="expr 23i"]; + N9[label="local mut z"]; + N10[label="stmt let mut z = 23i;"]; + N11[label="(dummy_node)"]; + N12[label="expr x"]; + N13[label="expr 0i"]; + N14[label="expr x > 0i"]; + N15[label="expr while x > 0i {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N16[label="expr 1i"]; + N17[label="expr x"]; + N18[label="expr x -= 1i"]; + N19[label="stmt x -= 1i;"]; + N20[label="(dummy_node)"]; + N21[label="expr y"]; + N22[label="expr 0i"]; + N23[label="expr y > 0i"]; + N24[label="expr while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; + N25[label="expr 1i"]; + N26[label="expr y"]; + N27[label="expr y -= 1i"]; + N28[label="stmt y -= 1i;"]; + N29[label="(dummy_node)"]; N30[label="expr z"]; - N31[label="expr z -= 1i"]; - N32[label="block { z -= 1i; }"]; - N33[label="expr x"]; - N34[label="expr 10i"]; - N35[label="expr x > 10i"]; - N36[label="expr return"]; - N37[label="(dummy_node)"]; - N38[label="expr \"unreachable\""]; - N39[label="block { return; \"unreachable\"; }"]; - N40[label="expr if x > 10i { return; \"unreachable\"; }"]; - N41[label="block { y -= 1i; while z > 0i { z -= 1i; } if x > 10i { return; \"unreachable\"; } }"]; - N42[label="block {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; - N43[label="block {\l let mut x = 23i;\l let mut y = 23i;\l let mut z = 23i;\l while x > 0i {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l }\l}\l"]; + N31[label="expr 0i"]; + N32[label="expr z > 0i"]; + N33[label="expr while z > 0i { z -= 1i; }"]; + N34[label="expr 1i"]; + N35[label="expr z"]; + N36[label="expr z -= 1i"]; + N37[label="stmt z -= 1i;"]; + N38[label="block { z -= 1i; }"]; + N39[label="stmt while z > 0i { z -= 1i; }"]; + N40[label="expr x"]; + N41[label="expr 10i"]; + N42[label="expr x > 10i"]; + N43[label="expr return"]; + N44[label="(dummy_node)"]; + N45[label="stmt return;"]; + N46[label="expr \"unreachable\""]; + N47[label="stmt \"unreachable\";"]; + N48[label="block { return; \"unreachable\"; }"]; + N49[label="expr if x > 10i { return; \"unreachable\"; }"]; + N50[label="block { y -= 1i; while z > 0i { z -= 1i; } if x > 10i { return; \"unreachable\"; } }"]; + N51[label="block {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N52[label="block {\l let mut x = 23i;\l let mut y = 23i;\l let mut z = 23i;\l while x > 0i {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l }\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -54,40 +63,49 @@ digraph block { N9 -> N10; N10 -> N11; N11 -> N12; - N11 -> N13; + N12 -> N13; N13 -> N14; N14 -> N15; - N15 -> N16; + N14 -> N16; N16 -> N17; N17 -> N18; N18 -> N19; N19 -> N20; - N19 -> N21; + N20 -> N21; N21 -> N22; N22 -> N23; N23 -> N24; - N24 -> N25; + N23 -> N25; N25 -> N26; N26 -> N27; N27 -> N28; - N27 -> N29; + N28 -> N29; N29 -> N30; N30 -> N31; N31 -> N32; - N32 -> N24; - N28 -> N33; - N33 -> N34; + N32 -> N33; + N32 -> N34; N34 -> N35; N35 -> N36; - N36 -> N1[label="exiting scope_0 expr while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l,\lexiting scope_1 expr while x > 0i {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N36 -> N37; N37 -> N38; - N38 -> N39; - N35 -> N40; + N38 -> N29; + N33 -> N39; N39 -> N40; N40 -> N41; - N41 -> N16; - N20 -> N42; - N42 -> N8; - N12 -> N43; - N43 -> N1; + N41 -> N42; + N42 -> N43; + N43 -> N1[label="exiting scope_0 expr while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l,\lexiting scope_1 expr while x > 0i {\l x -= 1i;\l while y > 0i {\l y -= 1i;\l while z > 0i { z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N44 -> N45; + N45 -> N46; + N46 -> N47; + N47 -> N48; + N42 -> N49; + N48 -> N49; + N49 -> N50; + N50 -> N20; + N24 -> N51; + N51 -> N11; + N15 -> N52; + N52 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f24.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f24.dot-expected.dot index 646d98a54a7..ddb5b865c2e 100644 --- a/src/test/run-make/graphviz-flowgraph/f24.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f24.dot-expected.dot @@ -3,61 +3,79 @@ digraph block { N1[label="exit"]; N2[label="expr 24i"]; N3[label="local mut x"]; - N4[label="expr 24i"]; - N5[label="local mut y"]; - N6[label="expr 24i"]; - N7[label="local mut z"]; - N8[label="(dummy_node)"]; - N9[label="expr loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; - N10[label="expr x"]; - N11[label="expr 0i"]; - N12[label="expr x == 0i"]; - N13[label="expr break"]; - N14[label="(dummy_node)"]; - N15[label="expr \"unreachable\""]; - N16[label="block { break ; \"unreachable\"; }"]; - N17[label="expr if x == 0i { break ; \"unreachable\"; }"]; - N18[label="expr 1i"]; - N19[label="expr x"]; - N20[label="expr x -= 1i"]; - N21[label="(dummy_node)"]; - N22[label="expr loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; - N23[label="expr y"]; - N24[label="expr 0i"]; - N25[label="expr y == 0i"]; - N26[label="expr break"]; - N27[label="(dummy_node)"]; - N28[label="expr \"unreachable\""]; - N29[label="block { break ; \"unreachable\"; }"]; - N30[label="expr if y == 0i { break ; \"unreachable\"; }"]; - N31[label="expr 1i"]; - N32[label="expr y"]; - N33[label="expr y -= 1i"]; + N4[label="stmt let mut x = 24i;"]; + N5[label="expr 24i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 24i;"]; + N8[label="expr 24i"]; + N9[label="local mut z"]; + N10[label="stmt let mut z = 24i;"]; + N11[label="(dummy_node)"]; + N12[label="expr loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N13[label="expr x"]; + N14[label="expr 0i"]; + N15[label="expr x == 0i"]; + N16[label="expr break"]; + N17[label="(dummy_node)"]; + N18[label="stmt break ;"]; + N19[label="expr \"unreachable\""]; + N20[label="stmt \"unreachable\";"]; + N21[label="block { break ; \"unreachable\"; }"]; + N22[label="expr if x == 0i { break ; \"unreachable\"; }"]; + N23[label="stmt if x == 0i { break ; \"unreachable\"; }"]; + N24[label="expr 1i"]; + N25[label="expr x"]; + N26[label="expr x -= 1i"]; + N27[label="stmt x -= 1i;"]; + N28[label="(dummy_node)"]; + N29[label="expr loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; + N30[label="expr y"]; + N31[label="expr 0i"]; + N32[label="expr y == 0i"]; + N33[label="expr break"]; N34[label="(dummy_node)"]; - N35[label="expr loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; - N36[label="expr z"]; - N37[label="expr 0i"]; - N38[label="expr z == 0i"]; - N39[label="expr break"]; - N40[label="(dummy_node)"]; - N41[label="expr \"unreachable\""]; - N42[label="block { break ; \"unreachable\"; }"]; - N43[label="expr if z == 0i { break ; \"unreachable\"; }"]; - N44[label="expr 1i"]; - N45[label="expr z"]; - N46[label="expr z -= 1i"]; - N47[label="block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; - N48[label="expr x"]; - N49[label="expr 10i"]; - N50[label="expr x > 10i"]; - N51[label="expr return"]; - N52[label="(dummy_node)"]; + N35[label="stmt break ;"]; + N36[label="expr \"unreachable\""]; + N37[label="stmt \"unreachable\";"]; + N38[label="block { break ; \"unreachable\"; }"]; + N39[label="expr if y == 0i { break ; \"unreachable\"; }"]; + N40[label="stmt if y == 0i { break ; \"unreachable\"; }"]; + N41[label="expr 1i"]; + N42[label="expr y"]; + N43[label="expr y -= 1i"]; + N44[label="stmt y -= 1i;"]; + N45[label="(dummy_node)"]; + N46[label="expr loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N47[label="expr z"]; + N48[label="expr 0i"]; + N49[label="expr z == 0i"]; + N50[label="expr break"]; + N51[label="(dummy_node)"]; + N52[label="stmt break ;"]; N53[label="expr \"unreachable\""]; - N54[label="block { return; \"unreachable\"; }"]; - N55[label="expr if x > 10i { return; \"unreachable\"; }"]; - N56[label="block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; - N57[label="block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; - N58[label="block {\l let mut x = 24i;\l let mut y = 24i;\l let mut z = 24i;\l loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l }\l}\l"]; + N54[label="stmt \"unreachable\";"]; + N55[label="block { break ; \"unreachable\"; }"]; + N56[label="expr if z == 0i { break ; \"unreachable\"; }"]; + N57[label="stmt if z == 0i { break ; \"unreachable\"; }"]; + N58[label="expr 1i"]; + N59[label="expr z"]; + N60[label="expr z -= 1i"]; + N61[label="stmt z -= 1i;"]; + N62[label="block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N63[label="stmt loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N64[label="expr x"]; + N65[label="expr 10i"]; + N66[label="expr x > 10i"]; + N67[label="expr return"]; + N68[label="(dummy_node)"]; + N69[label="stmt return;"]; + N70[label="expr \"unreachable\""]; + N71[label="stmt \"unreachable\";"]; + N72[label="block { return; \"unreachable\"; }"]; + N73[label="expr if x > 10i { return; \"unreachable\"; }"]; + N74[label="block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; + N75[label="block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N76[label="block {\l let mut x = 24i;\l let mut y = 24i;\l let mut z = 24i;\l loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l }\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -65,59 +83,77 @@ digraph block { N5 -> N6; N6 -> N7; N7 -> N8; - N8 -> N10; + N8 -> N9; + N9 -> N10; N10 -> N11; - N11 -> N12; - N12 -> N13; - N13 -> N9[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if x == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if x == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N11 -> N13; + N13 -> N14; N14 -> N15; N15 -> N16; - N12 -> N17; - N16 -> N17; + N16 -> N12[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if x == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if x == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; N17 -> N18; N18 -> N19; N19 -> N20; N20 -> N21; - N21 -> N23; + N15 -> N22; + N21 -> N22; + N22 -> N23; N23 -> N24; N24 -> N25; N25 -> N26; - N26 -> N22[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; + N26 -> N27; N27 -> N28; - N28 -> N29; - N25 -> N30; - N29 -> N30; + N28 -> N30; N30 -> N31; N31 -> N32; N32 -> N33; - N33 -> N34; - N34 -> N36; + N33 -> N29[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l"]; + N34 -> N35; + N35 -> N36; N36 -> N37; N37 -> N38; + N32 -> N39; N38 -> N39; - N39 -> N35[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if z == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if z == 0i { break ; \"unreachable\"; },\lexiting scope_5 block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N39 -> N40; N40 -> N41; N41 -> N42; - N38 -> N43; N42 -> N43; N43 -> N44; N44 -> N45; - N45 -> N46; - N46 -> N47; - N47 -> N34; - N35 -> N48; + N45 -> N47; + N47 -> N48; N48 -> N49; N49 -> N50; - N50 -> N51; - N51 -> N1[label="exiting scope_0 expr loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l,\lexiting scope_1 expr loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N50 -> N46[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if z == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if z == 0i { break ; \"unreachable\"; },\lexiting scope_5 block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N51 -> N52; N52 -> N53; N53 -> N54; - N50 -> N55; N54 -> N55; + N49 -> N56; N55 -> N56; - N56 -> N21; - N22 -> N57; - N57 -> N8; - N9 -> N58; - N58 -> N1; + N56 -> N57; + N57 -> N58; + N58 -> N59; + N59 -> N60; + N60 -> N61; + N61 -> N62; + N62 -> N45; + N46 -> N63; + N63 -> N64; + N64 -> N65; + N65 -> N66; + N66 -> N67; + N67 -> N1[label="exiting scope_0 expr loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l}\l,\lexiting scope_1 expr loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { return; \"unreachable\"; }\l }\l}\l"]; + N68 -> N69; + N69 -> N70; + N70 -> N71; + N71 -> N72; + N66 -> N73; + N72 -> N73; + N73 -> N74; + N74 -> N28; + N29 -> N75; + N75 -> N11; + N12 -> N76; + N76 -> N1; } diff --git a/src/test/run-make/graphviz-flowgraph/f25.dot-expected.dot b/src/test/run-make/graphviz-flowgraph/f25.dot-expected.dot index 11b9c7ef05e..9fd4dbfc395 100644 --- a/src/test/run-make/graphviz-flowgraph/f25.dot-expected.dot +++ b/src/test/run-make/graphviz-flowgraph/f25.dot-expected.dot @@ -3,61 +3,79 @@ digraph block { N1[label="exit"]; N2[label="expr 25i"]; N3[label="local mut x"]; - N4[label="expr 25i"]; - N5[label="local mut y"]; - N6[label="expr 25i"]; - N7[label="local mut z"]; - N8[label="(dummy_node)"]; - N9[label="expr \'a:\l loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l }\l"]; - N10[label="expr x"]; - N11[label="expr 0i"]; - N12[label="expr x == 0i"]; - N13[label="expr break"]; - N14[label="(dummy_node)"]; - N15[label="expr \"unreachable\""]; - N16[label="block { break ; \"unreachable\"; }"]; - N17[label="expr if x == 0i { break ; \"unreachable\"; }"]; - N18[label="expr 1i"]; - N19[label="expr x"]; - N20[label="expr x -= 1i"]; - N21[label="(dummy_node)"]; - N22[label="expr \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l"]; - N23[label="expr y"]; - N24[label="expr 0i"]; - N25[label="expr y == 0i"]; - N26[label="expr break"]; - N27[label="(dummy_node)"]; - N28[label="expr \"unreachable\""]; - N29[label="block { break ; \"unreachable\"; }"]; - N30[label="expr if y == 0i { break ; \"unreachable\"; }"]; - N31[label="expr 1i"]; - N32[label="expr y"]; - N33[label="expr y -= 1i"]; + N4[label="stmt let mut x = 25i;"]; + N5[label="expr 25i"]; + N6[label="local mut y"]; + N7[label="stmt let mut y = 25i;"]; + N8[label="expr 25i"]; + N9[label="local mut z"]; + N10[label="stmt let mut z = 25i;"]; + N11[label="(dummy_node)"]; + N12[label="expr \'a:\l loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l }\l"]; + N13[label="expr x"]; + N14[label="expr 0i"]; + N15[label="expr x == 0i"]; + N16[label="expr break"]; + N17[label="(dummy_node)"]; + N18[label="stmt break ;"]; + N19[label="expr \"unreachable\""]; + N20[label="stmt \"unreachable\";"]; + N21[label="block { break ; \"unreachable\"; }"]; + N22[label="expr if x == 0i { break ; \"unreachable\"; }"]; + N23[label="stmt if x == 0i { break ; \"unreachable\"; }"]; + N24[label="expr 1i"]; + N25[label="expr x"]; + N26[label="expr x -= 1i"]; + N27[label="stmt x -= 1i;"]; + N28[label="(dummy_node)"]; + N29[label="expr \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l"]; + N30[label="expr y"]; + N31[label="expr 0i"]; + N32[label="expr y == 0i"]; + N33[label="expr break"]; N34[label="(dummy_node)"]; - N35[label="expr \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; - N36[label="expr z"]; - N37[label="expr 0i"]; - N38[label="expr z == 0i"]; - N39[label="expr break"]; - N40[label="(dummy_node)"]; - N41[label="expr \"unreachable\""]; - N42[label="block { break ; \"unreachable\"; }"]; - N43[label="expr if z == 0i { break ; \"unreachable\"; }"]; - N44[label="expr 1i"]; - N45[label="expr z"]; - N46[label="expr z -= 1i"]; - N47[label="block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; - N48[label="expr x"]; - N49[label="expr 10i"]; - N50[label="expr x > 10i"]; - N51[label="expr continue \'a"]; - N52[label="(dummy_node)"]; + N35[label="stmt break ;"]; + N36[label="expr \"unreachable\""]; + N37[label="stmt \"unreachable\";"]; + N38[label="block { break ; \"unreachable\"; }"]; + N39[label="expr if y == 0i { break ; \"unreachable\"; }"]; + N40[label="stmt if y == 0i { break ; \"unreachable\"; }"]; + N41[label="expr 1i"]; + N42[label="expr y"]; + N43[label="expr y -= 1i"]; + N44[label="stmt y -= 1i;"]; + N45[label="(dummy_node)"]; + N46[label="expr \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N47[label="expr z"]; + N48[label="expr 0i"]; + N49[label="expr z == 0i"]; + N50[label="expr break"]; + N51[label="(dummy_node)"]; + N52[label="stmt break ;"]; N53[label="expr \"unreachable\""]; - N54[label="block { continue \'a ; \"unreachable\"; }"]; - N55[label="expr if x > 10i { continue \'a ; \"unreachable\"; }"]; - N56[label="block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l}\l"]; - N57[label="block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l}\l"]; - N58[label="block {\l let mut x = 25i;\l let mut y = 25i;\l let mut z = 25i;\l \'a:\l loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a:\l loop {\l if z == 0i { break ; \"unreachable\"; }\l z -= 1i;\l }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l }\l}\l"]; + N54[label="stmt \"unreachable\";"]; + N55[label="block { break ; \"unreachable\"; }"]; + N56[label="expr if z == 0i { break ; \"unreachable\"; }"]; + N57[label="stmt if z == 0i { break ; \"unreachable\"; }"]; + N58[label="expr 1i"]; + N59[label="expr z"]; + N60[label="expr z -= 1i"]; + N61[label="stmt z -= 1i;"]; + N62[label="block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N63[label="stmt \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N64[label="expr x"]; + N65[label="expr 10i"]; + N66[label="expr x > 10i"]; + N67[label="expr continue \'a"]; + N68[label="(dummy_node)"]; + N69[label="stmt continue \'a ;"]; + N70[label="expr \"unreachable\""]; + N71[label="stmt \"unreachable\";"]; + N72[label="block { continue \'a ; \"unreachable\"; }"]; + N73[label="expr if x > 10i { continue \'a ; \"unreachable\"; }"]; + N74[label="block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l}\l"]; + N75[label="block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l}\l"]; + N76[label="block {\l let mut x = 25i;\l let mut y = 25i;\l let mut z = 25i;\l \'a:\l loop {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a:\l loop {\l if z == 0i { break ; \"unreachable\"; }\l z -= 1i;\l }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l }\l}\l"]; N0 -> N2; N2 -> N3; N3 -> N4; @@ -65,59 +83,77 @@ digraph block { N5 -> N6; N6 -> N7; N7 -> N8; - N8 -> N10; + N8 -> N9; + N9 -> N10; N10 -> N11; - N11 -> N12; - N12 -> N13; - N13 -> N9[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if x == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if x == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l}\l"]; + N11 -> N13; + N13 -> N14; N14 -> N15; N15 -> N16; - N12 -> N17; - N16 -> N17; + N16 -> N12[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if x == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if x == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if x == 0i { break ; \"unreachable\"; }\l x -= 1i;\l \'a:\l loop {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l }\l}\l"]; N17 -> N18; N18 -> N19; N19 -> N20; N20 -> N21; - N21 -> N23; + N15 -> N22; + N21 -> N22; + N22 -> N23; N23 -> N24; N24 -> N25; N25 -> N26; - N26 -> N22[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l}\l"]; + N26 -> N27; N27 -> N28; - N28 -> N29; - N25 -> N30; - N29 -> N30; + N28 -> N30; N30 -> N31; N31 -> N32; N32 -> N33; - N33 -> N34; - N34 -> N36; + N33 -> N29[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if y == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if y == 0i { break ; \"unreachable\"; },\lexiting scope_5 block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l}\l"]; + N34 -> N35; + N35 -> N36; N36 -> N37; N37 -> N38; + N32 -> N39; N38 -> N39; - N39 -> N35[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if z == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if z == 0i { break ; \"unreachable\"; },\lexiting scope_5 block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N39 -> N40; N40 -> N41; N41 -> N42; - N38 -> N43; N42 -> N43; N43 -> N44; N44 -> N45; - N45 -> N46; - N46 -> N47; - N47 -> N34; - N35 -> N48; + N45 -> N47; + N47 -> N48; N48 -> N49; N49 -> N50; - N50 -> N51; - N51 -> N21[label="exiting scope_0 expr continue \'a,\lexiting scope_1 stmt continue \'a ;,\lexiting scope_2 block { continue \'a ; \"unreachable\"; },\lexiting scope_3 expr if x > 10i { continue \'a ; \"unreachable\"; },\lexiting scope_4 block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l}\l"]; + N50 -> N46[label="exiting scope_0 expr break,\lexiting scope_1 stmt break ;,\lexiting scope_2 block { break ; \"unreachable\"; },\lexiting scope_3 expr if z == 0i { break ; \"unreachable\"; },\lexiting scope_4 stmt if z == 0i { break ; \"unreachable\"; },\lexiting scope_5 block { if z == 0i { break ; \"unreachable\"; } z -= 1i; }"]; + N51 -> N52; N52 -> N53; N53 -> N54; - N50 -> N55; N54 -> N55; + N49 -> N56; N55 -> N56; - N56 -> N21; - N22 -> N57; - N57 -> N8; - N9 -> N58; - N58 -> N1; + N56 -> N57; + N57 -> N58; + N58 -> N59; + N59 -> N60; + N60 -> N61; + N61 -> N62; + N62 -> N45; + N46 -> N63; + N63 -> N64; + N64 -> N65; + N65 -> N66; + N66 -> N67; + N67 -> N28[label="exiting scope_0 expr continue \'a,\lexiting scope_1 stmt continue \'a ;,\lexiting scope_2 block { continue \'a ; \"unreachable\"; },\lexiting scope_3 expr if x > 10i { continue \'a ; \"unreachable\"; },\lexiting scope_4 block {\l if y == 0i { break ; \"unreachable\"; }\l y -= 1i;\l \'a: loop { if z == 0i { break ; \"unreachable\"; } z -= 1i; }\l if x > 10i { continue \'a ; \"unreachable\"; }\l}\l"]; + N68 -> N69; + N69 -> N70; + N70 -> N71; + N71 -> N72; + N66 -> N73; + N72 -> N73; + N73 -> N74; + N74 -> N28; + N29 -> N75; + N75 -> N11; + N12 -> N76; + N76 -> N1; } |
