Lines Matching defs:assignment
133 // entity, assignment to an allocatable variable, or an actual DEALLOCATE
143 // Predicate for deallocations caused by intrinsic assignment
218 // Deallocation caused by assignment
223 const char *reason{"assignment"};
227 if (const auto *assignment{GetAssignment(stmt)}) {
228 const auto &lhs{assignment->lhs};
234 if (const auto *assignment{GetAssignment(stmt)}) {
236 std::get_if<evaluate::ProcedureRef>(&assignment->u)}) {
239 "The defined assignment subroutine '%s' is not pure"_err_en_US,
447 assignment{common::visit(
450 CheckForallIndexesUsed(*assignment);
451 CheckForImpureCall(assignment->lhs, kind_);
452 CheckForImpureCall(assignment->rhs, kind_);
454 if (IsVariable(assignment->lhs)) {
455 if (const Symbol * symbol{GetLastSymbol(assignment->lhs)}) {
457 HasImpureFinal(*symbol, assignment->lhs.Rank())}) {
466 std::get_if<evaluate::ProcedureRef>(&assignment->u)}) {
487 assignment->u);
854 // Each index should be used on the LHS of each assignment in a FORALL
855 void CheckForallIndexesUsed(const evaluate::Assignment &assignment) {
858 UnorderedSymbolSet symbols{evaluate::CollectSymbols(assignment.lhs)};
888 assignment.u);
892 "FORALL index variable '%s' not used on left-hand side of assignment"_warn_en_US,