Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-28428

clonable_ptr_test.cpp fails to compile under clang

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Gone away
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Internal Code
    • None
    • Fully Compatible
    • ALL

    Description

      FAILED: build/ninja/mongo/base/clonable_ptr_test.o 
      /usr/bin/ccache clang++ -o build/ninja/mongo/base/clonable_ptr_test.o -c -Woverloaded-virtual -Wpessimizing-move -Wredundant-move -std=c++14  -Wa,--compress-debug-sections -gsplit-dwarf -fno-omit-frame-pointer -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O0 -Wno-unused-local-typedefs -Wno-unused-function -Wno-unused-private-field -Wno-deprecated-declarations -Wno-tautological-constant-out-of-range-compare -Wno-unused-const-variable -Wno-missing-braces -Wno-inconsistent-missing-override -Wno-potentially-evaluated-expression -fstack-protector-strong -Wno-null-conversion -fno-builtin-memcmp -fdiagnostics-color=always -Qunused-arguments -fPIE -DPCRE_STATIC -DBOOST_THREAD_VERSION=4 -DBOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS -DBOOST_THREAD_HAS_NO_EINTR_BUG -Isrc/third_party/pcre-8.39 -Isrc/third_party/boost-1.60.0 -Ibuild/ninja -Isrc src/mongo/base/clonable_ptr_test.cpp -MMD -MF build/ninja/mongo/base/clonable_ptr_test.o.d
      In file included from src/mongo/base/clonable_ptr_test.cpp:31:
      src/mongo/base/clonable_ptr.h:351:9: error: static_assert failed "The `CloneFactory` type must be nothrow constructible to use as an r-value in an initialization expression with a raw pointer."
              static_assert(std::is_nothrow_move_constructible<CloneFactory>::value,
              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/mongo/base/clonable_ptr_test.cpp:307:7: note: in instantiation of member function 'mongo::clonable_ptr<(anonymous namespace)::FunctorClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorClonable, std::default_delete<(anonymous namespace)::FunctorClonable> > (const (anonymous namespace)::FunctorClonable &)>, std::unique_ptr>::clonable_ptr' requested here
          { mongo::clonable_ptr<Clonable, CloneFactory>{nullptr, Clonable::getCloningFunction()}; }
            ^
      src/mongo/base/clonable_ptr_test.cpp:461:18: note: in instantiation of function template specialization '(anonymous namespace)::SyntaxTests::augmentedConstruction<(anonymous namespace)::FunctorClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorClonable, std::default_delete<(anonymous namespace)::FunctorClonable> > (const (anonymous namespace)::FunctorClonable &)> >' requested here
          SyntaxTests::augmentedConstruction<FunctorClonable, FunctorClonable::CloningFunctionType>();
                       ^
      In file included from src/mongo/base/clonable_ptr_test.cpp:31:
      src/mongo/base/clonable_ptr.h:351:9: error: static_assert failed "The `CloneFactory` type must be nothrow constructible to use as an r-value in an initialization expression with a raw pointer."
              static_assert(std::is_nothrow_move_constructible<CloneFactory>::value,
              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/mongo/base/clonable_ptr_test.cpp:307:7: note: in instantiation of member function 'mongo::clonable_ptr<(anonymous namespace)::FunctorWithDynamicStateClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorWithDynamicStateClonable, std::default_delete<(anonymous namFAILED: build/ninja/mongo/base/clonable_ptr_test.o 
      /usr/bin/ccache clang++ -o build/ninja/mongo/base/clonable_ptr_test.o -c -Woverloaded-virtual -Wpessimizing-move -Wredundant-move -std=c++14  -Wa,--compress-debug-sections -gsplit-dwarf -fno-omit-frame-pointer -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O0 -Wno-unused-local-typedefs -Wno-unused-function -Wno-unused-private-field -Wno-deprecated-declarations -Wno-tautological-constant-out-of-range-compare -Wno-unused-const-variable -Wno-missing-braces -Wno-inconsistent-missing-override -Wno-potentially-evaluated-expression -fstack-protector-strong -Wno-null-conversion -fno-builtin-memcmp -fdiagnostics-color=always -Qunused-arguments -fPIE -DPCRE_STATIC -DBOOST_THREAD_VERSION=4 -DBOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS -DBOOST_THREAD_HAS_NO_EINTR_BUG -Isrc/third_party/pcre-8.39 -Isrc/third_party/boost-1.60.0 -Ibuild/ninja -Isrc src/mongo/base/clonable_ptr_test.cpp -MMD -MF build/ninja/mongo/base/clonable_ptr_test.o.d
      In file included from src/mongo/base/clonable_ptr_test.cpp:31:
      src/mongo/base/clonable_ptr.h:351:9: error: static_assert failed "The `CloneFactory` type must be nothrow constructible to use as an r-value in an initialization expression with a raw pointer."
              static_assert(std::is_nothrow_move_constructible<CloneFactory>::value,
              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/mongo/base/clonable_ptr_test.cpp:307:7: note: in instantiation of member function 'mongo::clonable_ptr<(anonymous namespace)::FunctorClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorClonable, std::default_delete<(anonymous namespace)::FunctorClonable> > (const (anonymous namespace)::FunctorClonable &)>, std::unique_ptr>::clonable_ptr' requested here
          { mongo::clonable_ptr<Clonable, CloneFactory>{nullptr, Clonable::getCloningFunction()}; }
            ^
      src/mongo/base/clonable_ptr_test.cpp:461:18: note: in instantiation of function template specialization '(anonymous namespace)::SyntaxTests::augmentedConstruction<(anonymous namespace)::FunctorClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorClonable, std::default_delete<(anonymous namespace)::FunctorClonable> > (const (anonymous namespace)::FunctorClonable &)> >' requested here
          SyntaxTests::augmentedConstruction<FunctorClonable, FunctorClonable::CloningFunctionType>();
                       ^
      In file included from src/mongo/base/clonable_ptr_test.cpp:31:
      src/mongo/base/clonable_ptr.h:351:9: error: static_assert failed "The `CloneFactory` type must be nothrow constructible to use as an r-value in an initialization expression with a raw pointer."
              static_assert(std::is_nothrow_move_constructible<CloneFactory>::value,
              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/mongo/base/clonable_ptr_test.cpp:307:7: note: in instantiation of member function 'mongo::clonable_ptr<(anonymous namespace)::FunctorWithDynamicStateClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorWithDynamicStateClonable, std::default_delete<(anonymous namespace)::FunctorWithDynamicStateClonable> > (const (anonymous namespace)::FunctorWithDynamicStateClonable &)>, std::unique_ptr>::clonable_ptr' requested here
          { mongo::clonable_ptr<Clonable, CloneFactory>{nullptr, Clonable::getCloningFunction()}; }
            ^
      src/mongo/base/clonable_ptr_test.cpp:462:18: note: in instantiation of function template specialization '(anonymous namespace)::SyntaxTests::augmentedConstruction<(anonymous namespace)::FunctorWithDynamicStateClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorWithDynamicStateClonable, std::default_delete<(anonymous namespace)::FunctorWithDynamicStateClonable> > (const (anonymous namespace)::FunctorWithDynamicStateClonable &)> >' requested here
          SyntaxTests::augmentedConstruction<FunctorWithDynamicStateClonable,
                       ^
      2 errors generated.
      [51/767] CXX build/ninja/mongo/db/repl/topology_coordinator_impl_test.o
      ninja: build stopped: subcommand failed.
      espace)::FunctorWithDynamicStateClonable> > (const (anonymous namespace)::FunctorWithDynamicStateClonable &)>, std::unique_ptr>::clonable_ptr' requested here
          { mongo::clonable_ptr<Clonable, CloneFactory>{nullptr, Clonable::getCloningFunction()}; }
            ^
      src/mongo/base/clonable_ptr_test.cpp:462:18: note: in instantiation of function template specialization '(anonymous namespace)::SyntaxTests::augmentedConstruction<(anonymous namespace)::FunctorWithDynamicStateClonable, std::function<std::unique_ptr<(anonymous namespace)::FunctorWithDynamicStateClonable, std::default_delete<(anonymous namespace)::FunctorWithDynamicStateClonable> > (const (anonymous namespace)::FunctorWithDynamicStateClonable &)> >' requested here
          SyntaxTests::augmentedConstruction<FunctorWithDynamicStateClonable,
                       ^
      2 errors generated.
      [51/767] CXX build/ninja/mongo/db/repl/topology_coordinator_impl_test.o
      ninja: build stopped: subcommand failed.
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            matthew.russotto@mongodb.com Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: