Lines Matching defs:entity

131   // C1140 -- Can't deallocate a polymorphic entity in a DO CONCURRENT.
133 // entity, assignment to an allocatable variable, or an actual DEALLOCATE
136 // Note also that the deallocation of a derived type entity might cause the
148 static bool WillDeallocatePolymorphic(const Symbol &entity,
150 return WillDeallocate(entity) && IsPolymorphicAllocatable(entity);
153 // Is it possible that we will we deallocate a polymorphic entity or one
158 // Check the entity itself, no coarray exception here
179 const Symbol &entity, const char *reason, const Symbol &impure) {
180 context_.SayWithDecl(entity, currentStatementSourcePosition_,
181 "Deallocation of an entity with an IMPURE FINAL procedure '%s' caused by %s not allowed in DO CONCURRENT"_err_en_US,
186 parser::CharBlock location, const Symbol &entity, const char *reason) {
187 context_.SayWithDecl(entity, location,
188 "Deallocation of a polymorphic entity caused by %s"
196 // not deallocate in cases where the entity itself is not allocatable but
206 const Symbol &entity{*pair.second};
207 if (IsAllocatable(entity) && !IsSaved(entity) &&
208 MightDeallocatePolymorphic(entity, DeallocateAll)) {
209 SayDeallocateOfPolymorph(endBlockStmt.source, entity, reason);
211 if (const Symbol * impure{HasImpureFinal(entity)}) {
212 SayDeallocateWithImpureFinal(entity, reason, *impure);
222 if (const Symbol * entity{GetLastName(variable).symbol}) {
224 if (MightDeallocatePolymorphic(*entity, DeallocateNonCoarray)) {
225 SayDeallocateOfPolymorph(variable.GetSource(), *entity, reason);
229 if (const Symbol * impure{HasImpureFinal(*entity, lhs.Rank())}) {
230 SayDeallocateWithImpureFinal(*entity, reason, *impure);
256 const Symbol &entity{*name.symbol};
257 const DeclTypeSpec *entityType{entity.GetType()};
259 MightDeallocatePolymorphic(entity, DeallocateAll)) {
261 currentStatementSourcePosition_, entity, reason);
263 if (const Symbol * impure{HasImpureFinal(entity)}) {
264 SayDeallocateWithImpureFinal(entity, reason, *impure);