From 9a0b32268fbc387d0e71daceb7e108de9f8f1d40 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 14 Nov 2016 23:37:17 +0000 Subject: [PATCH] various cleanups Signed-off-by: Ivailo Monev --- src/core/io/qfilesystemwatcher_inotify.cpp | 162 --------------------- src/core/kernel/qcore_unix.cpp | 15 +- src/core/kernel/qcore_unix_p.h | 10 -- src/core/plugin/qlibrary.cpp | 17 +-- src/core/plugin/qlibrary_unix.cpp | 2 +- src/core/tools/qlist.h | 2 +- 6 files changed, 6 insertions(+), 202 deletions(-) diff --git a/src/core/io/qfilesystemwatcher_inotify.cpp b/src/core/io/qfilesystemwatcher_inotify.cpp index cbdf0fdd8..22e6113ba 100644 --- a/src/core/io/qfilesystemwatcher_inotify.cpp +++ b/src/core/io/qfilesystemwatcher_inotify.cpp @@ -52,174 +52,12 @@ #include #include -#if defined(Q_OS_LINUX) #include #include #include #include -#endif - -#if defined(QT_NO_INOTIFY) - -#include - -#if defined(__i386__) -# define __NR_inotify_init 291 -# define __NR_inotify_add_watch 292 -# define __NR_inotify_rm_watch 293 -# define __NR_inotify_init1 332 -#elif defined(__x86_64__) -# define __NR_inotify_init 253 -# define __NR_inotify_add_watch 254 -# define __NR_inotify_rm_watch 255 -# define __NR_inotify_init1 294 -#elif defined(__powerpc__) || defined(__powerpc64__) -# define __NR_inotify_init 275 -# define __NR_inotify_add_watch 276 -# define __NR_inotify_rm_watch 277 -# define __NR_inotify_init1 318 -#elif defined (__ia64__) -# define __NR_inotify_init 1277 -# define __NR_inotify_add_watch 1278 -# define __NR_inotify_rm_watch 1279 -# define __NR_inotify_init1 1318 -#elif defined (__s390__) || defined (__s390x__) -# define __NR_inotify_init 284 -# define __NR_inotify_add_watch 285 -# define __NR_inotify_rm_watch 286 -# define __NR_inotify_init1 324 -#elif defined (__alpha__) -# define __NR_inotify_init 444 -# define __NR_inotify_add_watch 445 -# define __NR_inotify_rm_watch 446 -// no inotify_init1 for the Alpha -#elif defined (__sparc__) || defined (__sparc64__) -# define __NR_inotify_init 151 -# define __NR_inotify_add_watch 152 -# define __NR_inotify_rm_watch 156 -# define __NR_inotify_init1 322 -#elif defined (__arm__) -# define __NR_inotify_init 316 -# define __NR_inotify_add_watch 317 -# define __NR_inotify_rm_watch 318 -# define __NR_inotify_init1 360 -#elif defined (__sh__) -# define __NR_inotify_init 290 -# define __NR_inotify_add_watch 291 -# define __NR_inotify_rm_watch 292 -# define __NR_inotify_init1 332 -#elif defined (__sh64__) -# define __NR_inotify_init 318 -# define __NR_inotify_add_watch 319 -# define __NR_inotify_rm_watch 320 -# define __NR_inotify_init1 360 -#elif defined (__mips__) -# define __NR_inotify_init 284 -# define __NR_inotify_add_watch 285 -# define __NR_inotify_rm_watch 286 -# define __NR_inotify_init1 329 -#elif defined (__hppa__) -# define __NR_inotify_init 269 -# define __NR_inotify_add_watch 270 -# define __NR_inotify_rm_watch 271 -# define __NR_inotify_init1 314 -#elif defined (__avr32__) -# define __NR_inotify_init 240 -# define __NR_inotify_add_watch 241 -# define __NR_inotify_rm_watch 242 -// no inotify_init1 for AVR32 -#elif defined (__mc68000__) -# define __NR_inotify_init 284 -# define __NR_inotify_add_watch 285 -# define __NR_inotify_rm_watch 286 -# define __NR_inotify_init1 328 -#elif defined (__aarch64__) -# define __NR_inotify_init1 26 -# define __NR_inotify_add_watch 27 -# define __NR_inotify_rm_watch 28 -// no inotify_init for aarch64 -#else -# error "This architecture is not supported. Please talk to qt-bugs@trolltech.com" -#endif - -#if !defined(IN_CLOEXEC) && defined(O_CLOEXEC) && defined(__NR_inotify_init1) -# define IN_CLOEXEC O_CLOEXEC -#endif - -QT_BEGIN_NAMESPACE - -#ifdef QT_LINUXBASE -// ### the LSB doesn't standardize syscall, need to wait until glib2.4 is standardized -static inline int syscall(...) { return -1; } -#endif - -static inline int inotify_init() -{ -#ifdef __NR_inotify_init - return syscall(__NR_inotify_init); -#else - return syscall(__NR_inotify_init1, 0); -#endif -} - -static inline int inotify_add_watch(int fd, const char *name, __u32 mask) -{ - return syscall(__NR_inotify_add_watch, fd, name, mask); -} - -static inline int inotify_rm_watch(int fd, __u32 wd) -{ - return syscall(__NR_inotify_rm_watch, fd, wd); -} - -#ifdef IN_CLOEXEC -static inline int inotify_init1(int flags) -{ - return syscall(__NR_inotify_init1, flags); -} -#endif - -// the following struct and values are documented in linux/inotify.h -extern "C" { - -struct inotify_event { - __s32 wd; - __u32 mask; - __u32 cookie; - __u32 len; - char name[0]; -}; - -#define IN_ACCESS 0x00000001 -#define IN_MODIFY 0x00000002 -#define IN_ATTRIB 0x00000004 -#define IN_CLOSE_WRITE 0x00000008 -#define IN_CLOSE_NOWRITE 0x00000010 -#define IN_OPEN 0x00000020 -#define IN_MOVED_FROM 0x00000040 -#define IN_MOVED_TO 0x00000080 -#define IN_CREATE 0x00000100 -#define IN_DELETE 0x00000200 -#define IN_DELETE_SELF 0x00000400 -#define IN_MOVE_SELF 0x00000800 -#define IN_UNMOUNT 0x00002000 -#define IN_Q_OVERFLOW 0x00004000 -#define IN_IGNORED 0x00008000 - -#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) -#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) -} - -QT_END_NAMESPACE - -// --------- inotify.h end ---------- - -#else /* QT_NO_INOTIFY */ - #include -#endif - QT_BEGIN_NAMESPACE QInotifyFileSystemWatcherEngine *QInotifyFileSystemWatcherEngine::create() diff --git a/src/core/kernel/qcore_unix.cpp b/src/core/kernel/qcore_unix.cpp index 76b1112e2..bda14248b 100644 --- a/src/core/kernel/qcore_unix.cpp +++ b/src/core/kernel/qcore_unix.cpp @@ -42,22 +42,13 @@ #include "qcore_unix_p.h" #include "qelapsedtimer.h" -#ifdef Q_OS_NACL -#elif !defined (Q_OS_VXWORKS) -# if !defined(Q_OS_HPUX) || defined(__ia64) -# include -# endif -# include -#else -# include +#if !defined(Q_OS_HPUX) || defined(QT_ARCH_IA64) +# include #endif +#include #include -#ifdef Q_OS_MAC -#include -#endif - QT_BEGIN_NAMESPACE static inline bool time_update(struct timeval *tv, const struct timeval &start, diff --git a/src/core/kernel/qcore_unix_p.h b/src/core/kernel/qcore_unix_p.h index c5c25b384..8fdf7ed4b 100644 --- a/src/core/kernel/qcore_unix_p.h +++ b/src/core/kernel/qcore_unix_p.h @@ -176,7 +176,6 @@ static inline int qt_safe_open(const char *pathname, int flags, mode_t mode = 07 #undef QT_OPEN #define QT_OPEN qt_safe_open -#ifndef Q_OS_VXWORKS // no POSIX pipes in VxWorks // don't call ::pipe // call qt_safe_pipe static inline int qt_safe_pipe(int pipefd[2], int flags = 0) @@ -212,8 +211,6 @@ static inline int qt_safe_pipe(int pipefd[2], int flags = 0) return 0; } -#endif // Q_OS_VXWORKS - // don't call dup or fcntl(F_DUPFD) static inline int qt_safe_dup(int oldfd, int atleast = 0, int flags = FD_CLOEXEC) { @@ -294,9 +291,6 @@ static inline int qt_safe_close(int fd) #undef QT_CLOSE #define QT_CLOSE qt_safe_close -// - Open C does not (yet?) implement these on Symbian OS -// - VxWorks doesn't have processes -#if !defined(Q_OS_VXWORKS) static inline int qt_safe_execve(const char *filename, char *const argv[], char *const envp[]) { @@ -318,9 +312,7 @@ static inline int qt_safe_execvp(const char *file, char *const argv[]) EINTR_LOOP(ret, ::execvp(file, argv)); return ret; } -#endif -#ifndef Q_OS_VXWORKS // no processes on VxWorks static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options) { int ret; @@ -328,8 +320,6 @@ static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options) return ret; } -#endif // Q_OS_VXWORKS - #if !defined(_POSIX_MONOTONIC_CLOCK) # define _POSIX_MONOTONIC_CLOCK -1 #endif diff --git a/src/core/plugin/qlibrary.cpp b/src/core/plugin/qlibrary.cpp index f710204c3..545b3651b 100644 --- a/src/core/plugin/qlibrary.cpp +++ b/src/core/plugin/qlibrary.cpp @@ -523,7 +523,7 @@ bool QLibrary::isLibrary(const QString &fileName) the shared libraries are suffixed with .so. For compatibility, the IPF linker also supports the .sl suffix." */ validSuffixList << QLatin1String("sl"); -# if defined __ia64 +# if defined QT_ARCH_IA64 validSuffixList << QLatin1String("so"); # endif # elif defined(Q_OS_AIX) @@ -605,21 +605,6 @@ bool QLibraryPrivate::isPlugin(QSettings *settings) .arg((QT_VERSION & 0xff00) >> 8) .arg(QLIBRARY_AS_DEBUG ? QLatin1String("debug") : QLatin1String("false")) .arg(fileName); -#ifdef Q_WS_MAC - // On Mac, add the application arch to the reg key in order to - // cache plugin information separately for each arch. This prevents - // Qt from wrongly caching plugin load failures when the archs - // don't match. -#if defined(__x86_64__) - regkey += QLatin1String("-x86_64"); -#elif defined(__i386__) - regkey += QLatin1String("-i386"); -#elif defined(__ppc64__) - regkey += QLatin1String("-ppc64"); -#elif defined(__ppc__) - regkey += QLatin1String("-ppc"); -#endif -#endif // Q_WS_MAC QStringList reg; #ifndef QT_NO_SETTINGS diff --git a/src/core/plugin/qlibrary_unix.cpp b/src/core/plugin/qlibrary_unix.cpp index 5fe8a8ffd..f31a53f5a 100644 --- a/src/core/plugin/qlibrary_unix.cpp +++ b/src/core/plugin/qlibrary_unix.cpp @@ -106,7 +106,7 @@ bool QLibraryPrivate::load_sys() // But since we don't know if we are built on HPUX or HPUXi, // we support both .sl (and .) and .so suffixes but // .so is preferred. -# if defined(__ia64) +# if defined(QT_ARCH_IA64) if (!fullVersion.isEmpty()) { suffixes << QString::fromLatin1(".so.%1").arg(fullVersion); } else { diff --git a/src/core/tools/qlist.h b/src/core/tools/qlist.h index ee0c1959f..2c7577c72 100644 --- a/src/core/tools/qlist.h +++ b/src/core/tools/qlist.h @@ -348,7 +348,7 @@ Q_INLINE_TEMPLATE void QList::node_construct(Node *n, const T &t) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) n->v = new T(t); else if (QTypeInfo::isComplex) new (n) T(t); -#if (defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__IBMCPP__)) && !defined(__OPTIMIZE__) +#if (defined(Q_CC_GNU) || defined(Q_CC_INTEL) || defined(__IBMCPP__)) && !defined(__OPTIMIZE__) // This violates pointer aliasing rules, but it is known to be safe (and silent) // in unoptimized GCC builds (-fno-strict-aliasing). The other compilers which // set the same define are assumed to be safe.