This is amazing, thank you.  I was actually stuck on this earlier and unsure how to fix it.<br><div class="gmail_quote">On Mon, Mar 16, 2015 at 8:35 PM David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: dblaikie<br>
Date: Mon Mar 16 22:32:21 2015<br>
New Revision: 232461<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=232461&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=232461&view=rev</a><br>
Log:<br>
Fix the clang -Werror build & make the unit tests link under Linux<br>
<br>
The order of libraries passed to the linker didn't work under linux (you<br>
need the llvm libraries first, then the lldb libraries). I modelled this<br>
after clang's setup here. Seemed simple enough to just be consistent.<br>
<br>
Modified:<br>
    lldb/trunk/scripts/Python/<u></u>python-wrapper.swig<br>
    lldb/trunk/unittests/<u></u>CMakeLists.txt<br>
    lldb/trunk/unittests/Host/<u></u>CMakeLists.txt<br>
    lldb/trunk/unittests/<u></u>Interpreter/CMakeLists.txt<br>
    lldb/trunk/unittests/<u></u>Interpreter/TestArgs.cpp<br>
    lldb/trunk/unittests/Plugins/<u></u>Process/Linux/CMakeLists.txt<br>
    lldb/trunk/unittests/Plugins/<u></u>Process/Linux/<u></u>ThreadStateCoordinatorTest.cpp<br>
    lldb/trunk/unittests/Utility/<u></u>CMakeLists.txt<br>
    lldb/trunk/unittests/Utility/<u></u>StringExtractorTest.cpp<br>
<br>
Modified: lldb/trunk/scripts/Python/<u></u>python-wrapper.swig<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/python-wrapper.swig?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/scripts/<u></u>Python/python-wrapper.swig?<u></u>rev=232461&r1=232460&r2=<u></u>232461&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/scripts/Python/<u></u>python-wrapper.swig (original)<br>
+++ lldb/trunk/scripts/Python/<u></u>python-wrapper.swig Mon Mar 16 22:32:21 2015<br>
@@ -919,28 +919,22 @@ LLDBSwigPythonCallCommandObjec<u></u>t<br>
     lldb::SBDebugger debugger_sb(debugger);<br>
     lldb::SBExecutionContext exe_ctx_sb(exe_ctx_ref_sp);<br>
<br>
-    bool retval = false;<br>
+    PyErr_Cleaner py_err_cleaner(true);<br>
<br>
-    {<br>
-        PyErr_Cleaner py_err_cleaner(true);<br>
+    PyCallable pfunc = PyCallable::<u></u>FindWithMemberFunction(<u></u>implementor,"__call__");<br>
<br>
-        PyCallable pfunc = PyCallable::<u></u>FindWithMemberFunction(<u></u>implementor,"__call__");<br>
+    if (!pfunc)<br>
+        return false;<br>
<br>
-        if (!pfunc)<br>
-            return NULL;<br>
+    // pass the pointer-to cmd_retobj_sb or watch the underlying object disappear from under you<br>
+    // see comment above for SBCommandReturnObjectReleaser for further details<br>
+    PyObject* pvalue = NULL;<br>
<br>
-        // pass the pointer-to cmd_retobj_sb or watch the underlying object disappear from under you<br>
-        // see comment above for SBCommandReturnObjectReleaser for further details<br>
-        PyObject* pvalue = NULL;<br>
+    pvalue = pfunc(debugger_sb, args, exe_ctx_sb, &cmd_retobj_sb);<br>
<br>
-        pvalue = pfunc(debugger_sb, args, exe_ctx_sb, &cmd_retobj_sb);<br>
+    Py_XDECREF (pvalue);<br>
<br>
-        Py_XDECREF (pvalue);<br>
-<br>
-        retval = true;<br>
-    }<br>
-<br>
-    return retval;<br>
+    return true;<br>
 }<br>
<br>
 SWIGEXPORT void*<br>
<br>
Modified: lldb/trunk/unittests/<u></u>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/CMakeLists.txt?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>CMakeLists.txt?rev=232461&r1=<u></u>232460&r2=232461&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/<u></u>CMakeLists.txt (original)<br>
+++ lldb/trunk/unittests/<u></u>CMakeLists.txt Mon Mar 16 22:32:21 2015<br>
@@ -15,9 +15,6 @@ endif ()<br>
 # Will compile the list of files together and link against<br>
 function(add_lldb_unittest test_name)<br>
   add_unittest(LLDBUnitTests ${test_name} ${ARGN})<br>
-<br>
-  target_link_libraries(${test_<u></u>name} lldbBase)<br>
-  target_link_libraries(${test_<u></u>name} ${LLDB_USED_LIBS})<br>
 endfunction()<br>
<br>
 add_subdirectory(Host)<br>
<br>
Modified: lldb/trunk/unittests/Host/<u></u>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Host/CMakeLists.txt?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Host/CMakeLists.txt?rev=<u></u>232461&r1=232460&r2=232461&<u></u>view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/Host/<u></u>CMakeLists.txt (original)<br>
+++ lldb/trunk/unittests/Host/<u></u>CMakeLists.txt Mon Mar 16 22:32:21 2015<br>
@@ -3,3 +3,8 @@ add_lldb_unittest(HostTests<br>
   SocketTest.cpp<br>
   SocketTestMock.cpp<br>
   )<br>
+<br>
+target_link_libraries(<u></u>HostTests<br>
+  lldbBase<br>
+  ${PYTHON_LIBRARY}<br>
+  )<br>
<br>
Modified: lldb/trunk/unittests/<u></u>Interpreter/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Interpreter/CMakeLists.txt?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Interpreter/CMakeLists.txt?<u></u>rev=232461&r1=232460&r2=<u></u>232461&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/<u></u>Interpreter/CMakeLists.txt (original)<br>
+++ lldb/trunk/unittests/<u></u>Interpreter/CMakeLists.txt Mon Mar 16 22:32:21 2015<br>
@@ -1,8 +1,8 @@<br>
-set(LLDB_USED_LIBS<br>
-  lldbInterpreter<br>
-  ${PYTHON_LIBRARY}<br>
-  )<br>
-<br>
 add_lldb_unittest(<u></u>InterpreterTests<br>
   TestArgs.cpp<br>
   )<br>
+<br>
+target_link_libraries(<u></u>InterpreterTests<br>
+  lldbInterpreter<br>
+  ${PYTHON_LIBRARY}<br>
+  )<br>
<br>
Modified: lldb/trunk/unittests/<u></u>Interpreter/TestArgs.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Interpreter/TestArgs.cpp?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Interpreter/TestArgs.cpp?rev=<u></u>232461&r1=232460&r2=232461&<u></u>view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/<u></u>Interpreter/TestArgs.cpp (original)<br>
+++ lldb/trunk/unittests/<u></u>Interpreter/TestArgs.cpp Mon Mar 16 22:32:21 2015<br>
@@ -17,7 +17,7 @@ TEST(ArgsTest, TestSingleArg)<br>
 {<br>
     Args args;<br>
     args.SetCommandString("arg");<br>
-    EXPECT_EQ(1, args.GetArgumentCount());<br>
+    EXPECT_EQ(1u, args.GetArgumentCount());<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(0), "arg");<br>
 }<br>
<br>
@@ -25,7 +25,7 @@ TEST(ArgsTest, TestSingleQuotedArgWithSp<br>
 {<br>
     Args args;<br>
     args.SetCommandString("\"arg with space\"");<br>
-    EXPECT_EQ(1, args.GetArgumentCount());<br>
+    EXPECT_EQ(1u, args.GetArgumentCount());<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(0), "arg with space");<br>
 }<br>
<br>
@@ -33,7 +33,7 @@ TEST(ArgsTest, TestSingleArgWithQuotedSp<br>
 {<br>
     Args args;<br>
     args.SetCommandString("arg\\ with\\ space");<br>
-    EXPECT_EQ(1, args.GetArgumentCount());<br>
+    EXPECT_EQ(1u, args.GetArgumentCount());<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(0), "arg with space");<br>
 }<br>
