diff --git a/src/tools/builtin.jam b/src/tools/builtin.jam index eaf1a077d..aed2e997c 100644 --- a/src/tools/builtin.jam +++ b/src/tools/builtin.jam @@ -81,8 +81,8 @@ feature dependency : : free dependency incidental ; feature implicit-dependency : : free dependency incidental ; feature warnings : - all # enable all warnings issued by the tool - on # enable default warning level for the tool + on # enable default/"reasonable" warning level for the tool + all # enable all possible warnings issued by the tool off # disable all warnings issued by the tool : incidental propagated ; diff --git a/src/tools/gcc.jam b/src/tools/gcc.jam index 2cdeaaf5b..25073de98 100644 --- a/src/tools/gcc.jam +++ b/src/tools/gcc.jam @@ -81,7 +81,8 @@ flags gcc.compile OPTIONS on : -Wno-inline ; flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; flags gcc.compile OPTIONS off : -w ; -flags gcc.compile OPTIONS all : -Wall ; +flags gcc.compile OPTIONS on : -Wall ; +flags gcc.compile OPTIONS all : -Wall -pedantic ; flags gcc.compile OPTIONS on : -Werror ; flags gcc.compile OPTIONS on : -g ; diff --git a/src/tools/intel-linux.jam b/src/tools/intel-linux.jam index e5e6abd7f..e33b601a2 100644 --- a/src/tools/intel-linux.jam +++ b/src/tools/intel-linux.jam @@ -24,7 +24,9 @@ generators.override intel-linux.searched-lib-generator : searched-lib-generator toolset.inherit-rules intel-linux : gcc ; toolset.inherit-flags intel-linux : gcc - : off on full space ; + : off on full space + off all on + ; # Initializes the intel-linux toolset # version in mandatory @@ -51,33 +53,9 @@ flags intel-linux.compile OPTIONS on : "-Ob1" ; flags intel-linux.compile OPTIONS full : "-Ob2" ; flags intel-linux.compile OPTIONS space : "-O1" ; # no specific space optimization flag in icc -# Disable some pointless warnings: -# 1418 is 'external definition with no prior declaration' -# This is just pointless -# 383 is 'value copied to temporary, reference to temporary used' -# Produced too often. -# 981 is 'operands are evaluated in unspecified order' -# This triggers even on chained operator "<<" -# 444 is 'destructor for base class XX is not virtual' -# Emitted on boost::noncopyable, that has no virtual -# methods to begin with and is not a "real" base class. -# 193 is 'zero used for undefined preprocessing identifier' -# This is common thing, and used in BOOST_WORKAROUND often. -# 530 is 'inline function XXX cannot be explicitly instantiated' -# Obscure warning affecting Boost. No docs can be found. -# 810 is 'conversion from X to Y may loose significant bits' -# This is emitted even for explicit conversions -# 304 is 'access control not specified, public by default' -# Emitted on "struct foo : whatever", which is used often in Boost.MPL -# 279 is 'controlling expression is constant' -# Happens, in particular, on "assert(false)" -# 1419 is 'external declaration in primary source file' -# This is just pointless -# -# It might be good idea to disable those "remark" warnings, but -# 869 (paremeter is never referenced) seems reasonable. -flags intel-linux.compile OPTIONS - : -wd1418 -wd383 -wd981 -wd444 -wd193 -wd530 -wd810 -wd304 -wd279 ; +flags intel-linux.compile OPTIONS off : -w0 ; +flags intel-linux.compile OPTIONS on : -w1 ; +flags intel-linux.compile OPTIONS all : -w2 ; actions compile.c++ {