[llvm-bugs] [Bug 31016] New: r286884 breaks the build when compiling with an older clang

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 14 17:51:24 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=31016

            Bug ID: 31016
           Summary: r286884 breaks the build when compiling with an older
                    clang
           Product: libc++
           Version: unspecified
          Hardware: PC
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: vsk at apple.com
                CC: llvm-bugs at lists.llvm.org, mclow.lists at gmail.com
    Classification: Unclassified

We build with an older version of clang (branched around 3.8) which can't
deduce that a default template argument is a constant expression.

Ideally, we'd like to check in a workaround that doesn't hardcode a compiler
version check. If that's not possible, we'll look into upgrading our bots or
disabling the test. Any advice you have would be appreciated.

Here is the error message:

/Users/buildslave/jenkins/sharedspace/apple-clang-master-RA-stage1-cmake-incremental at 2/clang/src/projects/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp:27:40:
error: non-type template argument is not a constant expression
template <typename T, bool isTrivial =
std::is_trivially_default_constructible_v<T>>
                                       ^
/Users/buildslave/jenkins/sharedspace/apple-clang-master-RA-stage1-cmake-incremental at 2/clang/src/projects/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp:53:21:
note: while checking a default template argument used here
    test_trivial<int>()();
    ~~~~~~~~~~~~~~~~^
/Users/buildslave/jenkins/sharedspace/apple-clang-master-RA-stage1-cmake-incremental at 2/clang/src/projects/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp:27:40:
error: non-type template argument is not a constant expression
template <typename T, bool isTrivial =
std::is_trivially_default_constructible_v<T>>
                                       ^
/Users/buildslave/jenkins/sharedspace/apple-clang-master-RA-stage1-cmake-incremental at 2/clang/src/projects/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp:27:40:
error: non-type template argument is not a constant expression
/Users/buildslave/jenkins/sharedspace/apple-clang-master-RA-stage1-cmake-incremental at 2/clang/src/projects/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp:27:40:
error: non-type template argument is not a constant expression
/Users/buildslave/jenkins/sharedspace/apple-clang-master-RA-stage1-cmake-incremental at 2/clang/src/projects/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp:27:40:
error: non-type template argument is not a constant expression
5 errors generated.
--

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161115/787ccfb9/attachment-0001.html>


More information about the llvm-bugs mailing list