diff --git a/flang/include/flang/Semantics/symbol.h b/flang/include/flang/Semantics/symbol.h --- a/flang/include/flang/Semantics/symbol.h +++ b/flang/include/flang/Semantics/symbol.h @@ -594,7 +594,7 @@ // OpenACC data-sharing attribute AccPrivate, AccFirstPrivate, AccShared, // OpenACC data-mapping attribute - AccCopyIn, AccCopyOut, AccCreate, AccDelete, AccPresent, + AccCopy, AccCopyIn, AccCopyOut, AccCreate, AccDelete, AccPresent, // OpenACC data-movement attribute AccDevice, AccHost, AccSelf, // OpenACC miscellaneous flags diff --git a/flang/lib/Semantics/resolve-directives.cpp b/flang/lib/Semantics/resolve-directives.cpp --- a/flang/lib/Semantics/resolve-directives.cpp +++ b/flang/lib/Semantics/resolve-directives.cpp @@ -156,8 +156,7 @@ bool Pre(const parser::AccClause::Detach &); bool Pre(const parser::AccClause::Copy &x) { - ResolveAccObjectList(x.v, Symbol::Flag::AccCopyIn); - ResolveAccObjectList(x.v, Symbol::Flag::AccCopyOut); + ResolveAccObjectList(x.v, Symbol::Flag::AccCopy); return false; } diff --git a/flang/test/Semantics/OpenACC/acc-resolve04.f90 b/flang/test/Semantics/OpenACC/acc-resolve04.f90 --- a/flang/test/Semantics/OpenACC/acc-resolve04.f90 +++ b/flang/test/Semantics/OpenACC/acc-resolve04.f90 @@ -12,5 +12,8 @@ !$acc update self(/foo/) !$acc end data +!$acc data copy(/foo/) +!$acc end data + end