mirror of
https://github.com/boostorg/functional.git
synced 2025-07-31 13:07:18 +02:00
Merge branch 'develop'
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2007 Tobias Schwinger
|
||||
|
||||
Use modification and distribution are subject to the Boost Software
|
||||
|
||||
Use modification and distribution are 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).
|
||||
==============================================================================*/
|
||||
@ -11,7 +11,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
class sum
|
||||
class sum
|
||||
{
|
||||
int val_sum;
|
||||
public:
|
||||
@ -20,6 +20,12 @@ class sum
|
||||
operator int() const { return this->val_sum; }
|
||||
};
|
||||
|
||||
// Suppress warnings about std::auto_ptr.
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
int one = 1, two = 2;
|
||||
@ -42,3 +48,6 @@ int main()
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
@ -21,6 +21,12 @@ class sum
|
||||
operator int() const { return this->val_sum; }
|
||||
};
|
||||
|
||||
// Suppress warnings about std::auto_ptr.
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
int one = 1, two = 2;
|
||||
@ -44,3 +50,7 @@ int main()
|
||||
#endif
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
@ -241,7 +241,7 @@ namespace boost
|
||||
template <class T>
|
||||
inline bool is_zero(T v)
|
||||
{
|
||||
#if !defined(__GNUC__)
|
||||
#if !defined(__GNUC__) && !defined(__clang__)
|
||||
return v == 0;
|
||||
#else
|
||||
// GCC's '-Wfloat-equal' will complain about comparing
|
||||
|
115
meta/explicit-failures-markup.xml
Normal file
115
meta/explicit-failures-markup.xml
Normal file
@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<explicit-failures-markup>
|
||||
<!-- functional/factory -->
|
||||
<library name="functional/factory">
|
||||
<mark-expected-failures>
|
||||
<test name="factory_with_allocator"/>
|
||||
<toolset name="borland-*"/>
|
||||
<note author="Tobias Schwinger">
|
||||
Probably broken const conversion with that compiler.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
</library>
|
||||
|
||||
<!-- functional/forward -->
|
||||
<library name="functional/foward">
|
||||
<mark-unusable>
|
||||
<toolset name="msvc-7.0*"/>
|
||||
<toolset name="msvc-7.1*"/>
|
||||
<toolset name="sun-5.*"/>
|
||||
<toolset name="vacpp*"/>
|
||||
<toolset name="borland-*"/>
|
||||
<note author="Tobias Schwinger">
|
||||
This compiler is currently not supported.
|
||||
</note>
|
||||
</mark-unusable>
|
||||
</library>
|
||||
|
||||
<!-- functional/hash -->
|
||||
<library name="functional/hash">
|
||||
<mark-expected-failures>
|
||||
<test name="hash_value_array_test"/>
|
||||
<toolset name="msvc-6.5*"/>
|
||||
<toolset name="msvc-7.0*"/>
|
||||
<note author="Daniel James">
|
||||
hash_value is not overloaded for arrays for older versions
|
||||
of Visual C++. There is a work around so that
|
||||
boost::hash<T[N]>, boost::hash_combine and boost::hash_range
|
||||
work.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="hash_function_pointer_test"/>
|
||||
<toolset name="msvc-6.5*"/>
|
||||
<toolset name="msvc-7.0*"/>
|
||||
<note refid="2" author="Daniel James"/>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="hash_function_pointer_test"/>
|
||||
<toolset name="sun-5.7"/>
|
||||
<toolset name="sun-5.8"/>
|
||||
<toolset name="sun-5.9"/>
|
||||
<note author="Daniel James">
|
||||
On these compilers the wrong overload of hash_value is called
|
||||
when the argument is a hash function pointer. So calling
|
||||
hash_value doesn't work but boost::hash does work (and it's
|
||||
recommended that user never call hash_value directly so this
|
||||
shouldn't be a problem).
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="hash_long_double_test"/>
|
||||
<toolset name="gcc-3.4.3_sunos"/>
|
||||
<toolset name="*pa_risc"/>
|
||||
<note author="Daniel James">
|
||||
This platform has poor support for <code>long double</code> so
|
||||
the hash function perform poorly for values out of the range
|
||||
of <code>double</code> or if they differ at a greater precision
|
||||
that <code>double</code> is capable of representing.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="point" />
|
||||
<test name="books" />
|
||||
<toolset name="msvc-6.5*"/>
|
||||
<toolset name="msvc-7.0*"/>
|
||||
<note author="Daniel James">
|
||||
These examples only work on compilers with support for ADL.
|
||||
It is possible to work around this, but I wanted to keep the
|
||||
example code as clean as possible.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="point" />
|
||||
<toolset name="borland-*"/>
|
||||
<note author="Daniel James">
|
||||
It appears that Borland doesn't find friend functions defined
|
||||
in a class by ADL. This is easily fixed but this example is
|
||||
meant to show the typical way of customising boost::hash, not
|
||||
the portable way.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="hash_global_namespace_test" />
|
||||
<toolset name="borland-*"/>
|
||||
<note author="Daniel James">
|
||||
The test demonstrates a Borland bug - functions that aren't
|
||||
in a namespace don't appear to be found by ADL.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
|
||||
<mark-expected-failures>
|
||||
<test name="container_fwd_gcc_debug"/>
|
||||
<toolset name="darwin-4.2"/>
|
||||
<note author="Daniel James">
|
||||
Debug containers aren't supported on Apple's version of gcc 4.2.
|
||||
</note>
|
||||
</mark-expected-failures>
|
||||
</library>
|
||||
</explicit-failures-markup>
|
Reference in New Issue
Block a user