Author: Adrian Prantl Date: 2023-01-05T13:43:12-08:00 New Revision: 69f2b5fcf1be2226181cce21066f072279ba5d14
URL: https://github.com/llvm/llvm-project/commit/69f2b5fcf1be2226181cce21066f072279ba5d14 DIFF: https://github.com/llvm/llvm-project/commit/69f2b5fcf1be2226181cce21066f072279ba5d14.diff LOG: Revert an unintentional API ABI break lldb::LanguageType is used as a parameter in SBExpressionOptions::SetLanguage(), which actually makes this type API too. Commit 6eaedbb52f2a616e644e5acc7279c8b07c4cfe82 added a `: uint16_t` to it, which broke binary compatibility for the SBAPI. This patch reverts to the original enum. I tried moving the entire enum into include/API, but that created a cyclic module dependency between API and Utility. To keep things simple, this just reverts to the original code and adds a warning. rdar://103415402 Differential Revision: https://reviews.llvm.org/D141087 Added: Modified: lldb/include/lldb/lldb-enumerations.h Removed: ################################################################################ diff --git a/lldb/include/lldb/lldb-enumerations.h b/lldb/include/lldb/lldb-enumerations.h index f4748d0030f56..f92e63cc45f42 100644 --- a/lldb/include/lldb/lldb-enumerations.h +++ b/lldb/include/lldb/lldb-enumerations.h @@ -437,7 +437,10 @@ FLAGS_ENUM(WatchpointEventType){ /// specification for ease of use and consistency. /// The enum -> string code is in Language.cpp, don't change this /// table without updating that code as well. -enum LanguageType : uint16_t { +/// +/// This datatype is used in SBExpressionOptions::SetLanguage() which +/// makes this type API. Do not change its underlying storage type! +enum LanguageType { eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value. eLanguageTypeC89 = 0x0001, ///< ISO C:1989. eLanguageTypeC = 0x0002, ///< Non-standardized C, such as K&R. _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits