mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Add support for dereference operator. (#3066)
Also fix a couple of error-recovery issues exposed by the tests for this change.
This commit is contained in:
+2
-6
@@ -8,10 +8,7 @@ fn F() -> i32 {
|
||||
var n: i32 = 0;
|
||||
var p: i32* = &n;
|
||||
|
||||
// TODO: Dereference.
|
||||
// return *p;
|
||||
|
||||
return 0;
|
||||
return *p;
|
||||
}
|
||||
|
||||
// CHECK:STDOUT: cross_reference_irs_size: 1
|
||||
@@ -20,7 +17,6 @@ fn F() -> i32 {
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: integer_literals: [
|
||||
// CHECK:STDOUT: 0,
|
||||
// CHECK:STDOUT: 0,
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: real_literals: [
|
||||
// CHECK:STDOUT: ]
|
||||
@@ -46,7 +42,7 @@ fn F() -> i32 {
|
||||
// CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+6, type: type1},
|
||||
// CHECK:STDOUT: {kind: AddressOf, arg0: node+1, type: type1},
|
||||
// CHECK:STDOUT: {kind: Assign, arg0: node+6, arg1: node+8},
|
||||
// CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0},
|
||||
// CHECK:STDOUT: {kind: Dereference, arg0: node+6, type: type0},
|
||||
// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+10},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: node_blocks: [
|
||||
|
||||
Reference in New Issue
Block a user