diff --git a/flang/lib/Semantics/check-call.cpp b/flang/lib/Semantics/check-call.cpp --- a/flang/lib/Semantics/check-call.cpp +++ b/flang/lib/Semantics/check-call.cpp @@ -574,6 +574,13 @@ "Actual argument associated with %s may not be null pointer %s"_err_en_US, dummyName, actual.AsFortran()); } + + // checks for attributes that are known to be unimplemented + if (dummyIsVolatile) { + messages.Say( + "VOLATILE keyword is not yet supported so this may lead to undefined behavior %s"_warn_en_US, + dummyName); + } } static void CheckProcedureArg(evaluate::ActualArgument &arg,