From 1cc34f01db56d28e8e80847cf0fc5e3ecf8bb67b Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Mon, 18 Feb 2019 19:25:08 +0800 Subject: [PATCH] Fix ssize_t definition. (#80) * Fix linter. --- include/dmlc/base.h | 94 ++++++++++++++++-------------- include/dmlc/type_traits.h | 12 ++-- include/rabit/c_api.h | 4 +- include/rabit/internal/rabit-inl.h | 6 +- include/rabit/internal/timer.h | 16 ++--- include/rabit/internal/utils.h | 23 ++++---- include/rabit/rabit.h | 10 ++-- src/allreduce_base.h | 2 +- src/allreduce_robust.cc | 4 +- src/engine.cc | 4 +- src/socket.h | 28 ++++----- src/thread_local.h | 10 ++-- 12 files changed, 111 insertions(+), 102 deletions(-) diff --git a/include/dmlc/base.h b/include/dmlc/base.h index 6e7e82ed..11a084bd 100644 --- a/include/dmlc/base.h +++ b/include/dmlc/base.h @@ -9,7 +9,7 @@ /*! \brief whether use glog for logging */ #ifndef DMLC_USE_GLOG #define DMLC_USE_GLOG 0 -#endif +#endif // DMLC_USE_GLOG /*! * \brief whether throw dmlc::Error instead of @@ -19,7 +19,7 @@ */ #ifndef DMLC_LOG_FATAL_THROW #define DMLC_LOG_FATAL_THROW 1 -#endif +#endif // DMLC_LOG_FATAL_THROW /*! * \brief whether always log a message before throw @@ -27,7 +27,7 @@ */ #ifndef DMLC_LOG_BEFORE_THROW #define DMLC_LOG_BEFORE_THROW 1 -#endif +#endif // DMLC_LOG_BEFORE_THROW /*! * \brief Whether to use customized logger, @@ -35,7 +35,7 @@ */ #ifndef DMLC_LOG_CUSTOMIZE #define DMLC_LOG_CUSTOMIZE 0 -#endif +#endif // DMLC_LOG_CUSTOMIZE /*! * \brief Wheter to print stack trace for fatal error, @@ -45,22 +45,22 @@ && defined(__GNUC__) && !defined(__MINGW32__) \ && !defined(__sun) && !defined(__SVR4)) #define DMLC_LOG_STACK_TRACE 1 -#endif +#endif // guards /*! \brief whether compile with hdfs support */ #ifndef DMLC_USE_HDFS #define DMLC_USE_HDFS 0 -#endif +#endif // DMLC_USE_HDFS /*! \brief whether compile with s3 support */ #ifndef DMLC_USE_S3 #define DMLC_USE_S3 0 -#endif +#endif // DMLC_USE_S3 /*! \brief whether or not use parameter server */ #ifndef DMLC_USE_PS #define DMLC_USE_PS 0 -#endif +#endif // DMLC_USE_PS /*! \brief whether or not use c++11 support */ #ifndef DMLC_USE_CXX11 @@ -68,8 +68,8 @@ #define DMLC_USE_CXX11 1 #else #define DMLC_USE_CXX11 (__cplusplus >= 201103L) -#endif -#endif +#endif // defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(_MSC_VER) +#endif // DMLC_USE_CXX11 /*! \brief strict CXX11 support */ #ifndef DMLC_STRICT_CXX11 @@ -77,8 +77,8 @@ #define DMLC_STRICT_CXX11 1 #else #define DMLC_STRICT_CXX11 (__cplusplus >= 201103L) -#endif -#endif +#endif // defined(_MSC_VER) +#endif // DMLC_STRICT_CXX11 /*! \brief Whether cxx11 thread local is supported */ #ifndef DMLC_CXX11_THREAD_LOCAL @@ -87,17 +87,17 @@ #define DMLC_CXX11_THREAD_LOCAL 1 #else #define DMLC_CXX11_THREAD_LOCAL 0 -#endif +#endif // (_MSC_VER >= 1900) #else #define DMLC_CXX11_THREAD_LOCAL (__cplusplus >= 201103L) -#endif -#endif +#endif // defined(_MSC_VER) +#endif // DMLC_CXX11_THREAD_LOCAL /*! \brief whether RTTI is enabled */ #ifndef DMLC_ENABLE_RTTI #define DMLC_ENABLE_RTTI 1 -#endif +#endif // DMLC_ENABLE_RTTI /// check if g++ is before 4.6 #if DMLC_USE_CXX11 && defined(__GNUC__) && !defined(__clang_version__) @@ -107,8 +107,8 @@ "compile without c++0x, some features may be disabled") #undef DMLC_USE_CXX11 #define DMLC_USE_CXX11 0 -#endif -#endif +#endif // __GNUC__ == 4 && __GNUC_MINOR__ < 6 +#endif // DMLC_USE_CXX11 && defined(__GNUC__) && !defined(__clang_version__) /*! @@ -117,19 +117,19 @@ */ #ifndef DMLC_ENABLE_STD_THREAD #define DMLC_ENABLE_STD_THREAD DMLC_USE_CXX11 -#endif +#endif // DMLC_ENABLE_STD_THREAD /*! \brief whether enable regex support, actually need g++-4.9 or higher*/ #ifndef DMLC_USE_REGEX #define DMLC_USE_REGEX DMLC_STRICT_CXX11 -#endif +#endif // DMLC_USE_REGEX /*! \brief helper macro to supress unused warning */ #if defined(__GNUC__) #define DMLC_ATTRIBUTE_UNUSED __attribute__((unused)) #else #define DMLC_ATTRIBUTE_UNUSED -#endif +#endif // defined(__GNUC__) /*! \brief helper macro to generate string concat */ #define DMLC_STR_CONCAT_(__x, __y) __x##__y @@ -154,41 +154,46 @@ # define DISALLOW_COPY_AND_ASSIGN(T) \ T(T const&); \ T& operator=(T const&) -# endif -#endif +# endif // DMLC_USE_CXX11 +#endif // DISALLOW_COPY_AND_ASSIGN /// /// code block to handle optionally loading /// #if !defined(__GNUC__) #define fopen64 std::fopen -#endif +#endif // !defined(__GNUC__) + #if (defined __MINGW32__) && !(defined __MINGW64__) #define fopen64 std::fopen -#endif +#endif // (defined __MINGW32__) && !(defined __MINGW64__) + #ifdef _MSC_VER -#if _MSC_VER < 1900 + +# if _MSC_VER < 1900 // NOTE: sprintf_s is not equivalent to snprintf, // they are equivalent when success, which is sufficient for our case -#define snprintf sprintf_s -#define vsnprintf vsprintf_s -#endif +# define snprintf sprintf_s +# define vsnprintf vsprintf_s +# endif // _MSC_VER < 1900 + #else -#ifdef _FILE_OFFSET_BITS -#if _FILE_OFFSET_BITS == 32 -#pragma message("Warning: FILE OFFSET BITS defined to be 32 bit") -#endif -#endif - -#ifdef __APPLE__ -#define off64_t off_t -#define fopen64 std::fopen -#endif + +# ifdef _FILE_OFFSET_BITS +# if _FILE_OFFSET_BITS == 32 +# pragma message("Warning: FILE OFFSET BITS defined to be 32 bit") +# endif // _FILE_OFFSET_BITS == 32 +# endif // _FILE_OFFSET_BITS + +# ifdef __APPLE__ +# define off64_t off_t +# define fopen64 std::fopen +# endif // __APPLE__ extern "C" { #include } -#endif +#endif // _MSC_VER #ifdef _MSC_VER //! \cond Doxygen_Suppress @@ -203,7 +208,8 @@ typedef unsigned __int64 uint64_t; //! \endcond #else #include -#endif +#endif // _MSC_VER + #include #include @@ -211,7 +217,7 @@ typedef unsigned __int64 uint64_t; #define noexcept_true throw () #define noexcept_false #define noexcept(a) noexcept_##a -#endif +#endif // defined(_MSC_VER) && _MSC_VER < 1900 #if DMLC_USE_CXX11 #define DMLC_THROW_EXCEPTION noexcept(false) @@ -219,7 +225,7 @@ typedef unsigned __int64 uint64_t; #else #define DMLC_THROW_EXCEPTION #define DMLC_NO_EXCEPTION -#endif +#endif // DMLC_USE_CXX11 /*! \brief namespace for dmlc */ namespace dmlc { @@ -272,6 +278,6 @@ inline const char* BeginPtr(const std::string &str) { #if defined(_MSC_VER) && _MSC_VER < 1900 #define constexpr const #define alignof __alignof -#endif +#endif // defined(_MSC_VER) && _MSC_VER < 1900 #endif // DMLC_BASE_H_ diff --git a/include/dmlc/type_traits.h b/include/dmlc/type_traits.h index 73abfba8..ef0af06a 100644 --- a/include/dmlc/type_traits.h +++ b/include/dmlc/type_traits.h @@ -9,7 +9,7 @@ #include "./base.h" #if DMLC_USE_CXX11 #include -#endif +#endif // DMLC_USE_CXX11 #include namespace dmlc { @@ -25,7 +25,7 @@ struct is_pod { #else /*! \brief the value of the traits */ static const bool value = false; -#endif +#endif // DMLC_USE_CXX11 }; @@ -41,7 +41,7 @@ struct is_integral { #else /*! \brief the value of the traits */ static const bool value = false; -#endif +#endif // DMLC_USE_CXX11 }; /*! @@ -56,7 +56,7 @@ struct is_floating_point { #else /*! \brief the value of the traits */ static const bool value = false; -#endif +#endif // DMLC_USE_CXX11 }; /*! @@ -72,7 +72,7 @@ struct is_arithmetic { /*! \brief the value of the traits */ static const bool value = (dmlc::is_integral::value || dmlc::is_floating_point::value); -#endif +#endif // DMLC_USE_CXX11 }; /*! @@ -147,7 +147,7 @@ DMLC_DECLARE_TRAITS(is_integral, uint64_t, true); DMLC_DECLARE_TRAITS(is_floating_point, float, true); DMLC_DECLARE_TRAITS(is_floating_point, double, true); -#endif +#endif // DMLC_USE_CXX11 DMLC_DECLARE_TYPE_NAME(float, "float"); DMLC_DECLARE_TYPE_NAME(double, "double"); diff --git a/include/rabit/c_api.h b/include/rabit/c_api.h index 4668ae47..22e73f7b 100644 --- a/include/rabit/c_api.h +++ b/include/rabit/c_api.h @@ -13,13 +13,13 @@ #else #define RABIT_EXTERN_C #include -#endif +#endif // __cplusplus #if defined(_MSC_VER) || defined(_WIN32) #define RABIT_DLL RABIT_EXTERN_C __declspec(dllexport) #else #define RABIT_DLL RABIT_EXTERN_C -#endif +#endif // defined(_MSC_VER) || defined(_WIN32) /*! \brief rabit unsigned long type */ typedef unsigned long rbt_ulong; // NOLINT(*) diff --git a/include/rabit/internal/rabit-inl.h b/include/rabit/internal/rabit-inl.h index 7536c184..f556d62e 100644 --- a/include/rabit/internal/rabit-inl.h +++ b/include/rabit/internal/rabit-inl.h @@ -1,5 +1,5 @@ /*! - * Copyright by Contributors + * Copyright (c) 2014-2019 by Contributors * \file rabit-inl.h * \brief implementation of inline template function for rabit interface * @@ -188,7 +188,7 @@ inline void TrackerPrintf(const char *fmt, ...) { msg.resize(strlen(msg.c_str())); TrackerPrint(msg); } -#endif +#endif // RABIT_STRICT_CXX98_ // load latest check point inline int LoadCheckPoint(Serializable *global_model, Serializable *local_model) { @@ -323,6 +323,6 @@ inline void SerializeReducer::Allreduce(DType *sendrecvobj, std::function prepare_fun) { this->Allreduce(sendrecvobj, max_nbytes, count, InvokeLambda_, &prepare_fun); } -#endif +#endif // DMLC_USE_CXX11 } // namespace rabit #endif // RABIT_INTERNAL_RABIT_INL_H_ diff --git a/include/rabit/internal/timer.h b/include/rabit/internal/timer.h index c838028c..3ce1bf8f 100644 --- a/include/rabit/internal/timer.h +++ b/include/rabit/internal/timer.h @@ -1,5 +1,5 @@ /*! - * Copyright by Contributors + * Copyright (c) 2014-2019 by Contributors * \file timer.h * \brief This file defines the utils for timing * \author Tianqi Chen, Nacho, Tianyi @@ -10,7 +10,7 @@ #ifdef __MACH__ #include #include -#endif +#endif // __MACH__ #include "./utils.h" namespace rabit { @@ -19,22 +19,22 @@ namespace utils { * \brief return time in seconds, not cross platform, avoid to use this in most places */ inline double GetTime(void) { - #ifdef __MACH__ +#ifdef __MACH__ clock_serv_t cclock; mach_timespec_t mts; host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); utils::Check(clock_get_time(cclock, &mts) == 0, "failed to get time"); mach_port_deallocate(mach_task_self(), cclock); return static_cast(mts.tv_sec) + static_cast(mts.tv_nsec) * 1e-9; - #else - #if defined(__unix__) || defined(__linux__) +#else +#if defined(__unix__) || defined(__linux__) timespec ts; utils::Check(clock_gettime(CLOCK_REALTIME, &ts) == 0, "failed to get time"); return static_cast(ts.tv_sec) + static_cast(ts.tv_nsec) * 1e-9; - #else +#else return static_cast(time(NULL)); - #endif - #endif +#endif // defined(__unix__) || defined(__linux__) +#endif // __MACH__ } } // namespace utils } // namespace rabit diff --git a/include/rabit/internal/utils.h b/include/rabit/internal/utils.h index 44e54e1b..4b36378b 100644 --- a/include/rabit/internal/utils.h +++ b/include/rabit/internal/utils.h @@ -14,32 +14,35 @@ #ifndef RABIT_STRICT_CXX98_ #include -#endif +#endif // RABIT_STRICT_CXX98_ #if !defined(__GNUC__) || defined(__FreeBSD__) #define fopen64 std::fopen -#endif +#endif // !defined(__GNUC__) || defined(__FreeBSD__) + #ifdef _MSC_VER // NOTE: sprintf_s is not equivalent to snprintf, // they are equivalent when success, which is sufficient for our case #define snprintf sprintf_s #define vsnprintf vsprintf_s + #else + #ifdef _FILE_OFFSET_BITS #if _FILE_OFFSET_BITS == 32 #pragma message("Warning: FILE OFFSET BITS defined to be 32 bit") -#endif -#endif +#endif // _FILE_OFFSET_BITS == 32 +#endif // _FILE_OFFSET_BITS #ifdef __APPLE__ #define off64_t off_t #define fopen64 std::fopen -#endif +#endif // __APPLE__ extern "C" { #include } -#endif +#endif // _MSC_VER #ifdef _MSC_VER typedef unsigned char uint8_t; @@ -49,7 +52,7 @@ typedef unsigned __int64 uint64_t; typedef __int64 int64_t; #else #include -#endif +#endif // _MSC_VER namespace rabit { /*! \brief namespace for helper utils of the project */ @@ -88,8 +91,8 @@ inline void HandleLogPrint(const char *msg) { void HandleAssertError(const char *msg); void HandleCheckError(const char *msg); void HandlePrint(const char *msg); -#endif -#endif +#endif // RABIT_STRICT_CXX98_ +#endif // RABIT_CUSTOMIZE_MSG_ #ifdef RABIT_STRICT_CXX98_ // these function pointers are to be assigned extern "C" void (*Printf)(const char *fmt, ...); @@ -151,7 +154,7 @@ inline void Error(const char *fmt, ...) { HandleCheckError(msg.c_str()); } } -#endif +#endif // RABIT_STRICT_CXX98_ /*! \brief replace fopen, report error when the file open fails */ inline std::FILE *FopenCheck(const char *fname, const char *flag) { diff --git a/include/rabit/rabit.h b/include/rabit/rabit.h index 9686eef3..83e8c58f 100644 --- a/include/rabit/rabit.h +++ b/include/rabit/rabit.h @@ -19,8 +19,8 @@ #define DMLC_USE_CXX11 1 #else #define DMLC_USE_CXX11 (__cplusplus >= 201103L) -#endif -#endif +#endif // defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(_MSC_VER) +#endif // DMLC_USE_CXX11 // optionally support of lambda functions in C++11, if available #if DMLC_USE_CXX11 @@ -108,7 +108,7 @@ inline void TrackerPrint(const std::string &msg); * \param fmt the format string */ inline void TrackerPrintf(const char *fmt, ...); -#endif +#endif // RABIT_STRICT_CXX98_ /*! * \brief broadcasts a memory region to every node from the root * @@ -297,7 +297,7 @@ class Reducer { */ inline void Allreduce(DType *sendrecvbuf, size_t count, std::function prepare_fun); -#endif +#endif // DMLC_USE_CXX11 private: /*! \brief function handle to do reduce */ @@ -345,7 +345,7 @@ class SerializeReducer { inline void Allreduce(DType *sendrecvobj, size_t max_nbyte, size_t count, std::function prepare_fun); -#endif +#endif // DMLC_USE_CXX11 private: /*! \brief function handle to do reduce */ diff --git a/src/allreduce_base.h b/src/allreduce_base.h index ef5567af..02c76d6f 100644 --- a/src/allreduce_base.h +++ b/src/allreduce_base.h @@ -240,7 +240,7 @@ class AllreduceBase : public IEngine { #ifdef _WIN32 if (errsv == WSAEWOULDBLOCK) return kSuccess; if (errsv == WSAECONNRESET) return kConnReset; -#endif +#endif // _WIN32 if (errsv == ECONNRESET) return kConnReset; return kSockError; } diff --git a/src/allreduce_robust.cc b/src/allreduce_robust.cc index d0c29114..b81af3e4 100644 --- a/src/allreduce_robust.cc +++ b/src/allreduce_robust.cc @@ -1,5 +1,5 @@ /*! - * Copyright (c) 2014-2018 by Contributors + * Copyright (c) 2014-2019 by Contributors * \file allreduce_robust.cc * \brief Robust implementation of Allreduce * @@ -55,7 +55,7 @@ void AllreduceRobust::Shutdown(void) { // This cause rest workers checkandrecover and hang inf, https://github.com/dmlc/xgboost/pull/3818 // TODO(Chen Qin): a fundamental fix for this sleep(2); -#endif +#endif // __APPLE__ AllreduceBase::Shutdown(); } /*! diff --git a/src/engine.cc b/src/engine.cc index c958932b..30e3d4f9 100644 --- a/src/engine.cc +++ b/src/engine.cc @@ -24,10 +24,10 @@ namespace engine { typedef AllreduceRobust Manager; #else typedef AllreduceMock Manager; -#endif +#endif // RABIT_USE_MOCK #else typedef AllreduceBase Manager; -#endif +#endif // RABIT_USE_BASE /*! \brief entry to to easily hold returning information */ struct ThreadLocalEntry { diff --git a/src/socket.h b/src/socket.h index 4a8dfe2d..d127113a 100644 --- a/src/socket.h +++ b/src/socket.h @@ -1,5 +1,5 @@ /*! - * Copyright (c) 2014 by Contributors + * Copyright (c) 2014-2019 by Contributors * \file socket.h * \brief this file aims to provide a wrapper of sockets * \author Tianqi Chen @@ -11,7 +11,7 @@ #include #ifdef _MSC_VER #pragma comment(lib, "Ws2_32.lib") -#endif +#endif // _MSC_VER #else #include #include @@ -21,16 +21,16 @@ #include #include #include -#endif +#endif // defined(_WIN32) #include #include #include #include #include "../include/rabit/internal/utils.h" -#if defined(_WIN32) && not defined(__MINGW32__) +#if defined(_WIN32) || defined(__MINGW32__) typedef int ssize_t; -#endif +#endif // defined(_WIN32) || defined(__MINGW32__) #if defined(_WIN32) typedef int sock_size_t; @@ -42,7 +42,7 @@ static inline int poll(struct pollfd *pfd, int nfds, typedef int SOCKET; typedef size_t sock_size_t; const int INVALID_SOCKET = -1; -#endif +#endif // defined(_WIN32) namespace rabit { namespace utils { @@ -90,7 +90,7 @@ struct SockAddr { #else const char *s = inet_ntop(AF_INET, &addr.sin_addr, &buf[0], buf.length()); -#endif +#endif // _WIN32 Assert(s != NULL, "cannot decode address"); return std::string(s); } @@ -115,7 +115,7 @@ class Socket { return WSAGetLastError(); #else return errno; -#endif +#endif // _WIN32 } /*! \return whether last error was would block */ inline static bool LastErrorWouldBlock(void) { @@ -124,7 +124,7 @@ class Socket { return errsv == WSAEWOULDBLOCK; #else return errsv == EAGAIN || errsv == EWOULDBLOCK; -#endif +#endif // _WIN32 } /*! * \brief start up the socket module @@ -140,7 +140,7 @@ class Socket { WSACleanup(); utils::Error("Could not find a usable version of Winsock.dll\n"); } -#endif +#endif // _WIN32 } /*! * \brief shutdown the socket module after use, all sockets need to be closed @@ -148,7 +148,7 @@ class Socket { inline static void Finalize(void) { #ifdef _WIN32 WSACleanup(); -#endif +#endif // _WIN32 } /*! * \brief set this socket to use non-blocking mode @@ -174,7 +174,7 @@ class Socket { if (fcntl(sockfd, F_SETFL, flag) == -1) { Socket::Error("SetNonBlock-2"); } -#endif +#endif // _WIN32 } /*! * \brief bind the socket to an address @@ -208,7 +208,7 @@ class Socket { if (errno != EADDRINUSE) { Socket::Error("TryBindHost"); } -#endif +#endif // defined(_WIN32) } return -1; @@ -319,7 +319,7 @@ class TCPSocket : public Socket{ #else int atmark; if (ioctl(sockfd, SIOCATMARK, &atmark) == -1) return -1; -#endif +#endif // _WIN32 return static_cast(atmark); } /*! diff --git a/src/thread_local.h b/src/thread_local.h index bd504b0e..799b352a 100644 --- a/src/thread_local.h +++ b/src/thread_local.h @@ -10,7 +10,7 @@ #if DMLC_ENABLE_STD_THREAD #include -#endif +#endif // DMLC_ENABLE_STD_THREAD #include #include @@ -24,11 +24,11 @@ namespace rabit { #define MX_TREAD_LOCAL _Thread_local #elif defined(_MSC_VER) #define MX_TREAD_LOCAL __declspec(thread) -#endif +#endif // __GNUC__ #ifndef MX_TREAD_LOCAL #message("Warning: Threadlocal is not enabled"); -#endif +#endif // MX_TREAD_LOCAL /*! * \brief A threadlocal store to store threadlocal variables. @@ -73,13 +73,13 @@ class ThreadLocalStore { lock.unlock(); #else data_.push_back(str); -#endif +#endif // DMLC_ENABLE_STD_THREAD } #if DMLC_ENABLE_STD_THREAD /*! \brief internal mutex */ std::mutex mutex_; -#endif +#endif // DMLC_ENABLE_STD_THREAD /*!\brief internal data */ std::vector data_; };