Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-18927

Jlib compilation errors due to ill formed conversion

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 7.0.0
    • Fix Version/s: 7.0.0
    • Component/s: JLib
    • Labels:
      None
    • Environment:
      Ubuntu 17.10
      GCC 7.2.0
      Master branch

      Description

      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jtime.hpp:22:0,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jfile.hpp:25,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.hpp:24,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.cpp:20:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp: In member function ‘aindex_t PointerArrayOf<TYPE>::bSearch(const TYPE*&, PointerArrayOf<TYPE>::PointerOfCompareFunc) const’:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp:240:151: error: no matching function for call to ‘PointerArrayOf<TYPE>::bSearch(const void*&, ArrayOf<void*>::CompareFunc) const’
           inline aindex_t bSearch(const TYPE * & key, PointerOfCompareFunc f) const    { return PointerArray:: bSearch(*(const void * *)&key, (CompareFunc)f); }
                                                                                                                                                             ^
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jio.hpp:24:0,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jfile.hpp:24,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.hpp:24,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.cpp:20:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:169:14: note: candidate: aindex_t ArrayOf<MEMBER, PARAM, MAPPER>::bSearch(const MEMBER&, ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc) const [with MEMBER = void*; PARAM = void*; MAPPER = SimpleArrayMapper<void*, void*>; aindex_t = unsigned int; ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc = int (*)(void* const*, void* const*)] <near match>
           aindex_t bSearch(const MEMBER & key, CompareFunc cf) const
                    ^~~~~~~
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:169:14: note:   conversion of argument 1 would be ill-formed:
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jtime.hpp:22:0,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jfile.hpp:25,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.hpp:24,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.cpp:20:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp: In member function ‘aindex_t ConstPointerArrayOf<BTYPE>::bAdd(ConstPointerArrayOf<BTYPE>::TYPE*&, ConstPointerArrayOf<BTYPE>::PointerOfCompareFunc, bool&)’:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp:260:157: error: no matching function for call to ‘ConstPointerArrayOf<BTYPE>::bAdd(void*&, ArrayOf<const void*>::CompareFunc, bool&)’
           inline aindex_t bAdd(TYPE * & newItem, PointerOfCompareFunc f, bool & isNew) { return ConstPointerArray::bAdd(*(void * *)&newItem, (CompareFunc)f, isNew); }
                                                                                                                                                                   ^
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jio.hpp:24:0,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jfile.hpp:24,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.hpp:24,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jargv.cpp:20:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:157:14: note: candidate: aindex_t ArrayOf<MEMBER, PARAM, MAPPER>::bAdd(MEMBER&, ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc, bool&) [with MEMBER = const void*; PARAM = const void*; MAPPER = SimpleArrayMapper<const void*, const void*>; aindex_t = unsigned int; ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc = int (*)(const void* const*, const void* const*)] <near match>
           aindex_t bAdd(MEMBER & newItem, CompareFunc cf, bool & isNew)
                    ^~~~
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:157:14: note:   conversion of argument 1 would be ill-formed:
      system/jlib/CMakeFiles/jlib.dir/build.make:62: recipe for target 'system/jlib/CMakeFiles/jlib.dir/jargv.cpp.o' failed
      make[3]: *** [system/jlib/CMakeFiles/jlib.dir/jargv.cpp.o] Error 1
      make[3]: *** Waiting for unfinished jobs....
      [  3%] Building CXX object tools/hidl/CMakeFiles/hidl.dir/main.cpp.o
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jlog.hpp:31:0,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jmisc.hpp:27,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.cpp:22:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp: In member function ‘aindex_t PointerArrayOf<TYPE>::bSearch(const TYPE*&, PointerArrayOf<TYPE>::PointerOfCompareFunc) const’:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp:240:151: error: no matching function for call to ‘PointerArrayOf<TYPE>::bSearch(const void*&, ArrayOf<void*>::CompareFunc) const’
           inline aindex_t bSearch(const TYPE * & key, PointerOfCompareFunc f) const    { return PointerArray:: bSearch(*(const void * *)&key, (CompareFunc)f); }
                                                                                                                                                             ^
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.cpp:20:0:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:169:14: note: candidate: aindex_t ArrayOf<MEMBER, PARAM, MAPPER>::bSearch(const MEMBER&, ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc) const [with MEMBER = void*; PARAM = void*; MAPPER = SimpleArrayMapper<void*, void*>; aindex_t = unsigned int; ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc = int (*)(void* const*, void* const*)] <near match>
           aindex_t bSearch(const MEMBER & key, CompareFunc cf) const
                    ^~~~~~~
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:169:14: note:   conversion of argument 1 would be ill-formed:
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jlog.hpp:31:0,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jmisc.hpp:27,
                       from /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.cpp:22:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp: In member function ‘aindex_t ConstPointerArrayOf<BTYPE>::bAdd(ConstPointerArrayOf<BTYPE>::TYPE*&, ConstPointerArrayOf<BTYPE>::PointerOfCompareFunc, bool&)’:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jlib.hpp:260:157: error: no matching function for call to ‘ConstPointerArrayOf<BTYPE>::bAdd(void*&, ArrayOf<const void*>::CompareFunc, bool&)’
           inline aindex_t bAdd(TYPE * & newItem, PointerOfCompareFunc f, bool & isNew) { return ConstPointerArray::bAdd(*(void * *)&newItem, (CompareFunc)f, isNew); }
                                                                                                                                                                   ^
      In file included from /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.cpp:20:0:
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:157:14: note: candidate: aindex_t ArrayOf<MEMBER, PARAM, MAPPER>::bAdd(MEMBER&, ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc, bool&) [with MEMBER = const void*; PARAM = const void*; MAPPER = SimpleArrayMapper<const void*, const void*>; aindex_t = unsigned int; ArrayOf<MEMBER, PARAM, MAPPER>::CompareFunc = int (*)(const void* const*, const void* const*)] <near match>
           aindex_t bAdd(MEMBER & newItem, CompareFunc cf, bool & isNew)
                    ^~~~
      /home/michael/Workspace/HPCC-Platform/system/jlib/jarray.hpp:157:14: note:   conversion of argument 1 would be ill-formed:
      system/jlib/CMakeFiles/jlib.dir/build.make:86: recipe for target 'system/jlib/CMakeFiles/jlib.dir/jarray.cpp.o' failed
      
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ghalliday Gavin Halliday
                Reporter:
                Michael-Gardner Michael Gardner
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: