Warnings are diagnostic messages that report constructions that are not inherently erroneous but that are risky or suggest there is likely to be a bug in the program. Unless -Werror is specified, they do not prevent compilation of the program.
-Wvoiding ¶Warn on non-void units being voided due to a strong context.
-WscopeWarn when a potential name scope violation is found.
-Whidden-declarations=levelWarn when a declaration hides another declaration in a larger reach. This includes operators that hide firmly related operators defined in larger reach.
-Whidden-declarations=noneAt this level no warning is issued for any hidden declaration on an outer scope.
-Whidden-declarations=preludeAt this level, warnings are issued for hidden declarations defined in the standard prelude. This is the default warning level of -Whidden-declarations.
-Whidden-declarations=allAt this level, warnings are issued for any and all hidden declarations.
-Wextensions ¶Warn when a non-portable Algol 68 construct is used, like GNU extensions to Algol 68.