You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[flang] More information on generic resolution failures
When a generic procedure reference does not match any of its
specific procedures, run through them and emit the errors for each
attempted match, so that the user has more information to
resolve the problem by adjusting the actual arguments.
const Symbol &symbol, bool dueToAmbiguity, bool isSubroutine) {
3103
-
Say(dueToAmbiguity
3104
-
? "The actual arguments to the generic procedure '%s' matched multiple specific procedures, perhaps due to use of NULL() without MOLD= or an actual procedure with an implicit interface"_err_en_US
3105
-
: semantics::IsGenericDefinedOp(symbol)
3106
-
? "No specific procedure of generic operator '%s' matches the actual arguments"_err_en_US
3107
-
: isSubroutine
3108
-
? "No specific subroutine of generic '%s' matches the actual arguments"_err_en_US
3109
-
: "No specific function of generic '%s' matches the actual arguments"_err_en_US,
3110
-
symbol.name());
3102
+
voidExpressionAnalyzer::EmitGenericResolutionError(const Symbol &symbol,
? "The actual arguments to the generic procedure '%s' matched multiple specific procedures, perhaps due to use of NULL() without MOLD= or an actual procedure with an implicit interface"_err_en_US
3106
+
: semantics::IsGenericDefinedOp(symbol)
3107
+
? "No specific procedure of generic operator '%s' matches the actual arguments"_err_en_US
3108
+
: isSubroutine
3109
+
? "No specific subroutine of generic '%s' matches the actual arguments"_err_en_US
3110
+
: "No specific function of generic '%s' matches the actual arguments"_err_en_US,
0 commit comments