[Lldb-commits] [PATCH] D69704: Add IsTypeSystemCompatible method to SBModule to allow checking compatibility between language versions

Raphael Isemann via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Nov 1 04:45:19 PDT 2019


teemperor created this revision.
teemperor added a reviewer: davide.
teemperor added a project: Upstreaming LLDB's downstream patches.
Herald added subscribers: lldb-commits, JDevlieghere.
Herald added a project: LLDB.

In Swift there is a check if the compiled module actually fits to our Swift version in LLDB. We don't really do this
kind of version checking so far in LLDB as we only have one Clang-based TypeSystem for C languages.
C languages don't have this precise version semantic but different standards which are expressed as different language types,
so there is no precise version checking needed for them.

This adds the relevant compatibility check to SBModule and adds the relevant tests for it. The actual Swift version check is
implemented in Swift's TypeSystem class which is downstream, so we test this here with the Clang type system which is
always treating modules as compatible.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D69704

Files:
  lldb/include/lldb/API/SBError.h
  lldb/include/lldb/API/SBModule.h
  lldb/include/lldb/Symbol/TypeSystem.h
  lldb/packages/Python/lldbsuite/test/python_api/module_compability/Makefile
  lldb/packages/Python/lldbsuite/test/python_api/module_compability/TestModuleTypeSystemCompatible.py
  lldb/packages/Python/lldbsuite/test/python_api/module_compability/main.cpp
  lldb/scripts/interface/SBModule.i
  lldb/source/API/SBModule.cpp
  lldb/source/Symbol/TypeSystem.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69704.227416.patch
Type: text/x-patch
Size: 8132 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191101/6518b710/attachment.bin>


More information about the lldb-commits mailing list