File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed
Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -307,7 +307,9 @@ static void DetermineCopyInOutArgument(
307307 bool dummyIsAssumedRank{dummyObj->type .attrs ().test (
308308 characteristics::TypeAndShape::Attr::AssumedRank)};
309309 bool dummyIsArray{dummyIsAssumedRank || dummyObj->type .Rank () > 0 };
310- if (!actualIsArray || !dummyIsArray) {
310+ bool treatDummyScalarAsArray{dummyObj->type .Rank () == 0 &&
311+ dummyObj->ignoreTKR .test (common::IgnoreTKR::Rank)};
312+ if (!actualIsArray || !(dummyIsArray || treatDummyScalarAsArray)) {
311313 return ;
312314 }
313315
@@ -335,6 +337,7 @@ static void DetermineCopyInOutArgument(
335337 bool dummyIsAssumedSize{dummyObj->type .attrs ().test (
336338 characteristics::TypeAndShape::Attr::AssumedSize)};
337339 bool dummyNeedsContiguity{dummyIsExplicitShape || dummyIsAssumedSize ||
340+ treatDummyScalarAsArray ||
338341 dummyObj->attrs .test (characteristics::DummyDataObject::Attr::Contiguous)};
339342 if (!actualTreatAsContiguous && dummyNeedsContiguity) {
340343 setCopyIn ();
You can’t perform that action at this time.
0 commit comments