|
|
@@ -17,7 +17,8 @@ fn Main() -> i32 {
|
|
|
return x;
|
|
|
}
|
|
|
|
|
|
-// Place checks after code so that line numbers are stable, reducing merge conflicts.
|
|
|
+// Place checks after code so that line numbers are stable, reducing merge
|
|
|
+// conflicts.
|
|
|
// ARGS: --trace_file=- --trace_phase=all %s
|
|
|
// AUTOUPDATE
|
|
|
// CHECK:STDOUT: ********** source program **********
|
|
|
@@ -37,48 +38,48 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: ********** resolving names **********
|
|
|
-// CHECK:STDOUT: --- declared `TestInterface` as `interface TestInterface` in `package` (full_trace.carbon:7)
|
|
|
-// CHECK:STDOUT: --- declared `N` as `namespace N` in `package` (full_trace.carbon:9)
|
|
|
-// CHECK:STDOUT: --- resolved `N` as `namespace N` in `package` (full_trace.carbon:11)
|
|
|
-// CHECK:STDOUT: --- declared `Foo` as `fn N.Foo` in `namespace N` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: --- declared `Main` as `fn Main` in `package` (full_trace.carbon:18)
|
|
|
-// CHECK:STDOUT: ** resolving decl `interface TestInterface` (full_trace.carbon:7)
|
|
|
+// CHECK:STDOUT: --- declared `TestInterface` as `interface TestInterface` in `package` (phase_all.carbon:7)
|
|
|
+// CHECK:STDOUT: --- declared `N` as `namespace N` in `package` (phase_all.carbon:9)
|
|
|
+// CHECK:STDOUT: --- resolved `N` as `namespace N` in `package` (phase_all.carbon:11)
|
|
|
+// CHECK:STDOUT: --- declared `Foo` as `fn N.Foo` in `namespace N` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: --- declared `Main` as `fn Main` in `package` (phase_all.carbon:18)
|
|
|
+// CHECK:STDOUT: ** resolving decl `interface TestInterface` (phase_all.carbon:7)
|
|
|
// CHECK:STDOUT: --- marked `TestInterface` declared but not usable in `package`
|
|
|
// CHECK:STDOUT: --- marked `TestInterface` usable in `package`
|
|
|
-// CHECK:STDOUT: --- declared `Self` as `Self` in `interface TestInterface` (full_trace.carbon:7)
|
|
|
-// CHECK:STDOUT: ** finished resolving decl `interface TestInterface` (full_trace.carbon:7)
|
|
|
-// CHECK:STDOUT: ** resolving decl `namespace N` (full_trace.carbon:9)
|
|
|
+// CHECK:STDOUT: --- declared `Self` as `Self` in `interface TestInterface` (phase_all.carbon:7)
|
|
|
+// CHECK:STDOUT: ** finished resolving decl `interface TestInterface` (phase_all.carbon:7)
|
|
|
+// CHECK:STDOUT: ** resolving decl `namespace N` (phase_all.carbon:9)
|
|
|
// CHECK:STDOUT: --- marked `N` usable in `package`
|
|
|
-// CHECK:STDOUT: ** finished resolving decl `namespace N` (full_trace.carbon:9)
|
|
|
-// CHECK:STDOUT: ** resolving decl `fn N.Foo` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: --- resolved `N` as `namespace N` in `package` (full_trace.carbon:11)
|
|
|
+// CHECK:STDOUT: ** finished resolving decl `namespace N` (phase_all.carbon:9)
|
|
|
+// CHECK:STDOUT: ** resolving decl `fn N.Foo` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: --- resolved `N` as `namespace N` in `package` (phase_all.carbon:11)
|
|
|
// CHECK:STDOUT: --- marked `Foo` declared but not usable in `namespace N`
|
|
|
-// CHECK:STDOUT: --- declared `n` as `n` in `fn N.Foo` (full_trace.carbon:11)
|
|
|
+// CHECK:STDOUT: --- declared `n` as `n` in `fn N.Foo` (phase_all.carbon:11)
|
|
|
// CHECK:STDOUT: --- marked `Foo` usable in `namespace N`
|
|
|
-// CHECK:STDOUT: ** resolving stmt `{return (n + 1);}` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: ** resolving stmt `return (n + 1);` (full_trace.carbon:12)
|
|
|
-// CHECK:STDOUT: --- resolved `n` as `n` in `fn N.Foo` (full_trace.carbon:12)
|
|
|
-// CHECK:STDOUT: ** finished resolving stmt `return (n + 1);` (full_trace.carbon:12)
|
|
|
-// CHECK:STDOUT: ** finished resolving stmt `{return (n + 1);}` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: ** finished resolving decl `fn N.Foo` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: ** resolving decl `fn Main` (full_trace.carbon:18)
|
|
|
+// CHECK:STDOUT: ** resolving stmt `{return (n + 1);}` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: ** resolving stmt `return (n + 1);` (phase_all.carbon:12)
|
|
|
+// CHECK:STDOUT: --- resolved `n` as `n` in `fn N.Foo` (phase_all.carbon:12)
|
|
|
+// CHECK:STDOUT: ** finished resolving stmt `return (n + 1);` (phase_all.carbon:12)
|
|
|
+// CHECK:STDOUT: ** finished resolving stmt `{return (n + 1);}` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: ** finished resolving decl `fn N.Foo` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: ** resolving decl `fn Main` (phase_all.carbon:18)
|
|
|
// CHECK:STDOUT: --- marked `Main` declared but not usable in `package`
|
|
|
// CHECK:STDOUT: --- marked `Main` usable in `package`
|
|
|
-// CHECK:STDOUT: ** resolving stmt `{var x: i32 = N.Foo(0);return x;}` (full_trace.carbon:18)
|
|
|
-// CHECK:STDOUT: ** resolving stmt `var x: i32 = N.Foo(0);` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: --- resolved `N` as `namespace N` in `package` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: --- resolved `Foo` as `fn N.Foo` in `namespace N` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: --- declared `x` as `x` in `{var x: i32 = N.Foo(0);return x;}` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: ** finished resolving stmt `var x: i32 = N.Foo(0);` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: ** resolving stmt `return x;` (full_trace.carbon:17)
|
|
|
-// CHECK:STDOUT: --- resolved `x` as `x` in `{var x: i32 = N.Foo(0);return x;}` (full_trace.carbon:17)
|
|
|
-// CHECK:STDOUT: ** finished resolving stmt `return x;` (full_trace.carbon:17)
|
|
|
-// CHECK:STDOUT: ** finished resolving stmt `{var x: i32 = N.Foo(0);return x;}` (full_trace.carbon:18)
|
|
|
-// CHECK:STDOUT: ** finished resolving decl `fn Main` (full_trace.carbon:18)
|
|
|
+// CHECK:STDOUT: ** resolving stmt `{var x: i32 = N.Foo(0);return x;}` (phase_all.carbon:18)
|
|
|
+// CHECK:STDOUT: ** resolving stmt `var x: i32 = N.Foo(0);` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: --- resolved `N` as `namespace N` in `package` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: --- resolved `Foo` as `fn N.Foo` in `namespace N` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: --- declared `x` as `x` in `{var x: i32 = N.Foo(0);return x;}` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: ** finished resolving stmt `var x: i32 = N.Foo(0);` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: ** resolving stmt `return x;` (phase_all.carbon:17)
|
|
|
+// CHECK:STDOUT: --- resolved `x` as `x` in `{var x: i32 = N.Foo(0);return x;}` (phase_all.carbon:17)
|
|
|
+// CHECK:STDOUT: ** finished resolving stmt `return x;` (phase_all.carbon:17)
|
|
|
+// CHECK:STDOUT: ** finished resolving stmt `{var x: i32 = N.Foo(0);return x;}` (phase_all.carbon:18)
|
|
|
+// CHECK:STDOUT: ** finished resolving decl `fn Main` (phase_all.carbon:18)
|
|
|
// CHECK:STDOUT: --- resolved `Main` as `fn Main` in `package` (<Main()>:0)
|
|
|
// CHECK:STDOUT: ********** resolving control flow **********
|
|
|
-// CHECK:STDOUT: --- flow-resolved return statement `return (n + 1);` in `fn N.Foo` (full_trace.carbon:12)
|
|
|
-// CHECK:STDOUT: --- flow-resolved return statement `return x;` in `fn Main` (full_trace.carbon:17)
|
|
|
+// CHECK:STDOUT: --- flow-resolved return statement `return (n + 1);` in `fn N.Foo` (phase_all.carbon:12)
|
|
|
+// CHECK:STDOUT: --- flow-resolved return statement `return x;` in `fn Main` (phase_all.carbon:17)
|
|
|
// CHECK:STDOUT: ********** type checking **********
|
|
|
// CHECK:STDOUT: ** declaring interface TestInterface
|
|
|
// CHECK:STDOUT: ** finished declaring interface TestInterface
|
|
|
@@ -95,16 +96,16 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: checking IntTypeLiteral i32
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
-// CHECK:STDOUT: --- step exp i32 .0. (full_trace.carbon:11) --->
|
|
|
+// CHECK:STDOUT: --- step exp i32 .0. (phase_all.carbon:11) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: i32 .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: i32 .1. {{[[][[]}}i32]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: i32 .1. {{\[\[}}i32]]
|
|
|
// CHECK:STDOUT: finished checking tuple pattern field n: i32
|
|
|
// CHECK:STDOUT: checking IntTypeLiteral i32
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
-// CHECK:STDOUT: --- step exp i32 .0. (full_trace.carbon:11) --->
|
|
|
+// CHECK:STDOUT: --- step exp i32 .0. (phase_all.carbon:11) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: i32 .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: i32 .1. {{[[][[]}}i32]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: i32 .1. {{\[\[}}i32]]
|
|
|
// CHECK:STDOUT: ** finished declaring function Foo of type fn (i32,) -> i32
|
|
|
// CHECK:STDOUT: checking FunctionDeclaration
|
|
|
// CHECK:STDOUT: ** checking function Foo
|
|
|
@@ -124,9 +125,9 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: checking IntTypeLiteral i32
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
-// CHECK:STDOUT: --- step exp i32 .0. (full_trace.carbon:15) --->
|
|
|
+// CHECK:STDOUT: --- step exp i32 .0. (phase_all.carbon:15) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: i32 .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: i32 .1. {{[[][[]}}i32]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: i32 .1. {{\[\[}}i32]]
|
|
|
// CHECK:STDOUT: ** finished declaring function Main of type fn () -> i32
|
|
|
// CHECK:STDOUT: checking FunctionDeclaration
|
|
|
// CHECK:STDOUT: ** checking function Main
|
|
|
@@ -153,9 +154,9 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: checking IntTypeLiteral i32
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: i32 .0.
|
|
|
-// CHECK:STDOUT: --- step exp i32 .0. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step exp i32 .0. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: i32 .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: i32 .1. {{[[][[]}}i32]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: i32 .1. {{\[\[}}i32]]
|
|
|
// CHECK:STDOUT: checking ReturnExpression return x;
|
|
|
// CHECK:STDOUT: checking IdentifierExpression x
|
|
|
// CHECK:STDOUT: ** finished checking function Main
|
|
|
@@ -167,18 +168,18 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: performing argument deduction for bindings:{{ }}
|
|
|
// CHECK:STDOUT: deduction succeeded with results: {}
|
|
|
// CHECK:STDOUT: ********** resolving unformed variables **********
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in decl `interface TestInterface` (full_trace.carbon:7)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in decl `namespace N` (full_trace.carbon:9)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in decl `fn N.Foo` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in stmt `{return (n + 1);}` (full_trace.carbon:13)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in stmt `return (n + 1);` (full_trace.carbon:12)
|
|
|
-// CHECK:STDOUT: --- check `n` (full_trace.carbon:12)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in decl `fn Main` (full_trace.carbon:18)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in stmt `{var x: i32 = N.Foo(0);return x;}` (full_trace.carbon:18)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in stmt `var x: i32 = N.Foo(0);` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: --- add init `x` (full_trace.carbon:16)
|
|
|
-// CHECK:STDOUT: *** resolving-unformed in stmt `return x;` (full_trace.carbon:17)
|
|
|
-// CHECK:STDOUT: --- check `x` (full_trace.carbon:17)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in decl `interface TestInterface` (phase_all.carbon:7)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in decl `namespace N` (phase_all.carbon:9)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in decl `fn N.Foo` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in stmt `{return (n + 1);}` (phase_all.carbon:13)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in stmt `return (n + 1);` (phase_all.carbon:12)
|
|
|
+// CHECK:STDOUT: --- check `n` (phase_all.carbon:12)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in decl `fn Main` (phase_all.carbon:18)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in stmt `{var x: i32 = N.Foo(0);return x;}` (phase_all.carbon:18)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in stmt `var x: i32 = N.Foo(0);` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: --- add init `x` (phase_all.carbon:16)
|
|
|
+// CHECK:STDOUT: *** resolving-unformed in stmt `return x;` (phase_all.carbon:17)
|
|
|
+// CHECK:STDOUT: --- check `x` (phase_all.carbon:17)
|
|
|
// CHECK:STDOUT: ********** printing declarations **********
|
|
|
// CHECK:STDOUT: interface TestInterface {
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -200,12 +201,12 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: (+) stack-push: interface TestInterface {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: .0.
|
|
|
-// CHECK:STDOUT: --- step decl interface TestInterface .0. (full_trace.carbon:7) --->
|
|
|
+// CHECK:STDOUT: --- step decl interface TestInterface .0. (phase_all.carbon:7) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: interface TestInterface {
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: namespace N; .0.
|
|
|
-// CHECK:STDOUT: --- step decl namespace N .0. (full_trace.carbon:9) --->
|
|
|
+// CHECK:STDOUT: --- step decl namespace N .0. (phase_all.carbon:9) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: namespace N; .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: fn Foo (n: i32)-> i32 {
|
|
|
// CHECK:STDOUT: {
|
|
|
@@ -214,7 +215,7 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: .0.
|
|
|
-// CHECK:STDOUT: --- step decl fn N.Foo .0. (full_trace.carbon:13) --->
|
|
|
+// CHECK:STDOUT: --- step decl fn N.Foo .0. (phase_all.carbon:13) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: fn Foo (n: i32)-> i32 {
|
|
|
// CHECK:STDOUT: {
|
|
|
// CHECK:STDOUT: return (n + 1);
|
|
|
@@ -230,7 +231,7 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: .0.
|
|
|
-// CHECK:STDOUT: --- step decl fn Main .0. (full_trace.carbon:18) --->
|
|
|
+// CHECK:STDOUT: --- step decl fn Main .0. (phase_all.carbon:18) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: fn Main ()-> i32 {
|
|
|
// CHECK:STDOUT: {
|
|
|
// CHECK:STDOUT: var x: i32 = N.Foo(0);
|
|
|
@@ -247,32 +248,32 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: (+) stack-push: Main .0.
|
|
|
// CHECK:STDOUT: --- step exp Main .0. (<Main()>:0) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: Main .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: Main .1. {{[[][[]}}fun<Main>]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: Main .1. {{\[\[}}fun<Main>]]
|
|
|
// CHECK:STDOUT: --- step exp Main() .1. (<Main()>:0) --->
|
|
|
// CHECK:STDOUT: calling function: fun<Main>
|
|
|
// CHECK:STDOUT: match pattern ()
|
|
|
// CHECK:STDOUT: from value expression with value ()
|
|
|
// CHECK:STDOUT: (+) stack-push: .0. {}
|
|
|
// CHECK:STDOUT: (+) stack-push: {var x: i32 = N.Foo(0);return x;} .0.
|
|
|
-// CHECK:STDOUT: --- step stmt {var x: i32 = N.Foo(0);return x;} .0. (full_trace.carbon:18) --->
|
|
|
+// CHECK:STDOUT: --- step stmt {var x: i32 = N.Foo(0);return x;} .0. (phase_all.carbon:18) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: var x: i32 = N.Foo(0); .0.
|
|
|
-// CHECK:STDOUT: --- step stmt var x: i32 = N.Foo(0); .0. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step stmt var x: i32 = N.Foo(0); .0. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (+) memory-alloc: #1 `Uninit<i32>` uninitialized
|
|
|
// CHECK:STDOUT: (+) stack-push: N.Foo(0) .0.
|
|
|
-// CHECK:STDOUT: --- step exp N.Foo(0) .0. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step exp N.Foo(0) .0. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: N.Foo .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: N.Foo .0.
|
|
|
-// CHECK:STDOUT: --- step exp N.Foo .0. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step exp N.Foo .0. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: N.Foo .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: Foo .0.
|
|
|
-// CHECK:STDOUT: --- step exp Foo .0. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step exp Foo .0. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: Foo .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: N.Foo .1. {{[[][[]}}fun<N.Foo>]]
|
|
|
-// CHECK:STDOUT: --- step exp N.Foo(0) .1. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: N.Foo .1. {{\[\[}}fun<N.Foo>]]
|
|
|
+// CHECK:STDOUT: --- step exp N.Foo(0) .1. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: 0 .0.
|
|
|
-// CHECK:STDOUT: --- step exp 0 .0. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step exp 0 .0. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: 0 .0.
|
|
|
-// CHECK:STDOUT: --- step exp N.Foo(0) .2. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step exp N.Foo(0) .2. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: calling function: fun<N.Foo>
|
|
|
// CHECK:STDOUT: match pattern (Placeholder<n>,)
|
|
|
// CHECK:STDOUT: from value expression with value (0,)
|
|
|
@@ -280,55 +281,55 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: from value expression with value 0
|
|
|
// CHECK:STDOUT: (+) stack-push: .0. {n: i32: 0}
|
|
|
// CHECK:STDOUT: (+) stack-push: {return (n + 1);} .0.
|
|
|
-// CHECK:STDOUT: --- step stmt {return (n + 1);} .0. (full_trace.carbon:13) --->
|
|
|
+// CHECK:STDOUT: --- step stmt {return (n + 1);} .0. (phase_all.carbon:13) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: return (n + 1); .0.
|
|
|
-// CHECK:STDOUT: --- step stmt return (n + 1); .0. (full_trace.carbon:12) --->
|
|
|
+// CHECK:STDOUT: --- step stmt return (n + 1); .0. (phase_all.carbon:12) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: (n + 1) .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: (n + 1) .0.
|
|
|
-// CHECK:STDOUT: --- step exp (n + 1) .0. (full_trace.carbon:12) --->
|
|
|
+// CHECK:STDOUT: --- step exp (n + 1) .0. (phase_all.carbon:12) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: n .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: n .0.
|
|
|
-// CHECK:STDOUT: --- step exp n .0. (full_trace.carbon:12) --->
|
|
|
+// CHECK:STDOUT: --- step exp n .0. (phase_all.carbon:12) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: n .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: n .1. {{[[][[]}}0]]
|
|
|
-// CHECK:STDOUT: --- step exp (n + 1) .1. (full_trace.carbon:12) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: n .1. {{\[\[}}0]]
|
|
|
+// CHECK:STDOUT: --- step exp (n + 1) .1. (phase_all.carbon:12) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: 1 .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: 1 .0.
|
|
|
-// CHECK:STDOUT: --- step exp 1 .0. (full_trace.carbon:12) --->
|
|
|
+// CHECK:STDOUT: --- step exp 1 .0. (phase_all.carbon:12) --->
|
|
|
// CHECK:STDOUT: (-) stack-pop: 1 .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: 1 .1. {{[[][[]}}1]]
|
|
|
-// CHECK:STDOUT: --- step exp (n + 1) .2. (full_trace.carbon:12) --->
|
|
|
-// CHECK:STDOUT: (-) stack-pop: (n + 1) .2. {{[[][[]}}0, 1]]
|
|
|
-// CHECK:STDOUT: (-) stack-pop: (n + 1) .1. {{[[][[]}}1]]
|
|
|
-// CHECK:STDOUT: --- step stmt return (n + 1); .1. (full_trace.carbon:12) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: 1 .1. {{\[\[}}1]]
|
|
|
+// CHECK:STDOUT: --- step exp (n + 1) .2. (phase_all.carbon:12) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: (n + 1) .2. {{\[\[}}0, 1]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: (n + 1) .1. {{\[\[}}1]]
|
|
|
+// CHECK:STDOUT: --- step stmt return (n + 1); .1. (phase_all.carbon:12) --->
|
|
|
// CHECK:STDOUT: +++ memory-write: #1 `1`
|
|
|
-// CHECK:STDOUT: (-) stack-pop: return (n + 1); .1. {{[[][[]}}1]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: return (n + 1); .1. {{\[\[}}1]]
|
|
|
// CHECK:STDOUT: (-) stack-pop: {return (n + 1);} .1. {}
|
|
|
// CHECK:STDOUT: (-) stack-pop: .0. {n: i32: 0}
|
|
|
// CHECK:STDOUT: (+) stack-push: clean up.0. {n: i32: 0}
|
|
|
// CHECK:STDOUT: (+) stack-push: clean up.0. {}
|
|
|
// CHECK:STDOUT: (-) stack-pop: clean up.0. {}
|
|
|
// CHECK:STDOUT: (-) stack-pop: clean up.0. {n: i32: 0}
|
|
|
-// CHECK:STDOUT: --- step exp N.Foo(0) .3. (full_trace.carbon:16) --->
|
|
|
-// CHECK:STDOUT: (-) stack-pop: N.Foo(0) .3. {{[[][[]}}fun<N.Foo>, 0, 1]] {}
|
|
|
+// CHECK:STDOUT: --- step exp N.Foo(0) .3. (phase_all.carbon:16) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: N.Foo(0) .3. {{\[\[}}fun<N.Foo>, 0, 1]] {}
|
|
|
// CHECK:STDOUT: (+) stack-push: clean up.0. {}
|
|
|
// CHECK:STDOUT: (-) stack-pop: clean up.0. {}
|
|
|
-// CHECK:STDOUT: --- step stmt var x: i32 = N.Foo(0); .1. (full_trace.carbon:16) --->
|
|
|
+// CHECK:STDOUT: --- step stmt var x: i32 = N.Foo(0); .1. (phase_all.carbon:16) --->
|
|
|
// CHECK:STDOUT: +++ memory-read: #1 `1`
|
|
|
// CHECK:STDOUT: match pattern Placeholder<x>
|
|
|
// CHECK:STDOUT: from initializing expression with value 1
|
|
|
-// CHECK:STDOUT: (-) stack-pop: var x: i32 = N.Foo(0); .1. {{[[][[]}}1]]
|
|
|
-// CHECK:STDOUT: --- step stmt {var x: i32 = N.Foo(0);return x;} .1. (full_trace.carbon:18) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: var x: i32 = N.Foo(0); .1. {{\[\[}}1]]
|
|
|
+// CHECK:STDOUT: --- step stmt {var x: i32 = N.Foo(0);return x;} .1. (phase_all.carbon:18) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: return x; .0.
|
|
|
-// CHECK:STDOUT: --- step stmt return x; .0. (full_trace.carbon:17) --->
|
|
|
+// CHECK:STDOUT: --- step stmt return x; .0. (phase_all.carbon:17) --->
|
|
|
// CHECK:STDOUT: (+) stack-push: x .0.
|
|
|
// CHECK:STDOUT: (+) stack-push: x .0.
|
|
|
-// CHECK:STDOUT: --- step exp x .0. (full_trace.carbon:17) --->
|
|
|
+// CHECK:STDOUT: --- step exp x .0. (phase_all.carbon:17) --->
|
|
|
// CHECK:STDOUT: +++ memory-read: #1 `1`
|
|
|
// CHECK:STDOUT: (-) stack-pop: x .0.
|
|
|
-// CHECK:STDOUT: (-) stack-pop: x .1. {{[[][[]}}ref_expr<Allocation(1)>]]
|
|
|
-// CHECK:STDOUT: --- step stmt return x; .1. (full_trace.carbon:17) --->
|
|
|
-// CHECK:STDOUT: (-) stack-pop: return x; .1. {{[[][[]}}1]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: x .1. {{\[\[}}ref_expr<Allocation(1)>]]
|
|
|
+// CHECK:STDOUT: --- step stmt return x; .1. (phase_all.carbon:17) --->
|
|
|
+// CHECK:STDOUT: (-) stack-pop: return x; .1. {{\[\[}}1]]
|
|
|
// CHECK:STDOUT: (-) stack-pop: {var x: i32 = N.Foo(0);return x;} .2. {x: i32: lval<Allocation(1)>}
|
|
|
// CHECK:STDOUT: (-) stack-pop: .0. {}
|
|
|
// CHECK:STDOUT: (+) stack-push: clean up.0. {}
|
|
|
@@ -340,14 +341,14 @@ fn Main() -> i32 {
|
|
|
// CHECK:STDOUT: (-) stack-pop: clean up.2. {x: i32: lval<Allocation(1)>}
|
|
|
// CHECK:STDOUT: (-) stack-pop: clean up.0. {}
|
|
|
// CHECK:STDOUT: --- step exp Main() .2. (<Main()>:0) --->
|
|
|
-// CHECK:STDOUT: (-) stack-pop: Main() .2. {{[[][[]}}fun<Main>, 1]] {}
|
|
|
+// CHECK:STDOUT: (-) stack-pop: Main() .2. {{\[\[}}fun<Main>, 1]] {}
|
|
|
// CHECK:STDOUT: (+) stack-push: clean up.0. {}
|
|
|
// CHECK:STDOUT: (-) stack-pop: clean up.0. {}
|
|
|
-// CHECK:STDOUT: (-) stack-pop: Main() .1. {{[[][[]}}1]]
|
|
|
+// CHECK:STDOUT: (-) stack-pop: Main() .1. {{\[\[}}1]]
|
|
|
// CHECK:STDOUT: interpreter result: 1
|
|
|
// CHECK:STDOUT: ********** printing timing **********
|
|
|
-// CHECK:STDOUT: Time elapsed in ExecProgram: {{[0-9]+}}ms
|
|
|
-// CHECK:STDOUT: Time elapsed in AnalyzeProgram: {{[0-9]+}}ms
|
|
|
-// CHECK:STDOUT: Time elapsed in AddPrelude: {{[0-9]+}}ms
|
|
|
-// CHECK:STDOUT: Time elapsed in Parse: {{[0-9]+}}ms
|
|
|
+// CHECK:STDOUT: Time elapsed in ExecProgram: {{\d+}}ms
|
|
|
+// CHECK:STDOUT: Time elapsed in AnalyzeProgram: {{\d+}}ms
|
|
|
+// CHECK:STDOUT: Time elapsed in AddPrelude: {{\d+}}ms
|
|
|
+// CHECK:STDOUT: Time elapsed in Parse: {{\d+}}ms
|
|
|
// CHECK:STDOUT: result: 1
|