When printing semantic_errors at high verbosity (-vv), it can be useful
to also know where the error came from. That information is already made
available through the errsrc member of semantic_error (initially
implemented for dup-error elimination).
We also change the ERRSRC macro to use __FILE__ rather than __FUNCTION__
to be not only more informative, but more foolproof (e.g. two errors
thrown from identically named functions at identical lines in separate
files before would have been considered equivalent by the dup-error
elimination).
The final result is e.g. something like this:
semantic error: unresolved type : identifier 'ActiveOpens' at :22:8
thrown from: elaborate.cxx:5239
source: global ActiveOpens
^