[Lldb-commits] [lldb] [llvm] [lldb] Move SBLanguages.h out of API tree (PR #111929)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue Oct 15 05:42:33 PDT 2024


================
@@ -71,7 +70,7 @@ class LLDB_API SBExpressionOptions {
   /// Set the language using a pair of language code and version as
   /// defined by the DWARF 6 specification.
   /// WARNING: These codes may change until DWARF 6 is finalized.
-  void SetLanguage(lldb::SBSourceLanguageName name, uint32_t version);
+  void SetLanguage(lldb::SourceLanguageName name, uint32_t version);
----------------
labath wrote:

Without weighing in on the patch itself, I want to say that this is not how I would understand this distinction. Although a change in the value of a constant would not result in symbol changes in lldb, the value can get embedded in the code of the lldb user, and even (e.g. through its use as a template arg) in the names of their symbols.

In terms of compatibility, I think there are two levels that we can talk about:
- whether existing source code will work when it is compiled against new version of lldb (compile time)
- whether existing compiled code will work when used with new lldb (at runtime)

Changing a constant value breaks the second use case (just like a symbol name change would), although it would be harder to detect (which, in a way, makes it worse).

https://github.com/llvm/llvm-project/pull/111929


More information about the lldb-commits mailing list