[Lldb-commits] [lldb] r249456 - Create GoLanguageRuntime.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Tue Oct 6 13:36:32 PDT 2015


Have you added any tests for any of the Go functionality yet?  If you have
an AST Context, I assume there's at least some way to exercise some of this
functionality, in which case it seems like there should be some tests.

maybe you've already been keeping up with this, just want to make sure.

On Tue, Oct 6, 2015 at 1:31 PM Ryan Brown via lldb-commits <
lldb-commits at lists.llvm.org> wrote:

> Author: ribrdb
> Date: Tue Oct  6 15:29:31 2015
> New Revision: 249456
>
> URL: http://llvm.org/viewvc/llvm-project?rev=249456&view=rev
> Log:
> Create GoLanguageRuntime.
>
> GoLanguageRuntime supports finding the runtime type for Go interfaces.
>
> Modified:
>     lldb/trunk/cmake/LLDBDependencies.cmake
>     lldb/trunk/lldb.xcodeproj/project.pbxproj
>     lldb/trunk/source/API/SystemInitializerFull.cpp
>     lldb/trunk/source/Plugins/LanguageRuntime/CMakeLists.txt
>     lldb/trunk/source/Symbol/GoASTContext.cpp
>
> Modified: lldb/trunk/cmake/LLDBDependencies.cmake
> URL:
> http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/LLDBDependencies.cmake?rev=249456&r1=249455&r2=249456&view=diff
>
> ==============================================================================
> --- lldb/trunk/cmake/LLDBDependencies.cmake (original)
> +++ lldb/trunk/cmake/LLDBDependencies.cmake Tue Oct  6 15:29:31 2015
> @@ -47,6 +47,7 @@ set( LLDB_USED_LIBS
>    lldbPluginUnwindAssemblyX86
>    lldbPluginAppleObjCRuntime
>    lldbPluginRenderScriptRuntime
> +  lldbPluginLanguageRuntimeGo
>    lldbPluginCXXItaniumABI
>    lldbPluginABIMacOSX_arm
>    lldbPluginABIMacOSX_arm64
>
> Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj
> URL:
> http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=249456&r1=249455&r2=249456&view=diff
>
> ==============================================================================
> --- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)
> +++ lldb/trunk/lldb.xcodeproj/project.pbxproj Tue Oct  6 15:29:31 2015
> @@ -821,6 +821,7 @@
>                 9AC703AF117675410086C050 /* SBInstruction.cpp in Sources
> */ = {isa = PBXBuildFile; fileRef = 9AC703AE117675410086C050 /*
> SBInstruction.cpp */; };
>                 9AC703B1117675490086C050 /* SBInstructionList.cpp in
> Sources */ = {isa = PBXBuildFile; fileRef = 9AC703B0117675490086C050 /*
> SBInstructionList.cpp */; };
>                 A36FF33C17D8E94600244D40 /* OptionParser.cpp in Sources */
> = {isa = PBXBuildFile; fileRef = A36FF33B17D8E94600244D40 /*
> OptionParser.cpp */; };
> +               AE44FB3E1BB485960033EB62 /* GoLanguageRuntime.cpp in
> Sources */ = {isa = PBXBuildFile; fileRef = AE44FB3D1BB485960033EB62 /*
> GoLanguageRuntime.cpp */; };
>                 AE6897281B94F6DE0018845D /* DWARFASTParserGo.cpp in
> Sources */ = {isa = PBXBuildFile; fileRef = AE6897261B94F6DE0018845D /*
> DWARFASTParserGo.cpp */; };
>                 AE7F56291B8FE418001377A8 /* GoASTContext.cpp in Sources */
> = {isa = PBXBuildFile; fileRef = AEFFBA7C1AC4835D0087B932 /*
> GoASTContext.cpp */; };
>                 AE8F624919EF3E1E00326B21 /* OperatingSystemGo.cpp in
> Sources */ = {isa = PBXBuildFile; fileRef = AE8F624719EF3E1E00326B21 /*
> OperatingSystemGo.cpp */; };
> @@ -2638,6 +2639,8 @@
>                 9AF16CC7114086A1007A7B3F /* SBBreakpointLocation.cpp */ =
> {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType =
> sourcecode.cpp.cpp; name = SBBreakpointLocation.cpp; path =
> source/API/SBBreakpointLocation.cpp; sourceTree = "<group>"; };
>                 A36FF33B17D8E94600244D40 /* OptionParser.cpp */ = {isa =
> PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp;
> path = OptionParser.cpp; sourceTree = "<group>"; };
>                 A36FF33D17D8E98800244D40 /* OptionParser.h */ = {isa =
> PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h;
> name = OptionParser.h; path = include/lldb/Host/OptionParser.h; sourceTree
> = "<group>"; };
> +               AE44FB3C1BB4858A0033EB62 /* GoLanguageRuntime.h */ = {isa
> = PBXFileReference; lastKnownFileType = sourcecode.c.h; name =
> GoLanguageRuntime.h; path = Go/GoLanguageRuntime.h; sourceTree = "<group>";
> };
> +               AE44FB3D1BB485960033EB62 /* GoLanguageRuntime.cpp */ =
> {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType =
> sourcecode.cpp.cpp; name = GoLanguageRuntime.cpp; path =
> Go/GoLanguageRuntime.cpp; sourceTree = "<group>"; };
>                 AE6897261B94F6DE0018845D /* DWARFASTParserGo.cpp */ = {isa
> = PBXFileReference; fileEncoding = 4; lastKnownFileType =
> sourcecode.cpp.cpp; path = DWARFASTParserGo.cpp; sourceTree = "<group>"; };
>                 AE6897271B94F6DE0018845D /* DWARFASTParserGo.h */ = {isa =
> PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h;
> path = DWARFASTParserGo.h; sourceTree = "<group>"; };
>                 AE8F624719EF3E1E00326B21 /* OperatingSystemGo.cpp */ =
> {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType =
> sourcecode.cpp.cpp; name = OperatingSystemGo.cpp; path =
> Go/OperatingSystemGo.cpp; sourceTree = "<group>"; };
> @@ -5129,6 +5132,7 @@
>                 4CCA643A13B40B82003BDF98 /* LanguageRuntime */ = {
>                         isa = PBXGroup;
>                         children = (
> +                               AE44FB3B1BB485730033EB62 /* Go */,
>                                 49724D961AD6ECFA0033C538 /* RenderScript
> */,
>                                 4CCA643B13B40B82003BDF98 /* CPlusPlus */,
>                                 4CCA644013B40B82003BDF98 /* ObjC */,
> @@ -5456,6 +5460,15 @@
>                         name = "SysV-mips";
>                         sourceTree = "<group>";
>                 };
> +               AE44FB3B1BB485730033EB62 /* Go */ = {
> +                       isa = PBXGroup;
> +                       children = (
> +                               AE44FB3C1BB4858A0033EB62 /*
> GoLanguageRuntime.h */,
> +                               AE44FB3D1BB485960033EB62 /*
> GoLanguageRuntime.cpp */,
> +                       );
> +                       name = Go;
> +                       sourceTree = "<group>";
> +               };
>                 AE8F624519EF3DFC00326B21 /* Go */ = {
>                         isa = PBXGroup;
>                         children = (
> @@ -6292,6 +6305,7 @@
>                                 266E829D1B8E542C008FCA06 /*
> DWARFAttribute.cpp in Sources */,
>                                 2689004613353E0400698AC0 /* ModuleList.cpp
> in Sources */,
>                                 2689004713353E0400698AC0 /*
> PluginManager.cpp in Sources */,
> +                               AE44FB3E1BB485960033EB62 /*
> GoLanguageRuntime.cpp in Sources */,
>                                 AF0C112818580CD800C4C45B /* QueueItem.cpp
> in Sources */,
>                                 AF254E31170CCC33007AE5C9 /*
> PlatformDarwinKernel.cpp in Sources */,
>                                 2689004813353E0400698AC0 /*
> RegularExpression.cpp in Sources */,
>
> Modified: lldb/trunk/source/API/SystemInitializerFull.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SystemInitializerFull.cpp?rev=249456&r1=249455&r2=249456&view=diff
>
> ==============================================================================
> --- lldb/trunk/source/API/SystemInitializerFull.cpp (original)
> +++ lldb/trunk/source/API/SystemInitializerFull.cpp Tue Oct  6 15:29:31
> 2015
> @@ -49,6 +49,7 @@
>  #include
> "Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h"
>  #include
> "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h"
>  #include
> "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h"
> +#include "Plugins/LanguageRuntime/Go/GoLanguageRuntime.h"
>  #include
> "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"
>  #include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h"
>  #include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h"
> @@ -289,6 +290,7 @@ SystemInitializerFull::Initialize()
>      AppleObjCRuntimeV1::Initialize();
>      SystemRuntimeMacOSX::Initialize();
>      RenderScriptRuntime::Initialize();
> +    GoLanguageRuntime::Initialize();
>
>      CPlusPlusLanguage::Initialize();
>      ObjCLanguage::Initialize();
>
> Modified: lldb/trunk/source/Plugins/LanguageRuntime/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/LanguageRuntime/CMakeLists.txt?rev=249456&r1=249455&r2=249456&view=diff
>
> ==============================================================================
> --- lldb/trunk/source/Plugins/LanguageRuntime/CMakeLists.txt (original)
> +++ lldb/trunk/source/Plugins/LanguageRuntime/CMakeLists.txt Tue Oct  6
> 15:29:31 2015
> @@ -1,3 +1,4 @@
>  add_subdirectory(CPlusPlus)
>  add_subdirectory(ObjC)
> +add_subdirectory(Go)
>  add_subdirectory(RenderScript)
>
> Modified: lldb/trunk/source/Symbol/GoASTContext.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/GoASTContext.cpp?rev=249456&r1=249455&r2=249456&view=diff
>
> ==============================================================================
> --- lldb/trunk/source/Symbol/GoASTContext.cpp (original)
> +++ lldb/trunk/source/Symbol/GoASTContext.cpp Tue Oct  6 15:29:31 2015
> @@ -1184,6 +1184,9 @@ GoASTContext::GetChildCompilerTypeAtInde
>  uint32_t
>  GoASTContext::GetIndexOfChildWithName(lldb::opaque_compiler_type_t type,
> const char *name, bool omit_empty_base_classes)
>  {
> +    if (!type || !GetCompleteType(type))
> +        return UINT_MAX;
> +
>      GoType *t = static_cast<GoType *>(type);
>      GoStruct *s = t->GetStruct();
>      if (s)
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151006/c5b755dc/attachment-0001.html>


More information about the lldb-commits mailing list