Semantics::AnyFatalError may return true after
Fortran::semantics::BuildRuntimeDerivedTypeTables is run. That's
despite Semantics::perform having been run earlier and not reporting
any issues. This is demonstrated below:
semantics.perform() // No errors here, i.e. `semantics.AnyFatalError()` returns `false` BuildRuntimeDerivedTypeTables() // New semantic errors are found, i.e. `semantics.AnyFatalError()` returns `true`
This patch udpates the "throwaway" driver so that the semantic errors
identified after BuildRuntimeDerivedTypeTables are correctly reported.
This change affects some tests - the corresponding input leads to
semantic errors that are only identified after
BuildRuntimeDerivedTypeTables is run. The generated output (which is
fed into FileCheck) still matches the expected output, but f18 returns
a non-zero code. As a temporary solution workaround for this, %f18 is
replaced with not %f18.