Revert "Exception: Remove obsolete GCC version checks."

This reverts commit 949a2d948266bedfd5c347c718313658a1edf5e9.
Revert "Exception: Remove obsolete MSVC version check."

This reverts commit ec6bce5618096273ffcf1300f63cfcd570c616a7.
Revert "Remove obsolete MSVC check from pragma guard"

This reverts commit 24fd7039a146b9823890751b3b671d8909de199c.