[cfe-dev] Unexpected check-libcxx failures on FreeBSD
Krzysztof Parzyszek via cfe-dev
cfe-dev at lists.llvm.org
Fri Oct 7 18:23:58 PDT 2016
I'm running this on FreeBSD 11 (stable). It has clang-3.8.0 as the
system compiler. LLVM/Clang/et al. compiled without problems, but I'm
seeing failures in check-libcxx. Example below.
Does anyone know what the problem may be?
clang version 4.0.0 (http://llvm.org/git/clang.git
a85c03256cfc0812e268f5e0f1b804910e75e673) (http://llvm.org/git/llvm.git
c95d4ff692323bde64fc8ef45e174b19450779af)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /w/c/org/bin
"/w/c/org/bin/clang-4.0" -cc1 -triple x86_64-unknown-freebsd11.0
-emit-obj -mrelax-all -disable-free -main-file-name
minmax_init_list_comp.pass.cpp -mrelocation-model static -mthread-model
posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -v -v -dwarf-column-info
-debugger-tuning=gdb -coverage-notes-file
/w/bld/org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/Output/minmax_init_list_comp.pass.cpp.gcno
-nostdinc++ -resource-dir /w/c/org/bin/../lib/clang/4.0.0 -include
/w/src/llvm.org/projects/libcxx/test/support/nasty_macros.hpp -I
/w/src/llvm.org/projects/libcxx/include -I
/w/src/llvm.org/projects/libcxx/test/support -D
LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=/w/src/llvm.org/projects/libcxx/test/std/experimental/filesystem/Inputs/static_test_env
-D
LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=/w/bld/org/projects/libcxx/test/filesystem/Output/dynamic_env
-D LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=/usr/local/bin/python2.7
/w/src/llvm.org/projects/libcxx/test/support/filesystem_dynamic_test_helper.py
-Werror=thread-safety -std=c++1z -fdeprecated-macro
-fdebug-compilation-dir /w/src/llvm.org -ferror-limit 19
-fmessage-length 210 -fobjc-runtime=gnustep -fcxx-exceptions
-fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o
/w/bld/org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/Output/minmax_init_list_comp.pass.cpp.o
-x c++
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp
clang -cc1 version 4.0.0 based upon LLVM 4.0.0svn default target
x86_64-unknown-freebsd11.0
#include "..." search starts here:
#include <...> search starts here:
/w/src/llvm.org/projects/libcxx/include
/w/src/llvm.org/projects/libcxx/test/support
/w/c/org/bin/../lib/clang/4.0.0/include
/usr/include
End of search list.
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:68:19:
error: static_assert expression is not an integral constant expression
static_assert((std::minmax({1, 2, 3}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/w/src/llvm.org/projects/libcxx/include/algorithm:2823:12: note:
non-constexpr constructor 'pair' cannot be used in a constant expression
return __result;
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:68:20:
note: in call to 'minmax({&{1, 2, 3}[0], 3}, {{}})'
static_assert((std::minmax({1, 2, 3}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^
/w/src/llvm.org/projects/libcxx/include/utility:316:5: note: declared here
pair(pair&& __p)
_NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:69:19:
error: static_assert expression is not an integral constant expression
static_assert((std::minmax({1, 3, 2}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/w/src/llvm.org/projects/libcxx/include/algorithm:2823:12: note:
non-constexpr constructor 'pair' cannot be used in a constant expression
return __result;
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:69:20:
note: in call to 'minmax({&{1, 3, 2}[0], 3}, {{}})'
static_assert((std::minmax({1, 3, 2}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^
/w/src/llvm.org/projects/libcxx/include/utility:316:5: note: declared here
pair(pair&& __p)
_NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:70:19:
error: static_assert expression is not an integral constant expression
static_assert((std::minmax({2, 1, 3}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/w/src/llvm.org/projects/libcxx/include/algorithm:2823:12: note:
non-constexpr constructor 'pair' cannot be used in a constant expression
return __result;
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:70:20:
note: in call to 'minmax({&{2, 1, 3}[0], 3}, {{}})'
static_assert((std::minmax({2, 1, 3}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^
/w/src/llvm.org/projects/libcxx/include/utility:316:5: note: declared here
pair(pair&& __p)
_NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:71:19:
error: static_assert expression is not an integral constant expression
static_assert((std::minmax({2, 3, 1}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/w/src/llvm.org/projects/libcxx/include/algorithm:2823:12: note:
non-constexpr constructor 'pair' cannot be used in a constant expression
return __result;
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:71:20:
note: in call to 'minmax({&{2, 3, 1}[0], 3}, {{}})'
static_assert((std::minmax({2, 3, 1}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^
/w/src/llvm.org/projects/libcxx/include/utility:316:5: note: declared here
pair(pair&& __p)
_NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:72:19:
error: static_assert expression is not an integral constant expression
static_assert((std::minmax({3, 1, 2}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/w/src/llvm.org/projects/libcxx/include/algorithm:2823:12: note:
non-constexpr constructor 'pair' cannot be used in a constant expression
return __result;
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:72:20:
note: in call to 'minmax({&{3, 1, 2}[0], 3}, {{}})'
static_assert((std::minmax({3, 1, 2}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^
/w/src/llvm.org/projects/libcxx/include/utility:316:5: note: declared here
pair(pair&& __p)
_NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:73:19:
error: static_assert expression is not an integral constant expression
static_assert((std::minmax({3, 2, 1}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/w/src/llvm.org/projects/libcxx/include/algorithm:2823:12: note:
non-constexpr constructor 'pair' cannot be used in a constant expression
return __result;
^
/w/src/llvm.org/projects/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp:73:20:
note: in call to 'minmax({&{3, 2, 1}[0], 3}, {{}})'
static_assert((std::minmax({3, 2, 1}, std::greater<int>()) ==
std::pair<int, int>(3, 1)), "");
^
/w/src/llvm.org/projects/libcxx/include/utility:316:5: note: declared here
pair(pair&& __p)
_NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
^
6 errors generated.
-Krzysztof
More information about the cfe-dev
mailing list