[Lldb-commits] [lldb] r244039 - Bug 24332 - Fix the build of lldb under GNU/Linux when using autotools
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.
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.
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.
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.
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
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
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
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.
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