Skip to content

Commit 4e9ee91

Browse files
committed
Fix issue with type bound procedures
In gen_set_type(), use the check_member() function instead of the mk_member() function to properly generate type descriptor expressions.
1 parent 8268313 commit 4e9ee91

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

tools/flang1/flang1exe/semutil2.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14100,8 +14100,7 @@ gen_set_type(int dest_ast, int src_ast, int std, LOGICAL insert_before,
1410014100
arg0 = dest_ast;
1410114101
} else if (A_TYPEG(src_ast) == A_MEM) {
1410214102
sdsc = get_member_descriptor(sptr);
14103-
arg0 = mk_member(mk_id(sym_of_ast(A_PARENTG(dest_ast))), mk_id(sdsc),
14104-
A_DTYPEG(dest_ast));
14103+
arg0 = check_member(dest_ast, mk_id(sdsc));
1410514104
} else {
1410614105
sdsc = SDSCG(sptr);
1410714106
if (sdsc == 0) {
@@ -14120,8 +14119,7 @@ gen_set_type(int dest_ast, int src_ast, int std, LOGICAL insert_before,
1412014119
arg1 = src_ast;
1412114120
} else if (A_TYPEG(src_ast) == A_MEM) {
1412214121
sdsc = get_member_descriptor(sptr);
14123-
arg1 = mk_member(mk_id(sym_of_ast(A_PARENTG(src_ast))), mk_id(sdsc),
14124-
A_DTYPEG(src_ast));
14122+
arg1 = check_member(src_ast, mk_id(sdsc));
1412514123
} else {
1412614124
sdsc = SDSCG(sptr);
1412714125
if (sdsc == 0) {

0 commit comments

Comments
 (0)