Kouhei Sutou created THRIFT-5842: ------------------------------------ Summary: Mutex.h uses int64_t but cstdint isn't included Key: THRIFT-5842 URL: https://issues.apache.org/jira/browse/THRIFT-5842 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: * Debian GNU/Linux sid * {{g++-15 (Debian 15-20241220-1) 15.0.0 20241220 (experimental) [master r15-6385-g92216cbc59b]}}
Reporter: Kouhei Sutou {{Mutex.h}} uses {{int64_t}} but doesn't include {{cstdint}}. So the following error is happen with GCC 15. (Note that GCC 15 isn't released yet.) {noformat} [80/359] Building CXX object lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o FAILED: lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o /bin/g++-15 -DBOOST_ALL_DYN_LINK -DBOOST_TEST_DYN_LINK -DTHRIFT_STATIC_DEFINE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/kou/work/cpp/thrift.kou.build/lib/cpp -I/home/kou/work/cpp/thrift.kou/lib/cpp -I/home/kou/work/cpp/thrift.kou.build -I/home/kou/work/cpp/thrift.kou/lib/cpp/src -g -std=c++11 -MD -MT lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -MF lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o.d -o lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -c /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp In file included from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TServerSocket.h:25, from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23, from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21: /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:47:26: error: ‘int64_t’ has not been declared 47 | virtual bool timedlock(int64_t milliseconds) const; | ^~~~~~~ /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:25:1: note: ‘int64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ 24 | #include <thrift/TNonCopyable.h> +++ |+#include <cstdint> 25 | /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: error: ‘int64_t’ has not been declared 60 | Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) { | ^~~~~~~ /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: note: ‘int64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)