diff options
author | Peter Klausler <35819229+klausler@users.noreply.github.com> | 2024-06-03 14:02:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-03 14:02:07 -0700 |
commit | caa0a2695e6caa4da088f6f933ac45839d425656 (patch) | |
tree | a84a50a8133cc2ce25f4bd6786e582a73815b1d0 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | c2d061da7e17e61d4a0efad261e5280793c1b7ce (diff) | |
download | llvm-caa0a2695e6caa4da088f6f933ac45839d425656.zip llvm-caa0a2695e6caa4da088f6f933ac45839d425656.tar.gz llvm-caa0a2695e6caa4da088f6f933ac45839d425656.tar.bz2 |
[flang] Add warnings about undefinable actuals for ASYNCHRONOUS/VOLAT… (#93851)
…ILE dummies
There's language in the standard (F'2023 15.5.2.5 p21) disallowing an
actual argument with a vector subscript from associating with a dummy
argument with either the ASYNCHRONOUS or VOLATILE attributes. This is a
bug in the standard, as (1) these attributes are actually relevant only
over the scope of the called procedure, (2) they can be applied in
nested scopes (internal subprograms and BLOCK) within the called
procedure, and (3) can be implicit within the called procedure and its
nested scopes in the case of ASYNCHRONOUS as a side effect of using a
dummy argument in an asynchronous data transfer statement. So issue a
warning. This new warning about undefinable actual arguments being
associated with ASYNCHRONOUS and VOLATILE dummy arguments subsumes an
existing warning about passing a constant actual to a VOLATILE dummy.
Resolves https://github.com/llvm/llvm-project/issues/93600.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions