This is an archive of the discontinued LLVM Phabricator instance.

[flang] Reimplement C1406 check as a warning
ClosedPublic

Authored by klausler on Mar 21 2023, 3:06 PM.

Details

Summary

Constraint C1406 in Fortran 2018 prohibits the USE of the same module
name as both an intrinsic module and a non-intrinsic module in a scope.
The current check misinterprets the constraint as applying only to
explicitly INTRINSIC or NON_INTRINSIC module natures.

Change the check to also apply to non-explicit module natures, and
also downgrade it to a portability warning, since there is no ambiguity
and I suspect that we need to accept this usage when building f18's
own intrinsic modules.

Diff Detail

Event Timeline

klausler created this revision.Mar 21 2023, 3:06 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 21 2023, 3:06 PM
klausler requested review of this revision.Mar 21 2023, 3:06 PM
vdonaldson accepted this revision.Mar 21 2023, 7:52 PM
This revision is now accepted and ready to land.Mar 21 2023, 7:52 PM
This revision was automatically updated to reflect the committed changes.