<br>
@@ -41,7 +41,7 @@ TEST(ArgsTest, TestMultipleArgs)<br>
 {<br>
     Args args;<br>
     args.SetCommandString("this has multiple args");<br>
-    EXPECT_EQ(4, args.GetArgumentCount());<br>
+    EXPECT_EQ(4u, args.GetArgumentCount());<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(0), "this");<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(1), "has");<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(2), "multiple");<br>
@@ -52,9 +52,9 @@ TEST(ArgsTest, TestOverwriteArgs)<br>
 {<br>
     Args args;<br>
     args.SetCommandString("this has multiple args");<br>
-    EXPECT_EQ(4, args.GetArgumentCount());<br>
+    EXPECT_EQ(4u, args.GetArgumentCount());<br>
     args.SetCommandString("arg");<br>
-    EXPECT_EQ(1, args.GetArgumentCount());<br>
+    EXPECT_EQ(1u, args.GetArgumentCount());<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(0), "arg");<br>
 }<br>
<br>
@@ -62,9 +62,9 @@ TEST(ArgsTest, TestAppendArg)<br>
 {<br>
     Args args;<br>
     args.SetCommandString("first_<u></u>arg");<br>
-    EXPECT_EQ(1, args.GetArgumentCount());<br>
+    EXPECT_EQ(1u, args.GetArgumentCount());<br>
     args.AppendArgument("second_<u></u>arg");<br>
-    EXPECT_EQ(2, args.GetArgumentCount());<br>
+    EXPECT_EQ(2u, args.GetArgumentCount());<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(0), "first_arg");<br>
     EXPECT_STREQ(args.<u></u>GetArgumentAtIndex(1), "second_arg");<br>
 }<br>
<br>
Modified: lldb/trunk/unittests/Plugins/<u></u>Process/Linux/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Plugins/Process/Linux/CMakeLists.txt?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Plugins/Process/Linux/<u></u>CMakeLists.txt?rev=232461&r1=<u></u>232460&r2=232461&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/Plugins/<u></u>Process/Linux/CMakeLists.txt (original)<br>
+++ lldb/trunk/unittests/Plugins/<u></u>Process/Linux/CMakeLists.txt Mon Mar 16 22:32:21 2015<br>
@@ -2,3 +2,8 @@ add_lldb_unittest(<u></u>ProcessLinuxTests<br>
   ThreadStateCoordinatorTest.cpp<br>
   ThreadStateCoordinatorTestMock<u></u>.cpp<br>
   )<br>
+<br>
+target_link_libraries(<u></u>ProcessLinuxTests<br>
+  lldbBase<br>
+  ${PYTHON_LIBRARY}<br>
+  )<br>
<br>
Modified: lldb/trunk/unittests/Plugins/<u></u>Process/Linux/<u></u>ThreadStateCoordinatorTest.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Plugins/Process/Linux/ThreadStateCoordinatorTest.cpp?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Plugins/Process/Linux/<u></u>ThreadStateCoordinatorTest.<u></u>cpp?rev=232461&r1=232460&r2=<u></u>232461&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/Plugins/<u></u>Process/Linux/<u></u>ThreadStateCoordinatorTest.cpp (original)<br>
+++ lldb/trunk/unittests/Plugins/<u></u>Process/Linux/<u></u>ThreadStateCoordinatorTest.cpp Mon Mar 16 22:32:21 2015<br>
@@ -11,12 +11,6 @@ namespace<br>
     const ThreadStateCoordinator::<u></u>ThreadIDSet EMPTY_THREAD_ID_SET;<br>
<br>
     void<br>
-    NOPLogger (const char *format, va_list args)<br>
-    {<br>
-        // Do nothing.<br>
-    }<br>
-<br>
-    void<br>
     StdoutLogger (const char *format, va_list args)<br>
     {<br>
         // Print to stdout.<br>
@@ -279,7 +273,7 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
     ASSERT_EQ (false, DidFireDeferredNotification ());<br>
<br>
     // Shouldn't have triggered stop request due to unknown tid.<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
 }<br>
<br>
 TEST_F (ThreadStateCoordinatorTest, CallAfterThreadsStopFiresWhenN<u></u>oPendingStops)<br>
@@ -358,13 +352,13 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
<br>
     // Neither trigger should have gone off yet.<br>
     ASSERT_EQ (false, DidFireDeferredNotification ());<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
<br>
     // Process next event.<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
<br>
     // Now the request thread stops should have been called for the pending stop tids.<br>
-    ASSERT_EQ (2, GetRequestedStopCount ());<br>
+    ASSERT_EQ (2u, GetRequestedStopCount ());<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_STOP_TID));<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_STOP_TID_02));<br>
<br>
@@ -437,7 +431,7 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
<br>
     // Neither trigger should have gone off yet.<br>
     ASSERT_EQ (false, DidFireDeferredNotification ());<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
<br>
     // Process next event.<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
@@ -471,7 +465,7 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
<br>
     // Neither trigger should have gone off yet.<br>
     ASSERT_EQ (false, DidFireDeferredNotification ());<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
<br>
     // Process next event.<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
@@ -509,7 +503,7 @@ TEST_F (ThreadStateCoordinatorTest, Exis<br>
<br>
     // Neither trigger should have gone off yet.<br>
     ASSERT_EQ (false, DidFireDeferredNotification ());<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
<br>
     // Process next event.<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
@@ -524,7 +518,7 @@ TEST_F (ThreadStateCoordinatorTest, Exis<br>
     SetupKnownRunningThread (NEW_THREAD_TID);<br>
<br>
     // We should have just received a stop request for the new thread id.<br>
-    ASSERT_EQ (2, GetRequestedStopCount ());<br>
+    ASSERT_EQ (2u, GetRequestedStopCount ());<br>
     ASSERT_EQ (true, DidRequestStopForTid (NEW_THREAD_TID));<br>
<br>
     // Now report the original pending tid stopped.  This should no longer<br>
@@ -688,13 +682,13 @@ TEST_F (ThreadStateCoordinatorTest, Resu<br>
<br>
     // Neither trigger should have gone off yet.<br>
     ASSERT_EQ (false, DidFireDeferredNotification ());<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
<br>
     // Execute CallAfterThreadsStop.<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
<br>
     // Both TID A and TID B should have had stop requests made.<br>
-    ASSERT_EQ (2, GetRequestedStopCount ());<br>
+    ASSERT_EQ (2u, GetRequestedStopCount ());<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_TID_A));<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_TID_B));<br>
<br>
@@ -748,7 +742,7 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
     ASSERT_EQ (TRIGGERING_TID, GetDeferredNotificationTID ());<br>
<br>
     // And no stop requests should have been made.<br>
-    ASSERT_EQ (0, GetRequestedStopCount ());<br>
+    ASSERT_EQ (0u, GetRequestedStopCount ());<br>
 }<br>
<br>
 TEST_F (ThreadStateCoordinatorTest, CallAfterRunningThreadsStopReq<u></u>uestsTwoPendingStops)<br>
@@ -768,7 +762,7 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
<br>
     // We should have two stop requests for the two threads currently running.<br>
-    ASSERT_EQ (2, GetRequestedStopCount ());<br>
+    ASSERT_EQ (2u, GetRequestedStopCount ());<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_STOP_TID));<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_STOP_TID_02));<br>
<br>
@@ -805,7 +799,7 @@ TEST_F (ThreadStateCoordinatorTest, Call<br>
     ASSERT_PROCESS_NEXT_EVENT_<u></u>SUCCEEDS ();<br>
<br>
     // We should have two stop requests for the two threads currently running.<br>
-    ASSERT_EQ (1, GetRequestedStopCount ());<br>
+    ASSERT_EQ (1u, GetRequestedStopCount ());<br>
     ASSERT_EQ (true, DidRequestStopForTid (PENDING_STOP_TID));<br>
<br>
     // But the deferred stop notification should not have fired yet.<br>
<br>
Modified: lldb/trunk/unittests/Utility/<u></u>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Utility/CMakeLists.txt?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Utility/CMakeLists.txt?rev=<u></u>232461&r1=232460&r2=232461&<u></u>view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/Utility/<u></u>CMakeLists.txt (original)<br>
+++ lldb/trunk/unittests/Utility/<u></u>CMakeLists.txt Mon Mar 16 22:32:21 2015<br>
@@ -2,3 +2,8 @@ add_lldb_unittest(UtilityTests<br>
   StringExtractorTest.cpp<br>
   UriParserTest.cpp<br>
   )<br>
+<br>
+target_link_libraries(<u></u>UtilityTests<br>
+  lldbBase<br>
+  ${PYTHON_LIBRARY}<br>
+  )<br>
<br>
Modified: lldb/trunk/unittests/Utility/<u></u>StringExtractorTest.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Utility/StringExtractorTest.cpp?rev=232461&r1=232460&r2=232461&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/unittests/<u></u>Utility/StringExtractorTest.<u></u>cpp?rev=232461&r1=232460&r2=<u></u>232461&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/unittests/Utility/<u></u>StringExtractorTest.cpp (original)<br>
+++ lldb/trunk/unittests/Utility/<u></u>StringExtractorTest.cpp Mon Mar 16 22:32:21 2015<br>
@@ -16,10 +16,10 @@ TEST_F (StringExtractorTest, InitEmpty)<br>
     StringExtractor ex (kEmptyString);<br>
<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
     ASSERT_STREQ (kEmptyString, ex.GetStringRef().c_str());<br>
     ASSERT_EQ (true, ex.Empty());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -29,7 +29,7 @@ TEST_F (StringExtractorTest, InitMisc)<br>
     StringExtractor ex (kInitMiscString);<br>
<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
     ASSERT_STREQ (kInitMiscString, ex.GetStringRef().c_str());<br>
     ASSERT_EQ (false, ex.Empty());<br>
     ASSERT_EQ (sizeof(kInitMiscString)-1, ex.GetBytesLeft());<br>
@@ -43,9 +43,9 @@ TEST_F (StringExtractorTest, DecodeHexU8<br>
<br>
     ASSERT_EQ (-1, ex.DecodeHexU8());<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
     ASSERT_EQ (true, ex.Empty());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -56,8 +56,8 @@ TEST_F (StringExtractorTest, DecodeHexU8<br>
<br>
     ASSERT_EQ (-1, ex.DecodeHexU8());<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
-    ASSERT_EQ (1, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
+    ASSERT_EQ (1u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('1', *ex.Peek());<br>
 }<br>
<br>
@@ -68,8 +68,8 @@ TEST_F (StringExtractorTest, DecodeHexU8<br>
<br>
     ASSERT_EQ (-1, ex.DecodeHexU8());<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
-    ASSERT_EQ (2, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
+    ASSERT_EQ (2u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('x', *ex.Peek());<br>
 }<br>
<br>
@@ -80,8 +80,8 @@ TEST_F (StringExtractorTest, DecodeHexU8<br>
<br>
     ASSERT_EQ (-1, ex.DecodeHexU8());<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
-    ASSERT_EQ (2, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
+    ASSERT_EQ (2u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('a', *ex.Peek());<br>
 }<br>
<br>
@@ -92,8 +92,8 @@ TEST_F (StringExtractorTest, DecodeHexU8<br>
<br>
     ASSERT_EQ (0x12, ex.DecodeHexU8());<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (2, ex.GetFilePos());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (2u, ex.GetFilePos());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -104,8 +104,8 @@ TEST_F (StringExtractorTest, DecodeHexU8<br>
<br>
     ASSERT_EQ (0x12, ex.DecodeHexU8());<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (2, ex.GetFilePos());<br>
-    ASSERT_EQ (2, ex.GetBytesLeft());<br>
+    ASSERT_EQ (2u, ex.GetFilePos());<br>
+    ASSERT_EQ (2u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('3', *ex.Peek());<br>
 }<br>
<br>
@@ -118,7 +118,7 @@ TEST_F (StringExtractorTest, GetHexU8_Un<br>
     ASSERT_EQ (false, ex.IsGood());<br>
     ASSERT_EQ (UINT64_MAX, ex.GetFilePos());<br>
     ASSERT_EQ (true, ex.Empty());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -130,7 +130,7 @@ TEST_F (StringExtractorTest, GetHexU8_Un<br>
     ASSERT_EQ (0xbc, ex.GetHexU8(0xbc));<br>
     ASSERT_EQ (false, ex.IsGood());<br>
     ASSERT_EQ (UINT64_MAX, ex.GetFilePos());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -142,7 +142,7 @@ TEST_F (StringExtractorTest, GetHexU8_In<br>
     ASSERT_EQ (0xcd, ex.GetHexU8(0xcd));<br>
     ASSERT_EQ (false, ex.IsGood());<br>
     ASSERT_EQ (UINT64_MAX, ex.GetFilePos());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -153,8 +153,8 @@ TEST_F (StringExtractorTest, GetHexU8_Ex<br>
<br>
     ASSERT_EQ (0x12, ex.GetHexU8(0x12));<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (2, ex.GetFilePos());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (2u, ex.GetFilePos());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -165,8 +165,8 @@ TEST_F (StringExtractorTest, GetHexU8_Ex<br>
<br>
     ASSERT_EQ (0x12, ex.GetHexU8(0x12));<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (2, ex.GetFilePos());<br>
-    ASSERT_EQ (2, ex.GetBytesLeft());<br>
+    ASSERT_EQ (2u, ex.GetFilePos());<br>
+    ASSERT_EQ (2u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('3', *ex.Peek());<br>
 }<br>
<br>
@@ -180,7 +180,7 @@ TEST_F (StringExtractorTest, GetHexU8_Un<br>
     ASSERT_EQ (false, ex.IsGood()); // this result seems inconsistent with kSetEofOnFail == false<br>
     ASSERT_EQ (UINT64_MAX, ex.GetFilePos());<br>
     ASSERT_EQ (true, ex.Empty());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -192,8 +192,8 @@ TEST_F (StringExtractorTest, GetHexU8_Un<br>
<br>
     ASSERT_EQ (0xbc, ex.GetHexU8(0xbc, kSetEofOnFail));<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
-    ASSERT_EQ (1, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
+    ASSERT_EQ (1u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('1', *ex.Peek());<br>
 }<br>
<br>
@@ -205,8 +205,8 @@ TEST_F (StringExtractorTest, GetHexU8_In<br>
<br>
     ASSERT_EQ (0xcd, ex.GetHexU8(0xcd, kSetEofOnFail));<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (0, ex.GetFilePos());<br>
-    ASSERT_EQ (2, ex.GetBytesLeft());<br>
+    ASSERT_EQ (0u, ex.GetFilePos());<br>
+    ASSERT_EQ (2u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('x', *ex.Peek());<br>
 }<br>
<br>
@@ -218,8 +218,8 @@ TEST_F (StringExtractorTest, GetHexU8_Ex<br>
<br>
     ASSERT_EQ (0x12, ex.GetHexU8(0x12, kSetEofOnFail));<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (2, ex.GetFilePos());<br>
-    ASSERT_EQ (0, ex.GetBytesLeft());<br>
+    ASSERT_EQ (2u, ex.GetFilePos());<br>
+    ASSERT_EQ (0u, ex.GetBytesLeft());<br>
     ASSERT_EQ (nullptr, ex.Peek());<br>
 }<br>
<br>
@@ -231,8 +231,8 @@ TEST_F (StringExtractorTest, GetHexU8_Ex<br>
<br>
     ASSERT_EQ (0x12, ex.GetHexU8(0x12, kSetEofOnFail));<br>
     ASSERT_EQ (true, ex.IsGood());<br>
-    ASSERT_EQ (2, ex.GetFilePos());<br>
-    ASSERT_EQ (2, ex.GetBytesLeft());<br>
+    ASSERT_EQ (2u, ex.GetFilePos());<br>
+    ASSERT_EQ (2u, ex.GetBytesLeft());<br>
     ASSERT_EQ ('3', *ex.Peek());<br>
 }<br>
<br>
@@ -256,7 +256,7 @@ TEST_F (StringExtractorTest, GetHexBytes<br>
     ASSERT_EQ(true, ex.IsGood());<br>
     ASSERT_EQ(2*kValidHexPairs, ex.GetFilePos());<br>
     ASSERT_EQ(false, ex.Empty());<br>
-    ASSERT_EQ(4, ex.GetBytesLeft());<br>
+    ASSERT_EQ(4u, ex.GetBytesLeft());<br>
     ASSERT_EQ('x', *ex.Peek());<br>
 }<br>
<br>
@@ -285,7 +285,7 @@ TEST_F (StringExtractorTest, GetHexBytes<br>
     ASSERT_EQ(false, ex.IsGood());<br>
     ASSERT_EQ(UINT64_MAX, ex.GetFilePos());<br>
     ASSERT_EQ(false, ex.Empty());<br>
-    ASSERT_EQ(0, ex.GetBytesLeft());<br>
+    ASSERT_EQ(0u, ex.GetBytesLeft());<br>
     ASSERT_EQ(0, ex.Peek());<br>
 }<br>
<br>
@@ -315,7 +315,7 @@ TEST_F (StringExtractorTest, GetHexBytes<br>
     ASSERT_EQ(true, ex.IsGood());<br>
     ASSERT_EQ(kReadBytes*2, ex.GetFilePos());<br>
     ASSERT_EQ(false, ex.Empty());<br>
-    ASSERT_EQ(12, ex.GetBytesLeft());<br>
+    ASSERT_EQ(12u, ex.GetBytesLeft());<br>
     ASSERT_EQ('2', *ex.Peek());<br>
 }<br>
<br>
@@ -339,7 +339,7 @@ TEST_F (StringExtractorTest, GetHexBytes<br>
     ASSERT_EQ(true, ex.IsGood());<br>
     ASSERT_EQ(2*kValidHexPairs, ex.GetFilePos());<br>
     ASSERT_EQ(false, ex.Empty());<br>
-    ASSERT_EQ(4, ex.GetBytesLeft());<br>
+    ASSERT_EQ(4u, ex.GetBytesLeft());<br>
     ASSERT_EQ('x', *ex.Peek());<br>
 }<br>
<br>
@@ -369,7 +369,7 @@ TEST_F (StringExtractorTest, GetHexBytes<br>
     ASSERT_EQ(true, ex.IsGood());<br>
     ASSERT_EQ(kValidHexPairs*2, ex.GetFilePos());<br>
     ASSERT_EQ(false, ex.Empty());<br>
-    ASSERT_EQ(4, ex.GetBytesLeft());<br>
+    ASSERT_EQ(4u, ex.GetBytesLeft());<br>
     ASSERT_EQ('x', *ex.Peek());<br>
 }<br>
<br>
@@ -399,7 +399,7 @@ TEST_F (StringExtractorTest, GetHexBytes<br>
     ASSERT_EQ(true, ex.IsGood());<br>
     ASSERT_EQ(kReadBytes*2, ex.GetFilePos());<br>
     ASSERT_EQ(false, ex.Empty());<br>
-    ASSERT_EQ(12, ex.GetBytesLeft());<br>
+    ASSERT_EQ(12u, ex.GetBytesLeft());<br>
     ASSERT_EQ('2', *ex.Peek());<br>
 }<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/lldb-commits</a><br>
</blockquote></div>