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

Squelch GCC 4.9.1 warnings and linker error

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 2.7.4
    • Fix Version/s: 2.7.5
    • Component/s: Internal Code
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Steps To Reproduce:
      Hide

      On Ubuntu 14.04, install GCC 4.9.1 and run "scons all".

      Show
      On Ubuntu 14.04, install GCC 4.9.1 and run "scons all".

      Description

      GCC 4.9.1 generates the warnings included below, as well as a linker error due to a (unneeded) desctructor.

      I have a patch that fixes this by initializing some out parameters even in case of an error, and by removing the unneeded destructor. Will submit for code review.

      g++ -o build/linux2/normal/mongo/db/commands/index_filter_commands.o -c -Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe -Werror -O3 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -fno-builtin-memcmp -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -DMONGO_OPTIMIZED_BUILD -D_FILE_OFFSET_BITS=64 -DMONGO_HAVE___THREAD -DMONGO_HAVE_CXX11_ATOMICS -DMONGO_HAVE_HEADER_UNISTD_H -DMONGO_HAVE_POSIX_MONOTONIC_CLOCK -DMONGO_HAVE_EXECINFO_BACKTRACE -Isrc/third_party/boost -Isrc/third_party/s2 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/normal -Isrc -Isrc/third_party/snappy src/mongo/db/commands/index_filter_commands.cpp
      src/mongo/db/commands/index_filter_commands.cpp: In member function 'virtual mongo::Status mongo::ClearFilters::runIndexFilterCommand(mongo::OperationContext*, const string&, mongo::BSONObj&, mongo::BSONObjBuilder*)':
      src/mongo/db/commands/index_filter_commands.cpp:243:63: error: 'querySettings' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return clear(txn, querySettings, planCache, ns, cmdObj);
      ^
      src/mongo/db/commands/index_filter_commands.cpp:243:63: error: 'planCache' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      src/mongo/db/commands/index_filter_commands.cpp: In member function 'virtual mongo::Status mongo::ListFilters::runIndexFilterCommand(mongo::OperationContext*, const string&, mongo::BSONObj&, mongo::BSONObjBuilder*)':
      src/mongo/db/commands/index_filter_commands.cpp:183:40: error: 'querySettings' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return list(*querySettings, bob);
      ^
      src/mongo/db/commands/index_filter_commands.cpp: In member function 'virtual mongo::Status mongo::SetFilter::runIndexFilterCommand(mongo::OperationContext*, const string&, mongo::BSONObj&, mongo::BSONObjBuilder*)':
      src/mongo/db/commands/index_filter_commands.cpp:336:61: error: 'querySettings' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return set(txn, querySettings, planCache, ns, cmdObj);
      ^
      src/mongo/db/commands/index_filter_commands.cpp:336:61: error: 'planCache' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      cc1plus: all warnings being treated as errors
      scons: *** [build/linux2/normal/mongo/db/commands/index_filter_commands.o] Error 1

        Attachments

          Activity

            People

            Assignee:
            geert.bosch Geert Bosch
            Reporter:
            geert.bosch Geert Bosch
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: