sinojelly / mockcpp

Two C/C++ testing tools, mockcpp and testngpp.
Apache License 2.0
66 stars 39 forks source link

MinGW GCC 8 compile error. #22

Closed sinojelly closed 3 years ago

sinojelly commented 3 years ago

Maybe because the pointer is 8 bytes, not 4 bytes.

[ 95%] Building CXX object src/CMakeFiles/mockcpp.dir/JmpCode.cpp.obj
In file included from D:\Develop\work\mockcpp\src\JmpCodeArch.h:25,
                 from D:\Develop\work\mockcpp\src\JmpCode.cpp:22:
D:\Develop\work\mockcpp\src\JmpCode.cpp: In constructor 'mockcpp::JmpCodeImpl::JmpCodeImpl(const void*, const void*)':
D:\Develop\work\mockcpp\src\JmpCode.cpp:34:34: error: cast from 'const void*' to 'long unsigned int' loses precision [-fpermissive]
       SET_JMP_CODE(m_code, from, to);
                                  ^~
D:\Develop\work\mockcpp\src\JmpCodeX86.h:23:28: note: in definition of macro 'SET_JMP_CODE'
             (unsigned long)to - (unsigned long)from - sizeof(jmpCodeTemplate); \
                            ^~
D:\Develop\work\mockcpp\src\JmpCode.cpp:34:28: error: cast from 'const void*' to 'long unsigned int' loses precision [-fpermissive]
       SET_JMP_CODE(m_code, from, to);
                            ^~~~
D:\Develop\work\mockcpp\src\JmpCodeX86.h:23:48: note: in definition of macro 'SET_JMP_CODE'
             (unsigned long)to - (unsigned long)from - sizeof(jmpCodeTemplate); \
                                                ^~~~
make[2]: *** [src\CMakeFiles\mockcpp.dir\build.make:1160: src/CMakeFiles/mockcpp.dir/JmpCode.cpp.obj] Error 1
make[1]: *** [CMakeFiles\Makefile2:115: src/CMakeFiles/mockcpp.dir/all] Error 2