[Lldb-commits] [lldb] r244039 - Bug 24332 - Fix the build of lldb under GNU/Linux when using autotools

2015-08-05 Thread Sylvestre Ledru
Author: sylvestre
Date: Wed Aug  5 07:46:53 2015
New Revision: 244039

URL: http://llvm.org/viewvc/llvm-project?rev=244039&view=rev
Log:
Bug 24332 - Fix the build of lldb under GNU/Linux when using autotools

Reviewers: loladiro, jingham, emaste, zturner, brucem

Subscribers: tberghammer, danalbert, srhines, zturner, lldb-commits

Differential Revision: http://reviews.llvm.org/D11717

Added:
lldb/trunk/source/Plugins/ScriptInterpreter/None/Makefile
lldb/trunk/source/Plugins/ScriptInterpreter/Python/Makefile
Modified:
lldb/trunk/lib/Makefile
lldb/trunk/source/Plugins/Makefile

Modified: lldb/trunk/lib/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/lib/Makefile?rev=244039&r1=244038&r2=244039&view=diff
==
--- lldb/trunk/lib/Makefile (original)
+++ lldb/trunk/lib/Makefile Wed Aug  5 07:46:53 2015
@@ -96,7 +96,9 @@ USEDLIBS = lldbAPI.a \
lldbPluginPlatformFreeBSD.a \
lldbPluginPlatformPOSIX.a \
lldbPluginPlatformKalimba.a \
-   lldbPluginPlatformAndroid.a
+   lldbPluginPlatformAndroid.a \
+   lldbPluginScriptInterpreterNone.a \
+   lldbPluginScriptInterpreterPython.a
 
 # Because GCC requires RTTI enabled for lldbCore (see source/Core/Makefile) it 
is
 # necessary to also link the clang rewriter libraries so vtable references can

Modified: lldb/trunk/source/Plugins/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Makefile?rev=244039&r1=244038&r2=244039&view=diff
==
--- lldb/trunk/source/Plugins/Makefile (original)
+++ lldb/trunk/source/Plugins/Makefile Wed Aug  5 07:46:53 2015
@@ -32,7 +32,8 @@ PARALLEL_DIRS := ABI/MacOSX-arm ABI/MacO
SystemRuntime/MacOSX \
SymbolVendor/ELF \
MemoryHistory/asan \
-   InstrumentationRuntime/AddressSanitizer
+   InstrumentationRuntime/AddressSanitizer \
+   ScriptInterpreter/Python ScriptInterpreter/None
 
 ifeq ($(HOST_OS),Darwin)
 PARALLEL_DIRS += Process/MacOSX-Kernel

Added: lldb/trunk/source/Plugins/ScriptInterpreter/None/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ScriptInterpreter/None/Makefile?rev=244039&view=auto
==
--- lldb/trunk/source/Plugins/ScriptInterpreter/None/Makefile (added)
+++ lldb/trunk/source/Plugins/ScriptInterpreter/None/Makefile Wed Aug  5 
07:46:53 2015
@@ -0,0 +1,14 @@
+##===- source/Plugins/ScriptInterpreter/None/Makefile *- Makefile 
-*-===##
+# 
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===--===##
+
+LLDB_LEVEL := ../../../..
+LIBRARYNAME := lldbPluginScriptInterpreterNone
+BUILD_ARCHIVE = 1
+
+include $(LLDB_LEVEL)/Makefile

Added: lldb/trunk/source/Plugins/ScriptInterpreter/Python/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ScriptInterpreter/Python/Makefile?rev=244039&view=auto
==
--- lldb/trunk/source/Plugins/ScriptInterpreter/Python/Makefile (added)
+++ lldb/trunk/source/Plugins/ScriptInterpreter/Python/Makefile Wed Aug  5 
07:46:53 2015
@@ -0,0 +1,14 @@
+##===- source/Plugins/ScriptInterpreter/Python/Makefile *- 
Makefile -*-===##
+# 
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===--===##
+
+LLDB_LEVEL := ../../../..
+LIBRARYNAME := lldbPluginScriptInterpreterPython
+BUILD_ARCHIVE = 1
+
+include $(LLDB_LEVEL)/Makefile


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [Diffusion] rL238467: Refactor test runner to print sub-test-case pass/fail rate.

