Enable -Wformat and -Wformat-security by default. --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -201,7 +201,7 @@ int warn_unknown_pragmas; /* Tri state variable. */ /* Warn about format/argument anomalies in calls to formatted I/O functions (*printf, *scanf, strftime, strfmon, etc.). */ -int warn_format; +int warn_format = 1; /* C/ObjC language option variables. */ --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -384,7 +384,7 @@ C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning Warn about format strings that contain NUL bytes Wformat-security -C ObjC C++ ObjC++ Var(warn_format_security) Warning +C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning Warn about possible security problems with format functions Wformat-y2k --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -3111,6 +3111,9 @@ aspects of format checking, the options @option{-Wformat-y2k}, @option{-Wformat-nonliteral}, @option{-Wformat-security}, and @option{-Wformat=2} are available, but are not included in @option{-Wall}. +In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++. +To disable, use @option{-Wformat=0}. + @item -Wformat-y2k @opindex Wformat-y2k @opindex Wno-format-y2k @@ -3164,6 +3167,11 @@ currently a subset of what @option{-Wformat-nonliteral} warns about, but in future warnings may be added to @option{-Wformat-security} that are not included in @option{-Wformat-nonliteral}.) +In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++. +To disable, use @option{-Wno-format-security}, or disable all format warnings +with @option{-Wformat=0}. To make format security warnings fatal, specify +@option{-Werror=format-security}. + @item -Wformat=2 @opindex Wformat=2 @opindex Wno-format=2