forked from boostorg/fusion
@ -555,8 +555,4 @@ install:
|
|||||||
script:
|
script:
|
||||||
- |-
|
- |-
|
||||||
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
|
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
|
||||||
- ./b2 libs/fusion/test toolset=$TOOLSET
|
- ./b2 libs/fusion/test toolset=$TOOLSET define=RUNNING_ON_TRAVIS=1
|
||||||
|
|
||||||
notifications:
|
|
||||||
email:
|
|
||||||
on_success: always
|
|
||||||
|
@ -71,4 +71,4 @@ install:
|
|||||||
build: off
|
build: off
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- b2 libs/fusion/test toolset=%TOOLSET%
|
- b2 libs/fusion/test toolset=%TOOLSET% define=RUNNING_ON_APPVEYOR=1
|
||||||
|
20
meta/explicit-failures-markup.xml
Normal file
20
meta/explicit-failures-markup.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<explicit-failures-markup>
|
||||||
|
<!-- fusion -->
|
||||||
|
<library name="fusion">
|
||||||
|
<mark-expected-failures>
|
||||||
|
<toolset name="msvc-10.0"/>
|
||||||
|
<toolset name="msvc-11.0"/>
|
||||||
|
<toolset name="msvc-12.0"/>
|
||||||
|
<test name="define_struct_inline_move"/>
|
||||||
|
<test name="define_tpl_struct_inline_move"/>
|
||||||
|
<note author="Kohei Takahashi">
|
||||||
|
The compiler doesn't generate defaulted move ctor/assgin thus
|
||||||
|
perform copy construction/assginment. The `inline` versions
|
||||||
|
don't provide move ctor/assign to preserve standard layout
|
||||||
|
constraint. Since that is not documented behaviour, it might
|
||||||
|
be changed in future release.
|
||||||
|
</note>
|
||||||
|
</mark-expected-failures>
|
||||||
|
</library>
|
||||||
|
</explicit-failures-markup>
|
@ -51,6 +51,8 @@ int main()
|
|||||||
BOOST_TEST(y.w.value == 42);
|
BOOST_TEST(y.w.value == 42);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Older MSVCs don't generate move ctor by default.
|
||||||
|
#if !(defined(RUNNING_ON_APPVEYOR) && BOOST_WORKAROUND(BOOST_MSVC, < 1900))
|
||||||
{
|
{
|
||||||
ns::value x;
|
ns::value x;
|
||||||
ns::value y(std::move(x)); // move
|
ns::value y(std::move(x)); // move
|
||||||
@ -68,6 +70,7 @@ int main()
|
|||||||
BOOST_TEST(x.w.value == 0);
|
BOOST_TEST(x.w.value == 0);
|
||||||
BOOST_TEST(y.w.value == 0);
|
BOOST_TEST(y.w.value == 0);
|
||||||
}
|
}
|
||||||
|
#endif // !(appveyor && msvc < 14.0)
|
||||||
|
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,8 @@ int main()
|
|||||||
BOOST_TEST(y.w.value == 42);
|
BOOST_TEST(y.w.value == 42);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Older MSVCs don't generate move ctor by default.
|
||||||
|
#if !(defined(RUNNING_ON_APPVEYOR) && BOOST_WORKAROUND(BOOST_MSVC, < 1900))
|
||||||
{
|
{
|
||||||
ns::value<wrapper> x;
|
ns::value<wrapper> x;
|
||||||
ns::value<wrapper> y(std::move(x)); // move
|
ns::value<wrapper> y(std::move(x)); // move
|
||||||
@ -68,6 +70,7 @@ int main()
|
|||||||
BOOST_TEST(x.w.value == 0);
|
BOOST_TEST(x.w.value == 0);
|
||||||
BOOST_TEST(y.w.value == 0);
|
BOOST_TEST(y.w.value == 0);
|
||||||
}
|
}
|
||||||
|
#endif // !(appveyor && msvc < 14.0)
|
||||||
|
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user