diff options
Diffstat (limited to 'build2/function')
-rw-r--r-- | build2/function | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/build2/function b/build2/function index 32914dd..68edcde 100644 --- a/build2/function +++ b/build2/function @@ -115,9 +115,11 @@ namespace build2 D d) : function_overload (an, mi, ma, move (ts), im) { - // std::is_pod appears to be broken in VC15. + // std::is_pod appears to be broken in VC14 and also in GCC up to + // 5 (pointers to members). // -#if !defined(_MSC_VER) || _MSC_VER > 1900 +#if !((defined(_MSC_VER) && _MSC_VER <= 1900) || \ + (defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 5)) static_assert (std::is_pod<D>::value, "type is not POD"); #endif static_assert (sizeof (D) <= data_size, "insufficient space"); |