Lines Matching defs:proc2
3702 const Procedure *proc2{checkHelper.Characterize(symbol2)};
3703 if (!proc1 || !proc2) {
3707 proc2->attrs.test(Procedure::Attr::Pure)) {
3712 proc2->attrs.test(Procedure::Attr::Elemental)) {
3717 proc2->attrs.test(Procedure::Attr::BindC)) {
3721 if (proc1->functionResult && proc2->functionResult) {
3724 *proc2->functionResult, &whyNot)) {
3753 *arg1, *arg2, proc1->dummyArguments[i], proc2->dummyArguments[i]);
3767 [&](const DummyProcedure &proc1, const DummyProcedure &proc2) {
3768 CheckDummyProcedure(symbol1, symbol2, proc1, proc2);
3807 const DummyProcedure &proc2) {
3809 if (!CheckSameIntent(symbol1, symbol2, proc1.intent, proc2.intent)) {
3810 } else if (!CheckSameAttrs(symbol1, symbol2, proc1.attrs, proc2.attrs)) {
3811 } else if (!proc2.IsCompatibleWith(proc1, &whyNot)) {
3815 } else if (proc1 != proc2) {
3921 const Symbol &proc2, bool isHardConflict) {
3939 std::string name2{proc2.name().ToString()};
3941 // proc1 and proc2 may come from different scopes so qualify their names
3945 if (proc2.owner().IsDerivedType()) {
3946 name2 = proc2.owner().GetName()->ToString() + '%' + name2;
3967 AttachDeclaration(*msg, scope, proc2);