Commit 73c03db
committed
gccrs: Implement type check & codegen for HIR::StructPatternFieldTuplePat
006t.original dump of rust/compile/match-structpattern-tuplefield.rs:
...
const struct match_structpattern_tuplefield::TupStruct t = {.0=1, .1=2};
struct () RUSTTMP.1;
const struct match_structpattern_tuplefield::TupStruct RUSTTMP.2;
RUSTTMP.2 = t;
if (RUSTTMP.2.0 == 1 && RUSTTMP.2.1 == 2)
{
{
struct () RUSTTMP.3;
{}
goto <D.100>;
}
}
if (1)
{
{
struct () RUSTTMP.4;
{}
goto <D.100>;
}
}
if (RUSTTMP.2.0 == 1)
{
{
struct () RUSTTMP.5;
{}
goto <D.100>;
}
}
if (1)
{
{
struct () RUSTTMP.6;
{}
goto <D.100>;
}
}
<D.100>:;
...
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-pattern.cc (visit(StructPattern)): Implement
type check case for HIR::StructPatternFieldTuplePat.
* checks/errors/rust-hir-pattern-analysis.cc (lower_struct_pattern): Implement
case for HIR::StructPatternField::ItemType::TUPLE_PAT.
* backend/rust-compile-pattern.cc:
* CompilePatternCheckExpr::visit (HIR::StructPattern): Implement code
gen for HIR::StructPatternField::ItemType::TUPLE_PAT case.
* CompilePatternBindings::handle_struct_pattern_tuple_pat: Implement
bindings for HIR::StructPatternFieldTuplePat.
* backend/rust-compile-pattern.h: Update function definition for
handle_struct_pattern_tuple_pat.
Signed-off-by: Yap Zhi Heng <[email protected]>1 parent c57cf83 commit 73c03db
File tree
7 files changed
+109
-10
lines changed- gcc
- rust
- backend
- checks/errors
- typecheck
- testsuite/rust
- compile
- execute/torture
7 files changed
+109
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
300 | | - | |
301 | | - | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
302 | 312 | | |
303 | 313 | | |
304 | 314 | | |
| |||
954 | 964 | | |
955 | 965 | | |
956 | 966 | | |
957 | | - | |
| 967 | + | |
| 968 | + | |
958 | 969 | | |
959 | | - | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
960 | 1001 | | |
961 | 1002 | | |
962 | 1003 | | |
| |||
996 | 1037 | | |
997 | 1038 | | |
998 | 1039 | | |
999 | | - | |
| 1040 | + | |
1000 | 1041 | | |
1001 | 1042 | | |
1002 | 1043 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
92 | 95 | | |
93 | 96 | | |
94 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1315 | 1315 | | |
1316 | 1316 | | |
1317 | 1317 | | |
1318 | | - | |
1319 | | - | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
1320 | 1324 | | |
1321 | 1325 | | |
1322 | 1326 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
477 | | - | |
478 | | - | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
479 | 492 | | |
480 | 493 | | |
481 | 494 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
0 commit comments