Uploaded image for project: 'C++ Driver'
  1. C++ Driver
  2. CXX-155

rotatable_file_writer_test does not compile in C++11 mode with libc++

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • legacy-0.8.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      Using this build line on OS X Mavericks with XCode 5.1:

      scons --cache --libc++ --osx-version-min=10.8 --sharedclient --prefix=/Users/andrew/Documents/10gen/dev/src/mongo-client-install --ssl --use-sasl-client --dbg=on --opt=on --extrapath=/opt/local --c++11 -j10 --mute . -k
      

      The test fails to compile as follows:

      Compiling build/cached/mongo/logger/rotatable_file_writer_test.o
      src/mongo/logger/rotatable_file_writer_test.cpp:52:13: error: no matching conversion for
            functional-style cast from 'std::__1::basic_ostream<char>' to '::testing::AssertionResult'
                  ASSERT_TRUE(writerUse.stream() << "Level 1 message." << std::endl);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/third_party/gtest-1.7.0/include/gtest/gtest.h:1921:3: note: expanded from macro 'ASSERT_TRUE'
        GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/third_party/gtest-1.7.0/include/gtest/internal/gtest-internal.h:1111:7: note: expanded from
            macro 'GTEST_TEST_BOOLEAN_'
            ::testing::AssertionResult(expression)) \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/third_party/gtest-1.7.0/include/gtest/gtest.h:260:3: note: candidate constructor not viable: no
            known conversion from 'std::__1::basic_ostream<char>' to 'const testing::AssertionResult' for
            1st argument
        AssertionResult(const AssertionResult& other);
        ^
      src/third_party/gtest-1.7.0/include/gtest/gtest.h:262:12: note: candidate constructor not viable: no
            known conversion from 'std::__1::basic_ostream<char>' to 'bool' for 1st argument
        explicit AssertionResult(bool success) : success_(success) {}
                 ^
      src/mongo/logger/rotatable_file_writer_test.cpp:53:13: error: no matching conversion for
            functional-style cast from 'std::__1::basic_ostream<char>' to '::testing::AssertionResult'
                  ASSERT_TRUE(writerUse.stream() << "Level 2 message." << std::endl);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ....
      

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: