forked from OSchip/llvm-project
[flang] Add semantic check for named constant as function result
Similar to procedure argument, the function result cannot be one named constant. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D126693
This commit is contained in:
parent
3d56131bf6
commit
5491fdf559
|
@ -351,6 +351,10 @@ void CheckHelper::Check(const Symbol &symbol) {
|
|||
"A dummy argument may not have the SAVE attribute"_err_en_US);
|
||||
}
|
||||
} else if (IsFunctionResult(symbol)) {
|
||||
if (IsNamedConstant(symbol)) {
|
||||
messages_.Say(
|
||||
"A function result may not also be a named constant"_err_en_US);
|
||||
}
|
||||
if (!symbol.test(Symbol::Flag::InDataStmt) /*caught elsewhere*/ &&
|
||||
IsSaved(symbol)) {
|
||||
messages_.Say(
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
! RUN: %python %S/test_errors.py %s %flang_fc1
|
||||
! test named constant declarations
|
||||
|
||||
function f1() result(x)
|
||||
!ERROR: A function result may not also be a named constant
|
||||
integer, parameter :: x = 1
|
||||
end
|
||||
|
Loading…
Reference in New Issue