Commit 33ad7fa
committed
[flang][runtime] Let more list-directed child input advance
Whether list-directed child READ statements should be allowed
to advance to further records is neither explicit in the standard
nor consistent in existing Fortran implementations. We allow
child namelist READ statements to advance, but not other list-
directed child input.
This patch refines our interpretation of this case. Child namelist
READ statements continue to be able to advance; in addition, non-namelist
child READ statements can now advance if their parent READ statement
is a list-directed input statement at the top level, or a child
that could. But non-namelist list-directed child input taking
place in a context with explicit format control won't advance
to following records, so that the format-controlled parent READ
statement can retain control over record advancement.
Also corrects two cases of record repositioning in numeric input
editing, which were failing under child input because they weren't
allowing for left tab limits.
Fixes #160351.1 parent 06fb26c commit 33ad7fa
File tree
6 files changed
+65
-19
lines changed- flang-rt
- include/flang-rt/runtime
- lib/runtime
- flang/docs
6 files changed
+65
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
70 | 81 | | |
71 | 82 | | |
72 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
703 | 703 | | |
704 | 704 | | |
705 | 705 | | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
706 | 713 | | |
707 | 714 | | |
708 | 715 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
| 50 | + | |
| 51 | + | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
53 | 55 | | |
54 | 56 | | |
55 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
57 | 59 | | |
58 | 60 | | |
59 | 61 | | |
60 | | - | |
| 62 | + | |
61 | 63 | | |
62 | 64 | | |
63 | 65 | | |
| |||
447 | 449 | | |
448 | 450 | | |
449 | 451 | | |
450 | | - | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
451 | 455 | | |
452 | 456 | | |
453 | 457 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
880 | 880 | | |
881 | 881 | | |
882 | 882 | | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
883 | 886 | | |
884 | 887 | | |
885 | 888 | | |
| |||
890 | 893 | | |
891 | 894 | | |
892 | 895 | | |
893 | | - | |
894 | | - | |
| 896 | + | |
| 897 | + | |
895 | 898 | | |
896 | | - | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
897 | 906 | | |
898 | 907 | | |
899 | 908 | | |
900 | | - | |
901 | | - | |
| 909 | + | |
902 | 910 | | |
903 | 911 | | |
904 | | - | |
905 | | - | |
| 912 | + | |
906 | 913 | | |
907 | 914 | | |
908 | 915 | | |
| |||
1103 | 1110 | | |
1104 | 1111 | | |
1105 | 1112 | | |
1106 | | - | |
| 1113 | + | |
1107 | 1114 | | |
1108 | 1115 | | |
1109 | 1116 | | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
1110 | 1126 | | |
1111 | 1127 | | |
1112 | 1128 | | |
| |||
1117 | 1133 | | |
1118 | 1134 | | |
1119 | 1135 | | |
1120 | | - | |
1121 | | - | |
1122 | | - | |
1123 | | - | |
1124 | | - | |
1125 | | - | |
| 1136 | + | |
1126 | 1137 | | |
1127 | 1138 | | |
1128 | 1139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
917 | 917 | | |
918 | 918 | | |
919 | 919 | | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
920 | 931 | | |
921 | 932 | | |
922 | 933 | | |
| |||
0 commit comments