[type_traits] is_list_constructible regression failures

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[type_traits] is_list_constructible regression failures

Boost - Dev mailing list
Hello all,

I noticed the following failure in Boost.TypeTraits regression tests
on GCC 4.6 C++11. Any idea why this is failing?

http://www.boost.org/development/tests/master/developer/type_traits.html

Test output: igaztanaga-master-gcc-4.6c++11 - type_traits -
cxx14_aliases_test / gcc-4.6c+
Rev cb62bbf20f4a0000ee6f16835b0c2dc92edea8cd / Sun, 11 Mar 2018 03:16:04 +0000
Compile [2018-03-11 10:15:18 UTC]: fail

    "C:/Programs/mingw-builds/x32-4.6.4-posix-dwarf-rev0/mingw32/bin/gcc-4.6.bat"
  -pipe -fmax-errors=1 -std=c++0x -m32 -O0 -fno-inline -Wall -pedantic
-Werror -march=i686 -Wextra -Wno-bool-operation
-Wno-int-in-bool-context -Wno-uninitialized -DBOOST_ALL_NO_LIB=1
-I".." -I"..\libs\type_traits\test\libs\tt2\light\include" -c -o
"c:\boost\master\results\boost\bin.v2\libs\type_traits\test\cxx14_aliases_test.test\gcc-4.6c+\dbg\dbg-symbl-off\cxx14_aliases_test.o"
"..\libs\type_traits\test\cxx14_aliases_test.cpp"

In file included from ../boost/type_traits.hpp:110:0,
                 from ..\libs\type_traits\test\cxx14_aliases_test.cpp:10:
../boost/type_traits/is_list_constructible.hpp:36:61: error: expected
class-name before 'decltype'
compilation terminated due to -fmax-errors=1.

I am asking because a couple of Boost.Contract tests that #include
<boost/type_traits.hpp> fail with the same Boost.TypeTraits error on
this compiler.

Thanks.
--Lorenzo

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [type_traits] is_list_constructible regression failures

Boost - Dev mailing list


On 12/03/2018 19:07, Lorenzo Caminiti via Boost wrote:
> Hello all,
>
> I noticed the following failure in Boost.TypeTraits regression tests
> on GCC 4.6 C++11. Any idea why this is failing?

