Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve handling of empty structure constructors
The compiler has a backend ICE. The problem is in the front end. Dinit info dump from the front end indicates the SPTR info for structure constructor members are missing: Dinit Constant List: 0x1ff2c30(TYPEINIT): subc:0x1ff2b30 sptr:644(parameter_list) rc:3 next:(nil) 0x1ff2b30(SCONST): subc:0x1ff2bb0 sptr:645(params) next:(nil) 0x1ff2bb0(AST): ast:16 dtype:6 next:0x1ff2bf0 0x1ff2bf0(AST): ast:2 dtype:6 next:(nil) Which should be: Dinit Constant List: 0x29d5c30(TYPEINIT): subc:0x29d5b30 sptr:644(parameter_list) rc:3 next:(nil) 0x29d5b30 (SCONST): subc: 0x29d5bb0 sptr: 645 (params) next: (nil) 0x29d5bb0 (AST): ast: 16 dtype: 6 sptr: 636 (x) next:0x29d5bf0 0x29d5bf0(AST): ast:2 dtype:6 sptr:640(first$p) next:(nil) This SPTR information is lost during "rewrite_acl" in "construct_acl_for_sst". Reserve the SPTR information in "rewrite_acl" to solve this problem.
- Loading branch information