Open thedrow opened 9 years ago
Are you talking about the C++ deprecation warnings? It's definitely on my todo list, but thanks for adding an issue to track it/remind me
Yes, exactly.
I've been working on this. Most of them have been removed but some still remain.
Linux
building 'capnp.lib.capnp' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/capnp
creating build/temp.linux-x86_64-3.7/capnp/lib
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I. -I/opt/hostedtoolcache/Python/3.7.5/x64/include/python3.7m -Ibuild64/include -c capnp/lib/capnp.cpp -o build/temp.linux-x86_64-3.7/capnp/lib/capnp.o --std=c++14
capnp/lib/capnp.cpp: In function ‘PyObject* __pyx_f_5capnp_3lib_5capnp_12SchemaParser__parse_disk_file(__pyx_obj_5capnp_3lib_5capnp_SchemaParser*, PyObject*, PyObject*, PyObject*, int)’:
capnp/lib/capnp.cpp:72239:209: warning: ‘capnp::ParsedSchema capnp::SchemaParser::parseDiskFile(kj::StringPtr, kj::StringPtr, kj::ArrayPtr<const kj::StringPtr>) const’ is deprecated [-Wdeprecated-declarations]
__pyx_t_1 = ((struct __pyx_vtabstruct_5capnp_3lib_5capnp__ParsedSchema *)__pyx_v_ret->__pyx_base.__pyx_vtab)->_init_child(__pyx_v_ret, __pyx_v_self->thisptr->parseDiskFile(__pyx_t_12, __pyx_t_15, __pyx_t_16)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3131, __pyx_L1_error)
^
In file included from capnp/lib/capnp.cpp:677:0:
build64/include/capnp/schema-parser.h:103:16: note: declared here
ParsedSchema parseDiskFile(kj::StringPtr displayName, kj::StringPtr diskPath,
^~~~~~~~~~~~~
g++ -pthread -shared -Wl,--rpath=/opt/hostedtoolcache/Python/3.7.5/x64/lib -Wl,--rpath=/opt/hostedtoolcache/Python/3.7.5/x64/lib build/temp.linux-x86_64-3.7/capnp/lib/capnp.o -L/opt/hostedtoolcache/Python/3.7.5/x64/lib -Lbuild64/lib -lcapnpc -lcapnp-rpc -lcapnp -lkj-async -lkj -lpython3.7m -o build/lib.linux-x86_64-3.7/capnp/lib/capnp.cpython-37m-x86_64-linux-gnu.so
Processing /home/runner/work/pycapnp/pycapnp
macOS
creating build/temp.macosx-10.13-x86_64-3.7/capnp/lib
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I. -I/Users/runner/hostedtoolcache/Python/3.7.5/x64/include/python3.7m -Ibuild64/include -c capnp/lib/capnp.cpp -o build/temp.macosx-10.13-x86_64-3.7/capnp/lib/capnp.o --std=c++14
capnp/lib/capnp.cpp:46895:3: warning: code will never be executed [-Wunreachable-code]
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
^~~~~~~~~~~~~~~~~~~~~~~
capnp/lib/capnp.cpp:55495:3: warning: code will never be executed [-Wunreachable-code]
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
^~~~~~~~~~~~~~~~~~~~~~~
capnp/lib/capnp.cpp:57769:3: warning: code will never be executed [-Wunreachable-code]
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
^~~~~~~~~~~~~~~~~~~~~~~
capnp/lib/capnp.cpp:58700:3: warning: code will never be executed [-Wunreachable-code]
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
^~~~~~~~~~~~~~~~~~~~~~~
capnp/lib/capnp.cpp:72239:161: warning: 'parseDiskFile' is deprecated: Use parseFromDirectory() instead. [-Wdeprecated-declarations]
__pyx_t_1 = ((struct __pyx_vtabstruct_5capnp_3lib_5capnp__ParsedSchema *)__pyx_v_ret->__pyx_base.__pyx_vtab)->_init_child(__pyx_v_ret, __pyx_v_self->thisptr->parseDiskFile(__pyx_t_12, __pyx_t_15, __pyx_t_16)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3131, __pyx_L1_error)
^
build64/include/capnp/common.h:57:26: note: expanded from macro 'CAPNP_DEPRECATED'
#define CAPNP_DEPRECATED KJ_DEPRECATED
^
build64/include/kj/common.h:186:20: note: expanded from macro 'KJ_DEPRECATED'
__attribute__((deprecated(reason)))
^
capnp/lib/capnp.cpp:334:5: warning: destructor called on non-final 'ErrorHandler' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
x.~T();
^
capnp/lib/capnp.cpp:96529:3: note: in instantiation of function template specialization '__Pyx_call_destructor<ErrorHandler>' requested here
__Pyx_call_destructor(p->_error_handler);
^
capnp/lib/capnp.cpp:334:8: note: qualify call to silence this warning
x.~T();
^
ErrorHandler::
6 warnings generated.
g++ -bundle -undefined dynamic_lookup build/temp.macosx-10.13-x86_64-3.7/capnp/lib/capnp.o -Lbuild64/lib -lcapnpc -lcapnp-rpc -lcapnp -lkj-async -lkj -o build/lib.macosx-10.13-x86_64-3.7/capnp/lib/capnp.cpython-37m-darwin.so
Windows
2019-12-12T07:11:47.0212180Z creating build\temp.win-amd64-3.7\Release\capnp\lib
2019-12-12T07:11:47.0214118Z C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -I. -IC:\hostedtoolcache\windows\Python\3.7.5\x64\include -IC:\hostedtoolcache\windows\Python\3.7.5\x64\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" -Ibuild64\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /EHsc /Tpcapnp/lib\capnp.cpp /Fobuild\temp.win-amd64-3.7\Release\capnp/lib\capnp.obj /std:c++14 /MD
2019-12-12T07:11:47.0285903Z capnp.cpp
2019-12-12T07:11:47.8205112Z D:\a\pycapnp\pycapnp\build64\include\capnp\common.h(718): warning C4244: 'initializing': conversion from 'unsigned __int64' to 'const capnp::uint', possible loss of data
2019-12-12T07:11:47.9108160Z D:\a\pycapnp\pycapnp\build64\include\capnp\layout.h(595): warning C4267: 'initializing': conversion from 'size_t' to 'capnp::StructDataBitCount', possible loss of data
2019-12-12T07:11:48.7084891Z D:\a\pycapnp\pycapnp\build64\include\capnp\rpc.h(458): warning C4068: unknown pragma
2019-12-12T07:11:48.7085245Z D:\a\pycapnp\pycapnp\build64\include\capnp\rpc.h(459): warning C4068: unknown pragma
2019-12-12T07:11:48.7085831Z D:\a\pycapnp\pycapnp\build64\include\capnp\rpc.h(461): warning C4068: unknown pragma
2019-12-12T07:11:49.0654238Z capnp/lib\capnp.cpp(12403): warning C4244: 'argument': conversion from 'int64_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.0991187Z capnp/lib\capnp.cpp(14891): warning C4244: 'argument': conversion from 'int64_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.1918023Z capnp/lib\capnp.cpp(18789): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.1923712Z capnp/lib\capnp.cpp(18843): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.2100525Z capnp/lib\capnp.cpp(19678): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.2106692Z capnp/lib\capnp.cpp(19732): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.2302113Z capnp/lib\capnp.cpp(20577): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:49.2477746Z capnp/lib\capnp.cpp(21414): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'capnp::uint', possible loss of data
2019-12-12T07:11:50.8415876Z build64\include\kj/hash.h(98): warning C4244: 'return': conversion from 'unsigned __int64' to 'kj::uint', possible loss of data
2019-12-12T07:11:50.8419110Z build64\include\kj/hash.h(130): note: see reference to function template instantiation 'kj::uint kj::_::HashCoder::operator *<const capnp::_::RawBrandedSchema>(T *) const' being compiled
2019-12-12T07:11:50.8419536Z with
2019-12-12T07:11:50.8419933Z [
2019-12-12T07:11:50.8420330Z T=const capnp::_::RawBrandedSchema
2019-12-12T07:11:50.8420667Z ]
2019-12-12T07:11:50.8420950Z D:\a\pycapnp\pycapnp\build64\include\capnp\schema.h(133): note: see reference to function template instantiation 'kj::uint kj::hashCode<const capnp::_::RawBrandedSchema*const &>(T)' being compiled
2019-12-12T07:11:50.8421198Z with
2019-12-12T07:11:50.8421408Z [
2019-12-12T07:11:50.8421635Z T=const capnp::_::RawBrandedSchema *const &
2019-12-12T07:11:50.8421838Z ]
2019-12-12T07:11:50.8723191Z build64\include\kj/hash.h(156): warning C4267: 'initializing': conversion from 'size_t' to 'kj::uint', possible loss of data
2019-12-12T07:11:50.8724244Z build64\include\kj/hash.h(130): note: see reference to function template instantiation 'kj::uint kj::_::HashCoder::operator *<const T,kj::uint>(kj::ArrayPtr<const T>) const' being compiled
2019-12-12T07:11:50.8724489Z with
2019-12-12T07:11:50.8725106Z [
2019-12-12T07:11:50.8725284Z T=kj::String
2019-12-12T07:11:50.8725445Z ]
2019-12-12T07:11:50.8725951Z build64\include\kj/filesystem.h(1029): note: see reference to function template instantiation 'kj::uint kj::hashCode<const kj::ArrayPtr<const T>&>(const kj::ArrayPtr<const T>&)' being compiled
2019-12-12T07:11:50.8726231Z with
2019-12-12T07:11:50.8726447Z [
2019-12-12T07:11:50.8726682Z T=kj::String
2019-12-12T07:11:50.8726987Z ]
2019-12-12T07:11:50.8727275Z D:\a\pycapnp\pycapnp\build64\include\kj\time.h(59): note: see reference to class template instantiation 'kj::Absolute<kj::Duration,kj::_::DateLabel>' being compiled
2019-12-12T07:11:50.8727581Z D:\a\pycapnp\pycapnp\build64\include\kj\time.h(44): note: see reference to class template instantiation 'kj::Quantity<int64_t,kj::_::NanosecondLabel>' being compiled
2019-12-12T07:11:51.5034804Z C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\bin\HostX86\x64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\hostedtoolcache\windows\Python\3.7.5\x64\libs /LIBPATH:C:\hostedtoolcache\windows\Python\3.7.5\x64\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\ATLMFC\lib\x64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64" /LIBPATH:build64\lib "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\ATLMFC\lib\x64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64" capnpc.lib capnp-rpc.lib capnp.lib kj-async.lib kj.lib /EXPORT:PyInit_capnp build\temp.win-amd64-3.7\Release\capnp/lib\capnp.obj /OUT:build\lib.win-amd64-3.7\capnp\lib\capnp.cp37-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.7\Release\capnp/lib\capnp.cp37-win_amd64.lib /MANIFEST
2019-12-12T07:11:52.3548118Z Creating library build\temp.win-amd64-3.7\Release\capnp/lib\capnp.cp37-win_amd64.lib and object build\temp.win-amd64-3.7\Release\capnp/lib\capnp.cp37-win_amd64.exp
2019-12-12T07:11:52.3878914Z Generating code
2019-12-12T07:12:17.0773714Z Finished generating code
2019-12-12T07:12:18.5133673Z Processing d:\a\pycapnp\pycapnp
There are now a bunch of tp_print warnings on Python 3.8, caused by https://github.com/cython/cython/issues/3474 . Seems there is no much which can be done about that.
The first mac unreachable CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
is in _RemotePromise.a_wait , and it appears to be unfixable, and caused by Cython.
When I building using Cython 3.0a6, I get the following warning from Cython.
warning: capnp/includes/capnp_cpp.pxd:356:18: Rvalue-reference as function argument not supported
That line originates from 1df115d359 by @jparyani
RpcSystem(RpcSystem&&)
But the tests all seem to pass.
There is also a lot of the following compiler warning
capnp/lib/capnp.cpp:21799:59: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
__pyx_t_2 = __pyx_f_5capnp_3lib_5capnp_to_python_reader(__PYX_STD_MOVE_IF_SUPPORTED((( ::capnp::DynamicValue::Reader)__pyx_t_7)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 382, __pyx_L1_error)
^
capnp/lib/capnp.cpp:4250:42: note: expanded from macro '__PYX_STD_MOVE_IF_SUPPORTED'
#define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
^
It seems that pycapnp is using deprecated methods according to the build logs. We should replace their usage with their up to date alternatives.