2015-08-05 Thread Zachary Turner
zturner added a comment.

It looks like the problem here is that previously we relied on the
individual subprocesses of dotest.py to print their own stdout and stderr.
Now dosep gets the stdout and stderr through a pipe, and it doesn't always
print the full output of the process.  So in some cases the line "Ran N
tests in M seconds" isn't appearing.

I can fix this, but I guess this is a good time to remind people of the
dangers of log scraping.  I don't think we should guarantee stability of
the details of the test output format, except for perhaps a small summary
printed at the end of the test run.  So I would think about getting
whatever numbers you need into this summary section, and then relying only
on that for your output.


Users:
  zturner (Author)
  dawn (Auditor)

http://reviews.llvm.org/rL238467



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r244069 - Flush stderr on dosep status update for Windows.

2015-08-05 Thread Chaoren Lin
Author: chaoren
Date: Wed Aug  5 12:36:54 2015
New Revision: 244069

URL: http://llvm.org/viewvc/llvm-project?rev=244069&view=rev
Log:
Flush stderr on dosep status update for Windows.

Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=244069&r1=244068&r2=244069&view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Wed Aug  5 12:36:54 2015
@@ -86,6 +86,7 @@ def update_status(name = None, command =
 print >> sys.stderr, "stderr:\n%s" % output[1]
 sys.stderr.write("\r%*d out of %d test suites processed" %
 (len(str(total_tests)), test_counter.value, total_tests))
+sys.stderr.flush()
 test_counter.value += 1
 
 def parse_test_results(output):


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r244073 - Static Android build doesn't need shared libs.

2015-08-05 Thread Chaoren Lin
Author: chaoren
Date: Wed Aug  5 12:42:46 2015
New Revision: 244073

URL: http://llvm.org/viewvc/llvm-project?rev=244073&view=rev
Log:
Static Android build doesn't need shared libs.

Modified:
lldb/trunk/cmake/platforms/Android.cmake

Modified: lldb/trunk/cmake/platforms/Android.cmake
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/platforms/Android.cmake?rev=244073&r1=244072&r2=244073&view=diff
==
--- lldb/trunk/cmake/platforms/Android.cmake (original)
+++ lldb/trunk/cmake/platforms/Android.cmake Wed Aug  5 12:42:46 2015
@@ -44,7 +44,9 @@ set( __ANDROID_NDK__ True )
 # its symbols, which significantly increases the binary size. Static linking, 
on
 # the other hand, has little to no effect on the binary size.
 if( NOT DEFINED LLVM_BUILD_STATIC )
- set( LLVM_BUILD_STATIC True )
+ set( LLVM_BUILD_STATIC True  CACHE BOOL "" FORCE )
+ set( LLVM_ENABLE_PIC   FALSE CACHE BOOL "" FORCE )
+ set( BUILD_SHARED_LIBS FALSE CACHE BOOL "" FORCE )
 endif()
 
 set( ANDROID_ABI "${ANDROID_ABI}" CACHE INTERNAL "Android Abi" FORCE )


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r244072 - Allow sysroot and python to be specified for Android build.

2015-08-05 Thread Chaoren Lin
Author: chaoren
Date: Wed Aug  5 12:42:44 2015
New Revision: 244072

URL: http://llvm.org/viewvc/llvm-project?rev=244072&view=rev
Log:
Allow sysroot and python to be specified for Android build.

Modified:
lldb/trunk/cmake/platforms/Android.cmake

Modified: lldb/trunk/cmake/platforms/Android.cmake
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/platforms/Android.cmake?rev=244072&r1=244071&r2=244072&view=diff
==
--- lldb/trunk/cmake/platforms/Android.cmake (original)
+++ lldb/trunk/cmake/platforms/Android.cmake Wed Aug  5 12:42:44 2015
@@ -70,16 +70,15 @@ else()
  message( SEND_ERROR "Unknown ANDROID_ABI = \"${ANDROID_ABI}\"." )
 endif()
 
-set( ANDROID_TOOLCHAIN_DIR "${ANDROID_TOOLCHAIN_DIR}" CACHE INTERNAL "Android 
standalone toolchain directory" FORCE )
-set( ANDROID_SYSROOT "${ANDROID_TOOLCHAIN_DIR}/sysroot" CACHE INTERNAL 
"Android Sysroot" FORCE )
+set( ANDROID_TOOLCHAIN_DIR "${ANDROID_TOOLCHAIN_DIR}" CACHE PATH "Android 
standalone toolchain directory" )
+set( ANDROID_SYSROOT "${ANDROID_TOOLCHAIN_DIR}/sysroot" CACHE PATH "Android 
Sysroot" )
 
 # CMAKE_EXECUTABLE_SUFFIX is undefined in CMAKE_TOOLCHAIN_FILE
 if( WIN32 )
  set( EXECUTABLE_SUFFIX ".exe" )
 endif()
 
-# force python exe to be the one in Android toolchian
-set( PYTHON_EXECUTABLE 
"${ANDROID_TOOLCHAIN_DIR}/bin/python${EXECUTABLE_SUFFIX}" CACHE INTERNAL 
"Python exec path" FORCE )
+set( PYTHON_EXECUTABLE 
"${ANDROID_TOOLCHAIN_DIR}/bin/python${EXECUTABLE_SUFFIX}" CACHE PATH "Python 
exec path" )
 
 if( NOT CMAKE_C_COMPILER )
  set( CMAKE_C_COMPILER   
"${ANDROID_TOOLCHAIN_DIR}/bin/${ANDROID_TOOLCHAIN_NAME}-gcc${EXECUTABLE_SUFFIX}"
 CACHE PATH "C compiler" )
@@ -119,27 +118,6 @@ endif()
 set( ANDROID_CXX_FLAGS"${ANDROID_CXX_FLAGS} -fdata-sections 
-ffunction-sections" )
 set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--gc-sections" )
 
-# BEGIN EVIL HACK ##
-# lldb-server links against libdl even though it's not being used and
-# libdl.a is currently missing from the toolchain (b.android.com/178517).
-# Therefore, in order to statically link lldb-server, we need a temporary
-# workaround. This creates a dummy libdl.a stub until the actual
-# libdl.a can be implemented in the toolchain.
-if( LLVM_BUILD_STATIC )
- set( ANDROID_LIBDL_STUB "${CMAKE_BINARY_DIR}/libdl_stub" )
- file( MAKE_DIRECTORY ${ANDROID_LIBDL_STUB} )
- file( WRITE "${ANDROID_LIBDL_STUB}/libdl.c" "
-#include 
-void *   dlopen  (const char *filename, int flag)   { return 0; }
-const char * dlerror (void) { return 0; }
-void *   dlsym   (void *handle, const char *symbol) { return 0; }
-int  dlclose (void *handle) { return 0; }")
- execute_process( COMMAND ${CMAKE_C_COMPILER} -c ${ANDROID_LIBDL_STUB}/libdl.c 
-o ${ANDROID_LIBDL_STUB}/libdl.o )
- execute_process( COMMAND ${CMAKE_AR} rcs ${ANDROID_LIBDL_STUB}/libdl.a 
${ANDROID_LIBDL_STUB}/libdl.o )
- set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -L${ANDROID_LIBDL_STUB}" )
-endif()
-# END EVIL HACK ##
-
 # cache flags
 set( CMAKE_CXX_FLAGS   ""CACHE STRING "c++ 
flags" )
 set( CMAKE_C_FLAGS ""CACHE STRING "c 
flags" )
@@ -164,3 +142,28 @@ set( CMAKE_FIND_ROOT_PATH "${ANDROID_TOO
 set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
 set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
 set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
+
+# BEGIN EVIL HACK ##
+# lldb-server links against libdl even though it's not being used and
+# libdl.a is currently missing from the toolchain (b.android.com/178517).
+# Therefore, in order to statically link lldb-server, we need a temporary
+# workaround. This creates a dummy libdl.a stub until the actual
+# libdl.a can be implemented in the toolchain.
+if( LLVM_BUILD_STATIC )
+ set( ANDROID_LIBDL_STUB "${CMAKE_BINARY_DIR}/libdl_stub" )
+ file( MAKE_DIRECTORY ${ANDROID_LIBDL_STUB} )
+ file( WRITE "${ANDROID_LIBDL_STUB}/libdl.c" "
+#include 
+void *   dlopen  (const char *filename, int flag)   { return 0; }
+const char * dlerror (void) { return 0; }
+void *   dlsym   (void *handle, const char *symbol) { return 0; }
+int  dlclose (void *handle) { return 0; }")
+ set( SEPARATED_C_FLAGS "${CMAKE_C_FLAGS}" )
+ separate_arguments( SEPARATED_C_FLAGS )
+ execute_process( COMMAND ${CMAKE_C_COMPILER} ${SEPARATED_C_FLAGS} -c 
${ANDROID_LIBDL_STUB}/libdl.c -o ${ANDROID_LIBDL_STUB}/libdl.o )
+ execute_process( COMMAND ${CMAKE_AR} rcs ${ANDROID_LIBDL_STUB}/libdl.a 
${ANDROID_LIBDL_STUB}/libdl.o )
+ set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} 
-L${ANDROID_LIBDL_STUB}" )
+ unset( ANDROID_LIBDL_STUB )
+ unset( SEPARATED_C_FLAGS )
+endif()
+# END EVIL HACK ##


_

Re: [Lldb-commits] [lldb] r243091 - Handle old style S packet correctly

2015-08-05 Thread Hans Wennborg
Ping?

On Wed, Jul 29, 2015 at 8:56 AM, Hans Wennborg  wrote:
> Greg, I believe you're the code owner here. OK to merge?
>
> On Tue, Jul 28, 2015 at 9:05 PM, Bhushan Attarde
>  wrote:
>> Hi Hans,
>>
>> Could you please add this to the release branch?
>>
>> Thanks
>> Bhushan
>>
>> -Original Message-
>> From: lldb-commits-boun...@cs.uiuc.edu 
>> [mailto:lldb-commits-boun...@cs.uiuc.edu] On Behalf Of Bhushan Attarde
>> Sent: 24 July 2015 09:36
>> To: lldb-comm...@cs.uiuc.edu
>> Subject: [Lldb-commits] [lldb] r243091 - Handle old style S packet correctly
>>
>> Author: bhushan.attarde
>> Date: Thu Jul 23 23:06:20 2015
>> New Revision: 243091
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=243091&view=rev
>> Log:
>> Handle old style S packet correctly
>>
>> SUMMARY:
>> This patch fixes couple of issues:
>> 1. A thread tries to lock a mutex which is already locked.
>> 2. Updating a thread list before the stop packet is parsed so that it 
>> can get a valid thread id and allows to set the stop info correctly.
>>
>> Reviewers: clayborg
>> Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits
>> Differential Revision: http://reviews.llvm.org/D11449
>>
>> Modified:
>> lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
>>
>> Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=243091&r1=243090&r2=243091&view=diff
>> ==
>> --- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp 
>> (original)
>> +++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
>> +++ Thu Jul 23 23:06:20 2015
>> @@ -371,7 +371,7 @@ ProcessGDBRemote::ProcessGDBRemote(Targe
>>  m_flags (0),
>>  m_gdb_comm (),
>>  m_debugserver_pid (LLDB_INVALID_PROCESS_ID),
>> -m_last_stop_packet_mutex (Mutex::eMutexTypeNormal),
>> +m_last_stop_packet_mutex (Mutex::eMutexTypeRecursive),
>>  m_register_info (),
>>  m_async_broadcaster (NULL, "lldb.process.gdb-remote.async-broadcaster"),
>>  m_async_thread_state_mutex(Mutex::eMutexTypeRecursive),
>> @@ -2485,6 +2485,18 @@ ProcessGDBRemote::SetThreadStopInfo (Str
>>  }
>>  }
>>
>> +if (tid == LLDB_INVALID_THREAD_ID)
>> +{
>> +// A thread id may be invalid if the response is old style 
>> 'S' packet which does not provide the
>> +// thread information. So update the thread list and choose 
>> the first one.
>> +UpdateThreadIDList ();
>> +
>> +if (!m_thread_ids.empty ())
>> +{
>> +tid = m_thread_ids.front ();
>> +}
>> +}
>> +
>>  ThreadSP thread_sp = SetThreadStopInfo (tid,
>>  expedited_register_map,
>>  signo, @@ -2499,19 
>> +2511,6 @@ ProcessGDBRemote::SetThreadStopInfo (Str
>>  queue_kind,
>>  queue_serial);
>>
>> -// If the response is old style 'S' packet which does not 
>> provide us with thread information
>> -// then update the thread list and choose the first one.
>> -if (!thread_sp)
>> -{
>> -UpdateThreadIDList ();
>> -
>> -if (!m_thread_ids.empty ())
>> -{
>> -Mutex::Locker locker (m_thread_list_real.GetMutex ());
>> -thread_sp = m_thread_list_real.FindThreadByProtocolID 
>> (m_thread_ids.front (), false);
>> -}
>> -}
>> -
>>  return eStateStopped;
>>  }
>>  break;
>>
>>
>> ___
>> lldb-commits mailing list
>> lldb-comm...@cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D11574: Add size field to library load event

2015-08-05 Thread Paul Maybee
paulmaybee added a comment.

ping



Comment at: test/tools/lldb-mi/TestMiLibraryLoaded.py:31
@@ -30,3 +30,3 @@
 
"=library-loaded,id=\"%s\",target-name=\"%s\",host-name=\"%s\",symbols-loaded=\"1\",symbols-path=\"%s\",loaded_addr=\"-\""
 % (path, path, path, symbols_path),
-
"=library-loaded,id=\"%s\",target-name=\"%s\",host-name=\"%s\",symbols-loaded=\"0\",loaded_addr=\"-\""
 % (path, path, path)
+
"=library-loaded,id=\"%s\",target-name=\"%s\",host-name=\"%s\",symbols-loaded=\"0\",loaded_addr=\"-\",size=\"[0-9]+\""
 % (path, path, path)
 ], exactly = True)

ki.stfu wrote:
> As I said in D9716, it will cause a false negative if `path` contains symbols 
> that should be escaped (" or \ etc). I faced with the same issue in 
> MiSyntaxTestCase. You should use analogue of CMIUtilString::AddSlashes here, 
> or pass `exactly = True` option.
exactly = True is there?


Comment at: tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp:731
@@ -730,1 +730,3 @@
 vwrMiOutOfBandRecord.Add(miValueResult6);
+bOk = bOk && vwrMiOutOfBandRecord.Add(miValueResult6);
+

ki.stfu wrote:
> ignore a return code here. It should cause a compiler error since r242911. 
> Have you tried to compile it?
Oops. Sorry, wrong diff. Fixed now.


http://reviews.llvm.org/D11574



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D10216: Initial diff for FreeBSD kernel debugging support

2015-08-05 Thread Davide Italiano
davide added a comment.

I honestly feel bad because this sit there for a long time without anybody 
reviewing it.
I tried but after some time looking at it I realized I'm not the right person 
to review. I cc:ed clayborg -- maybe he can take a look at this.


http://reviews.llvm.org/D10216



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r244194 - Update lldb's ExternalASTSources to match Clang r244161.

2015-08-05 Thread Richard Smith
Author: rsmith
Date: Thu Aug  6 00:13:41 2015
New Revision: 244194

URL: http://llvm.org/viewvc/llvm-project?rev=244194&view=rev
Log:
Update lldb's ExternalASTSources to match Clang r244161.

Modified:
lldb/trunk/include/lldb/Expression/ClangASTSource.h
lldb/trunk/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
lldb/trunk/source/Expression/ClangASTSource.cpp

lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp

Modified: lldb/trunk/include/lldb/Expression/ClangASTSource.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ClangASTSource.h?rev=244194&r1=244193&r2=244194&view=diff
==
--- lldb/trunk/include/lldb/Expression/ClangASTSource.h (original)
+++ lldb/trunk/include/lldb/Expression/ClangASTSource.h Thu Aug  6 00:13:41 2015
@@ -111,15 +111,15 @@ public:
 /// The DeclContext being searched.
 ///
 /// @param[in] isKindWeWant
-/// If non-NULL, a callback function that returns true given the
+/// A callback function that returns true given the
 /// DeclKinds of desired Decls, and false otherwise.
 ///
 /// @param[in] Decls
 /// A vector that is filled in with matching Decls.
 //--
-clang::ExternalLoadResult FindExternalLexicalDecls(const 
clang::DeclContext *DC,
-   bool 
(*isKindWeWant)(clang::Decl::Kind),
-   
llvm::SmallVectorImpl &Decls) override;
+void FindExternalLexicalDecls(
+const clang::DeclContext *DC, 
llvm::function_ref IsKindWeWant,
+llvm::SmallVectorImpl &Decls) override;
 
 //--
 /// Specify the layout of the contents of a RecordDecl.
@@ -249,11 +249,12 @@ public:
 return m_original.FindExternalVisibleDeclsByName(DC, Name);
 }
 
-clang::ExternalLoadResult
-FindExternalLexicalDecls(const clang::DeclContext *DC, bool 
(*isKindWeWant)(clang::Decl::Kind),
+void
+FindExternalLexicalDecls(const clang::DeclContext *DC,
+ llvm::function_ref 
IsKindWeWant,
  llvm::SmallVectorImpl &Decls) 
override
 {
-return m_original.FindExternalLexicalDecls(DC, isKindWeWant, 
Decls);
+return m_original.FindExternalLexicalDecls(DC, IsKindWeWant, 
Decls);
 }
 
 void

Modified: lldb/trunk/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h?rev=244194&r1=244193&r2=244194&view=diff
==
--- lldb/trunk/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h (original)
+++ lldb/trunk/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h Thu Aug  6 
00:13:41 2015
@@ -100,15 +100,6 @@ public:
 return;
 }
 
-clang::ExternalLoadResult
-FindExternalLexicalDecls(const clang::DeclContext *decl_ctx, bool 
(*isKindWeWant)(clang::Decl::Kind),
- llvm::SmallVectorImpl &decls) 
override
-{
-// This is used to support iterating through an entire lexical context,
-// which isn't something the debugger should ever need to do.
-return clang::ELR_Failure;
-}
-
 bool FindExternalVisibleDeclsByName(const clang::DeclContext *decl_ctx, 
clang::DeclarationName decl_name) override;
 
 void CompleteType(clang::TagDecl *tag_decl) override;

Modified: lldb/trunk/source/Expression/ClangASTSource.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangASTSource.cpp?rev=244194&r1=244193&r2=244194&view=diff
==
--- lldb/trunk/source/Expression/ClangASTSource.cpp (original)
+++ lldb/trunk/source/Expression/ClangASTSource.cpp Thu Aug  6 00:13:41 2015
@@ -419,9 +419,9 @@ ClangASTSource::GetCompleteObjCInterface
 return complete_iface_decl;
 }
 
-clang::ExternalLoadResult
+void
 ClangASTSource::FindExternalLexicalDecls (const DeclContext *decl_context,
-  bool (*predicate)(Decl::Kind),
+  llvm::function_ref 
predicate,
   llvm::SmallVectorImpl &decls)
 {
 ClangASTMetrics::RegisterLexicalQuery();
@@ -431,11 +431,11 @@ ClangASTSource::FindExternalLexicalDecls
 const Decl *context_decl = dyn_cast(decl_context);
 
 if (!context_decl)
-return ELR_Failure;
+return;
 
 auto iter = m_active_lexical_decls.find(context_decl);
 if (iter != m_active_lexical_decls.end())
-return ELR_Failure;
+return