There's something different about that tester - there are several
gcc-4.6 test runners in the matrix and they're all passing
is_list_constructible_test bar that one.  What/why the difference is
there I have no idea :(

John.

>
> http://www.boost.org/development/tests/master/developer/type_traits.html
>
> Test output: igaztanaga-master-gcc-4.6c++11 - type_traits -
> cxx14_aliases_test / gcc-4.6c+
> Rev cb62bbf20f4a0000ee6f16835b0c2dc92edea8cd / Sun, 11 Mar 2018 03:16:04 +0000
> Compile [2018-03-11 10:15:18 UTC]: fail
>
>      "C:/Programs/mingw-builds/x32-4.6.4-posix-dwarf-rev0/mingw32/bin/gcc-4.6.bat"
>    -pipe -fmax-errors=1 -std=c++0x -m32 -O0 -fno-inline -Wall -pedantic
> -Werror -march=i686 -Wextra -Wno-bool-operation
> -Wno-int-in-bool-context -Wno-uninitialized -DBOOST_ALL_NO_LIB=1
> -I".." -I"..\libs\type_traits\test\libs\tt2\light\include" -c -o
> "c:\boost\master\results\boost\bin.v2\libs\type_traits\test\cxx14_aliases_test.test\gcc-4.6c+\dbg\dbg-symbl-off\cxx14_aliases_test.o"
> "..\libs\type_traits\test\cxx14_aliases_test.cpp"
>
> In file included from ../boost/type_traits.hpp:110:0,
>                   from ..\libs\type_traits\test\cxx14_aliases_test.cpp:10:
> ../boost/type_traits/is_list_constructible.hpp:36:61: error: expected
> class-name before 'decltype'
> compilation terminated due to -fmax-errors=1.
>
> I am asking because a couple of Boost.Contract tests that #include
> <boost/type_traits.hpp> fail with the same Boost.TypeTraits error on
> this compiler.
>
> Thanks.
> --Lorenzo
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


---
This email has been checked for viruses by AVG.
http://www.avg.com


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [type_traits] is_list_constructible regression failures

Boost - Dev mailing list
Hello,

On Mon, Mar 12, 2018 at 12:16 PM, John Maddock via Boost
<[hidden email]> wrote:
> On 12/03/2018 19:07, Lorenzo Caminiti via Boost wrote:
>> I noticed the following failure in Boost.TypeTraits regression tests
>> on GCC 4.6 C++11. Any idea why this is failing?>
>
> There's something different about that tester - there are several gcc-4.6
> test runners in the matrix and they're all passing
> is_list_constructible_test bar that one.  What/why the difference is there I
> have no idea :(

I don't think the error is limited to that tester.

I get the same Boost.TypeTraits error in 2 Boost.Contract tests on
that compiler/plaform. All these tests do is to #include
<boost/type_traits.hpp>. For example, for one of them:

Test output: igaztanaga-master-gcc-4.6c++11 - contract - old-auto / gcc-4.6c+
Rev cb62bbf20f4a0000ee6f16835b0c2dc92edea8cd / Sun, 11 Mar 2018 03:16:04 +0000
Compile [2018-03-11 09:51:14 UTC]: fail

    "C:/Programs/mingw-builds/x32-4.6.4-posix-dwarf-rev0/mingw32/bin/gcc-4.6.bat"
  -pipe -fmax-errors=1 -std=c++0x -m32 -O0 -fno-inline -Wall
-march=i686  -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTRACT_DISABLE_THREADS
-DBOOST_CONTRACT_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1  -I".."
-I"..\libs\contract\test\old" -c -o
"c:\boost\master\results\boost\bin.v2\libs\contract\test\old-auto.test\gcc-4.6c+\dbg\dbg-symbl-off\old\auto.o"
"..\libs\contract\test\old\auto.cpp"

In file included from ../boost/type_traits.hpp:110:0,
                 from ..\libs\contract\test\old\auto.cpp:11:
../boost/type_traits/is_list_constructible.hpp:36:61: error: expected
class-name before 'decltype'
compilation terminated due to -fmax-errors=1.

Where auto.cpp (note auto.cpp:11 is the #include <boost/type_traits.hpp> line):

// Copyright (C) 2008-2018 Lorenzo Caminiti
// Distributed under the Boost Software License, Version 1.0 (see accompanying
// file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt).
// See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html

// Test that OLD macro allows to use C++11 auto declarations.

#include <boost/config.hpp>
#include <boost/contract/old.hpp>
#include <boost/type_traits.hpp> // ** line 11 **
#include <boost/static_assert.hpp>
#include <boost/detail/lightweight_test.hpp>

int main() {
    int x = -123;
    auto old_x = BOOST_CONTRACT_OLDOF(x);
    x = 123;
    BOOST_STATIC_ASSERT((boost::is_same<decltype(old_x),
            boost::contract::old_ptr<int> >::value));
    #ifndef BOOST_CONTRACT_NO_OLDS
        BOOST_TEST_EQ(*old_x, -123);
    #endif
    BOOST_TEST_EQ(x, 123);

    boost::contract::virtual_* v = 0;
    char y = 'j';
    auto old_y = BOOST_CONTRACT_OLDOF(v, y);
    y = 'k';
    BOOST_STATIC_ASSERT((boost::is_same<decltype(old_y),
            boost::contract::old_ptr<char> >::value));
    #ifndef BOOST_CONTRACT_NO_OLDS
        BOOST_TEST_EQ(*old_y, 'j');
    #endif
    BOOST_TEST_EQ(y, 'k');
    return boost::report_errors();
}

Thanks,
--Lorenzo

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [type_traits] is_list_constructible regression failures

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
John Maddock wrote:
> On 12/03/2018 19:07, Lorenzo Caminiti via Boost wrote:
> > Hello all,
> >
> > I noticed the following failure in Boost.TypeTraits regression tests on
> > GCC 4.6 C++11. Any idea why this is failing?
>
> There's something different about that tester - there are several gcc-4.6
> test runners in the matrix and they're all passing
is_list_constructible_test bar that one.  What/why the difference is there I
have no idea :(

It's possible that this is the only 4.6 tester that uses -std=c++0x.
is_list_constructible has

#if defined(BOOST_NO_SFINAE_EXPR) ||
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) ||
defined(BOOST_NO_CXX11_DECLTYPE) ||
defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) ||
defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)

but that's apparently not enough to disable it on 4.6. (It's probably the
derivation from `decltype` that confuses the compiler.)

Travis does have 4.4 and 4.6, so we may want to add these to Type Traits.

https://github.com/boostorg/smart_ptr/commit/77a35856c6f51176dc15c00f0e4ca95097f803ff 


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [type_traits] is_list_constructible regression failures

Boost - Dev mailing list


On 12/03/2018 19:50, Peter Dimov via Boost wrote:

> John Maddock wrote:
>> On 12/03/2018 19:07, Lorenzo Caminiti via Boost wrote:
>> > Hello all,
>> >
>> > I noticed the following failure in Boost.TypeTraits regression
>> tests on > GCC 4.6 C++11. Any idea why this is failing?
>>
>> There's something different about that tester - there are several
>> gcc-4.6 test runners in the matrix and they're all passing
> is_list_constructible_test bar that one.  What/why the difference is
> there I have no idea :(
>
> It's possible that this is the only 4.6 tester that uses -std=c++0x.
> is_list_constructible has
>
> #if defined(BOOST_NO_SFINAE_EXPR) ||
> defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) ||
> defined(BOOST_NO_CXX11_DECLTYPE) ||
> defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) ||
> defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
>
> but that's apparently not enough to disable it on 4.6. (It's probably
> the derivation from `decltype` that confuses the compiler.)
>
> Travis does have 4.4 and 4.6, so we may want to add these to Type Traits.
>
> https://github.com/boostorg/smart_ptr/commit/77a35856c6f51176dc15c00f0e4ca95097f803ff 
>

Thanks, added.

John.

---
This email has been checked for viruses by AVG.
http://www.avg.com


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost