I encountered an unexpected error with GPC when compiling a Pascal source that contains "some text" (not Pascal code) after the final "End." of the program. GPC tries to compile this extra text and finds syntax errors in it.
Although I did not see any reference to this in ISO 10206, I think it could be a nice feature for GPC to ignore everything after the final "End." in a program or a unit since nothing useful for it should be there.
-fignore-garbage-after-dot
There is reference in ISO 10206: see 6.13, especially rule for program-block. AFAICS the compiler is required to accept multi-module program in a single file. In particular Note 1 to 6.13 clarily states that "useless" modules may follow main program.