We were not instantiating procedure pointer components. If the instantiation
contained errors, we were not reporting them. This resulted in internal errors
in later processing.
I fixed this by adding code in .../lib/Semantics/type.cpp in
InstantiateComponent() to handle a component with ProcEntityDetails. I also
added several tests for various good and bad instantiations of procedure
pointer components.
One of the tests caused a redundant context message to appear. I fixed this by
removing a call to set_instantiationContext() from
DerivedTypeSpec::Instantiate().
Why is the scope's instantiation context no longer needing to be set? Are you somehow setting it elsewhere?