37 lines
1.9 KiB
Plaintext
37 lines
1.9 KiB
Plaintext
|
#==============================================================================
|
||
|
# Copyright (c) 2021 Nikita Kniazev
|
||
|
#
|
||
|
# Use, modification and distribution is subject to the Boost Software
|
||
|
# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||
|
# http://www.boost.org/LICENSE_1_0.txt)
|
||
|
#==============================================================================
|
||
|
|
||
|
import feature ;
|
||
|
|
||
|
if ! [ feature.valid known-warnings ] {
|
||
|
feature.feature known-warnings : hide show : incidental propagated ;
|
||
|
}
|
||
|
|
||
|
local 9.0-14.0 = 9.0 10.0 11.0 12.0 14.0 ;
|
||
|
|
||
|
project spirit
|
||
|
: requirements
|
||
|
# Warnings that we have not managed to fix yet
|
||
|
<known-warnings>hide,<toolset>msvc:<cxxflags>-wd4244 # conversion from 'T' to 'U', possible loss of data
|
||
|
<known-warnings>hide,<toolset>msvc:<cxxflags>-wd4365 # conversion from 'T' to 'U', signed/unsigned mismatch
|
||
|
<known-warnings>hide,<toolset>msvc:<cxxflags>-wd4459 # declaration of 'varname' hides global declaration
|
||
|
|
||
|
# Enable additional useful warnings
|
||
|
<warnings>extra,<toolset>gcc:<cxxflags>-Wshadow-local
|
||
|
<warnings>extra,<toolset>clang-linux:<cxxflags>-Wshadow-field-in-constructor
|
||
|
<warnings>extra,<toolset>clang-linux:<cxxflags>-Wshadow-uncaptured-local
|
||
|
<warnings>extra,<toolset>clang-linux:<cxxflags>-Wundefined-reinterpret-cast
|
||
|
<warnings>extra,<toolset>msvc:<cxxflags>-w44555 # result of expression not used
|
||
|
|
||
|
# Broken or very high false-positive rate
|
||
|
<known-warnings>hide,<toolset>gcc:<cxxflags>-Wno-maybe-uninitialized # Too many pesky false-positives
|
||
|
<known-warnings>hide,<toolset>msvc-$(9.0-14.0):<cxxflags>-wd4100 # unreferenced formal parameter
|
||
|
<known-warnings>hide,<toolset>msvc-$(9.0-14.0):<cxxflags>-wd4512 # assignment operator could not be generated
|
||
|
<known-warnings>hide,<toolset>msvc-$(9.0-14.0):<cxxflags>-wd4714 # function 'x' marked as __forceinline not inlined
|
||
|
;
|