diff options
| -rw-r--r-- | lldb/lldb.xcodeproj/project.pbxproj | 38 | ||||
| -rw-r--r-- | lldb/source/Utility/KQueue.cpp | 87 | ||||
| -rw-r--r-- | lldb/source/Utility/KQueue.h | 72 | ||||
| -rw-r--r-- | lldb/source/Utility/TimeSpecTimeout.cpp | 48 | ||||
| -rw-r--r-- | lldb/source/Utility/TimeSpecTimeout.h | 90 | ||||
| -rw-r--r-- | lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj | 66 |
6 files changed, 379 insertions, 22 deletions
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj index 6b1ab905e98..9f432781824 100644 --- a/lldb/lldb.xcodeproj/project.pbxproj +++ b/lldb/lldb.xcodeproj/project.pbxproj @@ -441,6 +441,10 @@ 26BD407F135D2AE000237D80 /* FileLineResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BD407E135D2ADF00237D80 /* FileLineResolver.cpp */; }; 26C72C94124322890068DC16 /* SBStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C72C93124322890068DC16 /* SBStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; 26C72C961243229A0068DC16 /* SBStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C72C951243229A0068DC16 /* SBStream.cpp */; }; + 26D1803E16CEBFD300EDFB5B /* KQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D1803C16CEBFD300EDFB5B /* KQueue.cpp */; }; + 26D1804216CEDF0700EDFB5B /* TimeSpecTimeout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D1804016CEDF0700EDFB5B /* TimeSpecTimeout.cpp */; }; + 26D1804516CEE12500EDFB5B /* KQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D1804416CEE12500EDFB5B /* KQueue.h */; }; + 26D1804716CEE12C00EDFB5B /* TimeSpecTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D1804616CEE12C00EDFB5B /* TimeSpecTimeout.h */; }; 26D265A2136B40EE002EEE45 /* SharingPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 261B5A5311C3F2AD00AABD0A /* SharingPtr.h */; settings = {ATTRIBUTES = (Public, ); }; }; 26D265BC136B4269002EEE45 /* lldb-public.h in Headers */ = {isa = PBXBuildFile; fileRef = 26651A14133BEC76005B64B7 /* lldb-public.h */; settings = {ATTRIBUTES = (Public, ); }; }; 26D55235159A7DB100708D8D /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D55234159A7DB100708D8D /* libxml2.dylib */; }; @@ -1326,6 +1330,10 @@ 26D0DD5310FE555900271C65 /* BreakpointResolverAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolverAddress.cpp; path = source/Breakpoint/BreakpointResolverAddress.cpp; sourceTree = "<group>"; }; 26D0DD5410FE555900271C65 /* BreakpointResolverFileLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolverFileLine.cpp; path = source/Breakpoint/BreakpointResolverFileLine.cpp; sourceTree = "<group>"; }; 26D0DD5510FE555900271C65 /* BreakpointResolverName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolverName.cpp; path = source/Breakpoint/BreakpointResolverName.cpp; sourceTree = "<group>"; }; + 26D1803C16CEBFD300EDFB5B /* KQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KQueue.cpp; path = source/Utility/KQueue.cpp; sourceTree = "<group>"; }; + 26D1804016CEDF0700EDFB5B /* TimeSpecTimeout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeSpecTimeout.cpp; path = source/Utility/TimeSpecTimeout.cpp; sourceTree = "<group>"; }; + 26D1804416CEE12500EDFB5B /* KQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KQueue.h; path = source/Utility/KQueue.h; sourceTree = "<group>"; }; + 26D1804616CEE12C00EDFB5B /* TimeSpecTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimeSpecTimeout.h; path = source/Utility/TimeSpecTimeout.h; sourceTree = "<group>"; }; 26D27C9D11ED3A4E0024D721 /* ELFHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ELFHeader.cpp; sourceTree = "<group>"; }; 26D27C9E11ED3A4E0024D721 /* ELFHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ELFHeader.h; sourceTree = "<group>"; }; 26D55234159A7DB100708D8D /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = /usr/lib/libxml2.dylib; sourceTree = "<absolute>"; }; @@ -2350,6 +2358,8 @@ 26ECA04213665FED008D1F18 /* ARM_DWARF_Registers.cpp */, 26F996A8119B79C300412154 /* ARM_GCC_Registers.h */, 264723A511FA076E00DE380C /* CleanUp.h */, + 26D1804416CEE12500EDFB5B /* KQueue.h */, + 26D1803C16CEBFD300EDFB5B /* KQueue.cpp */, 94031A9F13CF5B3D00DCFF3C /* PriorityPointerPair.h */, 2682F16B115EDA0D00CCFF99 /* PseudoTerminal.h */, 2682F16A115EDA0D00CCFF99 /* PseudoTerminal.cpp */, @@ -2362,6 +2372,8 @@ 2660D9F611922A1300958FBD /* StringExtractor.cpp */, 2676A094119C93C8008A98EF /* StringExtractorGDBRemote.h */, 2676A093119C93C8008A98EF /* StringExtractorGDBRemote.cpp */, + 26D1804616CEE12C00EDFB5B /* TimeSpecTimeout.h */, + 26D1804016CEDF0700EDFB5B /* TimeSpecTimeout.cpp */, 94EBAC8313D9EE26009BA64E /* PythonPointer.h */, B2462249141AE62200F3D409 /* Utils.h */, ); @@ -3476,8 +3488,10 @@ 260CC63215D04377002BF2E0 /* OptionValueDictionary.h in Headers */, 260CC63315D04377002BF2E0 /* OptionValueEnumeration.h in Headers */, 260CC63415D04377002BF2E0 /* OptionValueFileSpec.h in Headers */, + 26D1804716CEE12C00EDFB5B /* TimeSpecTimeout.h in Headers */, 260CC63515D04377002BF2E0 /* OptionValueFileSpecList.h in Headers */, 260CC63615D04377002BF2E0 /* OptionValueFormat.h in Headers */, + 26D1804516CEE12500EDFB5B /* KQueue.h in Headers */, 260CC63715D04377002BF2E0 /* OptionValueSInt64.h in Headers */, 260CC63815D04377002BF2E0 /* OptionValueString.h in Headers */, 260CC63915D04377002BF2E0 /* OptionValueUInt64.h in Headers */, @@ -3646,7 +3660,7 @@ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0450; + LastUpgradeCheck = 0500; }; buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "lldb" */; compatibilityVersion = "Xcode 3.2"; @@ -3853,6 +3867,7 @@ buildActionMask = 2147483647; files = ( 9456F2241616671900656F91 /* DynamicLibrary.cpp in Sources */, + 26D1804216CEDF0700EDFB5B /* TimeSpecTimeout.cpp in Sources */, 49C8507C1384A786007DB519 /* ProcessDataAllocator.cpp in Sources */, 2689FFDA13353D9D00698AC0 /* lldb.cpp in Sources */, 2689FFDB13353DA300698AC0 /* lldb-log.cpp in Sources */, @@ -4131,6 +4146,7 @@ 26DB3E161379E7AD0080DC73 /* ABIMacOSX_arm.cpp in Sources */, 26DB3E1C1379E7AD0080DC73 /* ABIMacOSX_i386.cpp in Sources */, 26DB3E1F1379E7AD0080DC73 /* ABISysV_x86_64.cpp in Sources */, + 26D1803E16CEBFD300EDFB5B /* KQueue.cpp in Sources */, 26A69C5F137A17A500262477 /* RegisterValue.cpp in Sources */, 2690B3711381D5C300ECFBAE /* Memory.cpp in Sources */, 9A9E1EFF1398086D005AC039 /* InputReaderStack.cpp in Sources */, @@ -4347,6 +4363,11 @@ ); CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; GCC_C_LANGUAGE_STANDARD = c99; @@ -4407,6 +4428,11 @@ "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_C_LANGUAGE_STANDARD = c99; @@ -4773,6 +4799,11 @@ ); CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_C_LANGUAGE_STANDARD = c99; @@ -5257,6 +5288,11 @@ ); CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; GCC_C_LANGUAGE_STANDARD = c99; diff --git a/lldb/source/Utility/KQueue.cpp b/lldb/source/Utility/KQueue.cpp new file mode 100644 index 00000000000..c0aace44895 --- /dev/null +++ b/lldb/source/Utility/KQueue.cpp @@ -0,0 +1,87 @@ +//===--------------------- KQueue.cpp ---------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "KQueue.h" + +#ifdef LLDB_USE_KQUEUES + +#include "lldb/Core/Error.h" + +#include "Utility/TimeSpecTimeout.h" + +using namespace lldb_private; + +int +KQueue::GetFD (bool can_create) +{ + if (!IsValid () && can_create) + m_fd = kqueue(); + return m_fd; +} + +int +KQueue::Close () +{ + const int fd = m_fd; + if (fd >= 0) + { + m_fd = -1; + return close(fd); + } + return 0; +} + +int +KQueue::WaitForEvents (struct kevent *events, int num_events, Error &error, uint32_t timeout_usec) +{ + const int fd_kqueue = GetFD(false); + if (fd_kqueue >= 0) + { + TimeSpecTimeout timeout; + const struct timespec *timeout_ptr = timeout.SetRelativeTimeoutMircoSeconds32 (timeout_usec); + int result = ::kevent(fd_kqueue, NULL, 0, events, num_events, timeout_ptr); + if (result == -1) + error.SetErrorToErrno(); + else + error.Clear(); + return result; + } + else + { + error.SetErrorString("invalid kqueue fd"); + } + return 0; +} + +bool +KQueue::AddFDEvent (int fd, bool read, bool write, bool vnode) +{ + const int fd_kqueue = GetFD(true); + if (fd_kqueue >= 0) + { + struct kevent event; + event.ident = fd; + event.filter = 0; + if (read) + event.filter |= EVFILT_READ; + if (write) + event.filter |= EVFILT_WRITE; + if (vnode) + event.filter |= EVFILT_VNODE; + event.flags = EV_ADD | EV_CLEAR; + event.fflags = 0; + event.data = 0; + event.udata = NULL; + int err = ::kevent(fd_kqueue, &event, 1, NULL, 0, NULL); + return err == 0; + } + return false; +} + +#endif diff --git a/lldb/source/Utility/KQueue.h b/lldb/source/Utility/KQueue.h new file mode 100644 index 00000000000..8a23256f760 --- /dev/null +++ b/lldb/source/Utility/KQueue.h @@ -0,0 +1,72 @@ +//===--------------------- KQueue.h -----------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef utility_KQueue_h_ +#define utility_KQueue_h_ + +#if defined(__APPLE__) +#define LLDB_USE_KQUEUES +#endif + +#ifdef LLDB_USE_KQUEUES + +#include <sys/types.h> +#include <sys/event.h> +#include <sys/time.h> + +#include "lldb-defines.h" + +namespace lldb_private { + +class KQueue +{ +public: + KQueue() : + m_fd(-1) + { + } + + ~KQueue() + { + Close(); + } + + bool + IsValid () const + { + return m_fd >= 0; + } + + int + GetFD (bool can_create); + + int + Close (); + + bool + AddFDEvent (int fd, + bool read, + bool write, + bool vnode); + + int + WaitForEvents (struct kevent *events, + int num_events, + Error &error, + uint32_t timeout_usec = UINT32_MAX); // UINT32_MAX means infinite timeout + +protected: + int m_fd; // The kqueue fd +}; + +} // namespace lldb_private + +#endif // #ifdef LLDB_USE_KQUEUES + +#endif // #ifndef utility_KQueue_h_ diff --git a/lldb/source/Utility/TimeSpecTimeout.cpp b/lldb/source/Utility/TimeSpecTimeout.cpp new file mode 100644 index 00000000000..33b3b4e6c39 --- /dev/null +++ b/lldb/source/Utility/TimeSpecTimeout.cpp @@ -0,0 +1,48 @@ +//===--------------------- TimeSpecTimeout.cpp ------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "TimeSpecTimeout.h" + +using namespace lldb_private; + +const struct timespec * +TimeSpecTimeout::SetAbsoluteTimeoutMircoSeconds32 (uint32_t timeout_usec) +{ + if (timeout_usec == UINT32_MAX) + { + m_infinite = true; + } + else + { + m_infinite = false; + TimeValue time_value(TimeValue::Now()); + time_value.OffsetWithMicroSeconds(timeout_usec); + m_timespec = time_value.GetAsTimeSpec(); + } + return GetTimeSpecPtr (); +} + +const struct timespec * +TimeSpecTimeout::SetRelativeTimeoutMircoSeconds32 (uint32_t timeout_usec) +{ + if (timeout_usec == UINT32_MAX) + { + m_infinite = true; + } + else + { + m_infinite = false; + TimeValue time_value; + time_value.OffsetWithMicroSeconds(timeout_usec); + m_timespec = time_value.GetAsTimeSpec(); + } + return GetTimeSpecPtr (); +} + + diff --git a/lldb/source/Utility/TimeSpecTimeout.h b/lldb/source/Utility/TimeSpecTimeout.h new file mode 100644 index 00000000000..32cdd067658 --- /dev/null +++ b/lldb/source/Utility/TimeSpecTimeout.h @@ -0,0 +1,90 @@ +//===--------------------- TimeSpecTimeout.h --------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef utility_TimeSpecTimeout_h_ +#define utility_TimeSpecTimeout_h_ + +#include "lldb/Host/TimeValue.h" + +namespace lldb_private { + +class TimeSpecTimeout +{ +public: + TimeSpecTimeout() : + m_infinite (false) + { + m_timespec.tv_sec = 0; + m_timespec.tv_nsec = 0; + } + ~TimeSpecTimeout() + { + } + + //---------------------------------------------------------------------- + /// Sets the timespec pointer correctly given a timeout relative to the + /// current time. This function should be called immediately prior to + /// calling the function you will use this timeout with since time can + /// elapse between when this function is called and when the timeout is + /// used. + /// + /// @param[in] timeout_usec + /// The timeout in micro seconds. If timeout_usec is UINT32_MAX, the + /// timeout should be set to INFINITE. Otherwise the current time is + /// filled into the timespec and \a timeout_usec is added to the + /// current time. + /// + /// @return + /// If the timeout is INFINITE, then return NULL, otherwise return + /// a pointer to the timespec with the appropriate timeout value. + //---------------------------------------------------------------------- + const struct timespec * + SetAbsoluteTimeoutMircoSeconds32 (uint32_t timeout_usec); + + //---------------------------------------------------------------------- + /// Sets the timespec pointer correctly given a relative time in micro + /// seconds. + /// + /// @param[in] timeout_usec + /// The timeout in micro seconds. If timeout_usec is UINT32_MAX, the + /// timeout should be set to INFINITE. Otherwise \a timeout_usec + /// is correctly placed into the timespec. + /// + /// @return + /// If the timeout is INFINITE, then return NULL, otherwise return + /// a pointer to the timespec with the appropriate timeout value. + //---------------------------------------------------------------------- + const struct timespec * + SetRelativeTimeoutMircoSeconds32 (uint32_t timeout_usec); + + //---------------------------------------------------------------------- + /// Gets the timespec pointer that is appropriate for the timeout + /// specified. This function should only be used after a call to + /// SetRelativeTimeoutXXX() functions. + /// + /// @return + /// If the timeout is INFINITE, then return NULL, otherwise return + /// a pointer to the timespec with the appropriate timeout value. + //---------------------------------------------------------------------- + const struct timespec * + GetTimeSpecPtr () const + { + if (m_infinite) + return NULL; + return &m_timespec; + } + +protected: + struct timespec m_timespec; + bool m_infinite; +}; + +} // namespace lldb_private + +#endif // #ifndef utility_TimeSpecTimeout_h_ diff --git a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj index f2edfe37e7e..e736e222628 100644 --- a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj +++ b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj @@ -390,7 +390,7 @@ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0430; + LastUpgradeCheck = 0500; }; buildConfigurationList = 1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "debugserver" */; compatibilityVersion = "Xcode 3.2"; @@ -485,10 +485,16 @@ x86_64, i386, ); + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 198; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = ""; @@ -507,10 +513,16 @@ armv7s, ); "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CURRENT_PROJECT_VERSION = 198; DEAD_CODE_STRIPPING = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = ""; @@ -533,10 +545,16 @@ x86_64, i386, ); + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CURRENT_PROJECT_VERSION = 198; DEAD_CODE_STRIPPING = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; SDKROOT = ""; STRIPFLAGS = "-x"; @@ -557,11 +575,11 @@ CURRENT_PROJECT_VERSION = 198; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks; - "FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = ( + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=iphoneos*]" = ( "$(SDKROOT)/System/Library/PrivateFrameworks", "$(SDKROOT)/Developer/Library/PrivateFrameworks", ); - "FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=macosx*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_BUILDANDINTEGRATION; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; @@ -570,21 +588,21 @@ "INSTALL_PATH[sdk=iphoneos*]" = /Developer/usr/bin/; LLDB_DEBUGSERVER = 1; OTHER_CFLAGS = "-Wparentheses"; - "OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_CFLAGS[arch=*][sdk=iphoneos*]" = ( "-Wparentheses", "-DWITH_LOCKDOWN", "-DWITH_SPRINGBOARD", "-DUSE_ARM_DISASSEMBLER_FRAMEWORK", "-DOS_OBJECT_USE_OBJC=0", ); - "OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)"; + "OTHER_CPLUSPLUSFLAGS[arch=*][sdk=iphoneos*]" = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = ( "-sectcreate", __TEXT, __info_plist, "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist", ); - "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_LDFLAGS[arch=*][sdk=iphoneos*]" = ( "-framework", SpringBoardServices, "-framework", @@ -612,11 +630,11 @@ COPY_PHASE_STRIP = YES; CURRENT_PROJECT_VERSION = 198; FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks; - "FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = ( + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=iphoneos*]" = ( "$(SDKROOT)/System/Library/PrivateFrameworks", "$(SDKROOT)/Developer/Library/PrivateFrameworks", ); - "FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=macosx*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -625,21 +643,21 @@ INSTALL_PATH = /usr/bin; LLDB_DEBUGSERVER = 1; OTHER_CFLAGS = "-Wparentheses"; - "OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_CFLAGS[arch=*][sdk=iphoneos*]" = ( "-Wparentheses", "-DWITH_LOCKDOWN", "-DWITH_SPRINGBOARD", "-DUSE_ARM_DISASSEMBLER_FRAMEWORK", "-DOS_OBJECT_USE_OBJC=0", ); - "OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)"; + "OTHER_CPLUSPLUSFLAGS[arch=*][sdk=iphoneos*]" = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = ( "-sectcreate", __TEXT, __info_plist, "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist", ); - "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_LDFLAGS[arch=*][sdk=iphoneos*]" = ( "-framework", SpringBoardServices, "-framework", @@ -668,11 +686,11 @@ CURRENT_PROJECT_VERSION = 198; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks; - "FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = ( + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=iphoneos*]" = ( "$(SDKROOT)/System/Library/PrivateFrameworks", "$(SDKROOT)/Developer/Library/PrivateFrameworks", ); - "FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=macosx*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; @@ -680,21 +698,21 @@ INSTALL_PATH = /usr/bin; LLDB_DEBUGSERVER = 1; OTHER_CFLAGS = "-Wparentheses"; - "OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_CFLAGS[arch=*][sdk=iphoneos*]" = ( "-Wparentheses", "-DWITH_LOCKDOWN", "-DWITH_SPRINGBOARD", "-DUSE_ARM_DISASSEMBLER_FRAMEWORK", "-DOS_OBJECT_USE_OBJC=0", ); - "OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)"; + "OTHER_CPLUSPLUSFLAGS[arch=*][sdk=iphoneos*]" = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = ( "-sectcreate", __TEXT, __info_plist, "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist", ); - "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_LDFLAGS[arch=*][sdk=iphoneos*]" = ( "-framework", SpringBoardServices, "-framework", @@ -722,10 +740,16 @@ x86_64, i386, ); + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 198; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = ""; @@ -747,11 +771,11 @@ COPY_PHASE_STRIP = YES; CURRENT_PROJECT_VERSION = 198; FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks; - "FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = ( + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=iphoneos*]" = ( "$(SDKROOT)/System/Library/PrivateFrameworks", "$(SDKROOT)/Developer/Library/PrivateFrameworks", ); - "FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; + "FRAMEWORK_SEARCH_PATHS[arch=*][sdk=macosx*]" = "$(SDKROOT)/System/Library/PrivateFrameworks"; GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -760,21 +784,21 @@ INSTALL_PATH = /usr/bin; LLDB_DEBUGSERVER = 1; OTHER_CFLAGS = "-Wparentheses"; - "OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_CFLAGS[arch=*][sdk=iphoneos*]" = ( "-Wparentheses", "-DWITH_LOCKDOWN", "-DWITH_SPRINGBOARD", "-DUSE_ARM_DISASSEMBLER_FRAMEWORK", "-DOS_OBJECT_USE_OBJC=0", ); - "OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)"; + "OTHER_CPLUSPLUSFLAGS[arch=*][sdk=iphoneos*]" = "$(OTHER_CFLAGS)"; OTHER_LDFLAGS = ( "-sectcreate", __TEXT, __info_plist, "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist", ); - "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = ( + "OTHER_LDFLAGS[arch=*][sdk=iphoneos*]" = ( "-framework", SpringBoardServices, "-framework", |

