I admit that it is a bit confusing that we have collected various categories of compile-time diagnostics under -warn, but not all of these are strictly warnings. For example, "-warn declarations" is the equivalent of IMPLICIT NONE and will give you errors (not warnings) for undeclared variables. Similarly, -warn interfaces enables the compile-time interface checking feature, and mismatches that are normally errors will also be errors here.
Whether the compiler "goes on" or not depends on the side effects of the error. If it prevents a module from being compiled, for example, anything using that module will fail.
I admit that it is a bit confusing that we have collected various categories of compile-time diagnostics under -warn, but not all of these are strictly warnings. For example, "-warn declarations" is the equivalent of IMPLICIT NONE and will give you errors (not warnings) for undeclared variables. Similarly, -warn interfaces enables the compile-time interface checking feature, and mismatches that are normally errors will also be errors here.
Whether the compiler "goes on" or not depends on the side effects of the error. If it prevents a module from being compiled, for example, anything using that module will fail.