17 void gen::upinit_() { FortranInstance::getInstance<FortranInstance>()->upInit(); }
19 void gen::upevnt_() { FortranInstance::getInstance<FortranInstance>()->upEvnt(); }
34 <<
" destroyed while it was the " 35 "current active instance." 46 if (currentInstance && currentInstance !=
this)
48 <<
"::enter() called from a different " 49 "instance while an instance was already active." 52 if (!currentInstance && instanceNesting != 0)
54 <<
"::enter() called on an empty " 55 "instance, but instance counter is nonzero." 58 currentInstance =
this;
65 <<
"::leave() called without an " 68 else if (currentInstance !=
this)
70 <<
"::leave() called from a " 73 else if (instanceNesting <= 0)
75 <<
"::leave() called with a " 76 "nesting level of zero." 79 if (--instanceNesting == 0)
80 currentInstance =
nullptr;
85 "a Fortran context, but no current instance " 86 "has been registered." 94 <<
"::upInit() stub called. " 95 "If user process needs to be generated, please derive " 96 "and implement the upInit() method." 102 <<
"::upEvnt() stub called. " 103 "If user process needs to be generated, please derive " 104 "and implement the upEvnt() method."
__attribute__((visibility("hidden"))) void dummy()
static void throwMissingInstance()
TEMPL(T2) struct Divides void
std::string friendlyName(std::string const &iFullName)
static FortranInstance * currentInstance
static const std::string kFortranInstance
Log< level::Warning, false > LogWarning
virtual ~FortranInstance() noexcept(false)