https://github.com/DeinAlptraum updated 
https://github.com/llvm/llvm-project/pull/210677

>From d551a1ef656490f55168c8cb16d53416681fd0ee Mon Sep 17 00:00:00 2001
From: Jannick Kremer <[email protected]>
Date: Mon, 20 Jul 2026 19:28:31 +0900
Subject: [PATCH 1/2] [libclang/python] Remove global SPELLING_CACHE alias

This completes the second step of 
https://github.com/llvm/llvm-project/issues/156680
This change is a follow-up to https://github.com/llvm/llvm-project/pull/177586, 
following the release branching, to ensure a one release-cycle deprecation 
period.
---
 clang/bindings/python/clang/cindex.py         | 29 -------------------
 .../tests/cindex/test_code_completion.py      | 25 ----------------
 clang/docs/ReleaseNotes.md                    |  4 +++
 3 files changed, 4 insertions(+), 54 deletions(-)

diff --git a/clang/bindings/python/clang/cindex.py 
b/clang/bindings/python/clang/cindex.py
index 24b737139dba8..5a1d761d13e02 100644
--- a/clang/bindings/python/clang/cindex.py
+++ b/clang/bindings/python/clang/cindex.py
@@ -3101,32 +3101,6 @@ def __getattribute__(self, attr):
 
 
 class CompletionChunk:
-    class SpellingCacheAlias:
-        """
-        A temporary utility that acts as an alias to 
CompletionChunk.SPELLING_CACHE.
-        This will be removed without deprecation warning in a future release.
-        Please do not use it directly!
-        """
-
-        deprecation_message = (
-            "'SPELLING_CACHE' has been moved into the scope of 
'CompletionChunk' "
-            "and adapted to use 'CompletionChunkKind's as keys instead of 
their "
-            "enum values. Please adapt all uses of 'SPELLING_CACHE' to use "
-            "'CompletionChunk.SPELLING_CACHE' instead. The old 
'SPELLING_CACHE' "
-            "will be removed in a future release."
-        )
-
-        def __getattr__(self, _: Any) -> NoReturn:
-            raise AttributeError(self.deprecation_message)
-
-        def __getitem__(self, value: int) -> str:
-            warnings.warn(self.deprecation_message, DeprecationWarning)
-            return 
CompletionChunk.SPELLING_CACHE[CompletionChunkKind.from_id(value)]
-
-        def __contains__(self, value: int) -> bool:
-            warnings.warn(self.deprecation_message, DeprecationWarning)
-            return CompletionChunkKind.from_id(value) in 
CompletionChunk.SPELLING_CACHE
-
     # Functions calls through the python interface are rather slow. 
Fortunately,
     # for most symbols, we do not need to perform a function call. Their 
spelling
     # never changes and is consequently provided by this spelling cache.
@@ -3236,9 +3210,6 @@ def isKindResultType(self) -> bool:
         return self.kind == CompletionChunkKind.RESULT_TYPE
 
 
-SPELLING_CACHE = CompletionChunk.SpellingCacheAlias()
-
-
 class CompletionString(ClangObject):
     # AvailabilityKindCompat is an exact copy of AvailabilityKind, except for 
__str__.
     # This is a temporary measure to keep the string representation the same
diff --git a/clang/bindings/python/tests/cindex/test_code_completion.py 
b/clang/bindings/python/tests/cindex/test_code_completion.py
index d969bb2fa0e6c..593e07ed55496 100644
--- a/clang/bindings/python/tests/cindex/test_code_completion.py
+++ b/clang/bindings/python/tests/cindex/test_code_completion.py
@@ -3,7 +3,6 @@
     CompletionChunk,
     CompletionChunkKind,
     CompletionString,
-    SPELLING_CACHE,
     TranslationUnit,
 )
 
@@ -239,27 +238,3 @@ def test_completion_chunk_kind_compatibility(self):
                 self.assertEqual(old_str, str(new_kind))
                 self.assertEqual(len(log), 1)
                 self.assertIsInstance(log[0].message, DeprecationWarning)
-
-    def test_spelling_cache_missing_attribute(self):
-        # Test that accessing missing attributes on SpellingCacheAlias raises
-        # during the transitionary period
-        with self.assertRaises(AttributeError, 
msg=SPELLING_CACHE.deprecation_message):
-            SPELLING_CACHE.keys()
-
-    def test_spelling_cache_alias(self):
-        kind_keys = list(CompletionChunk.SPELLING_CACHE)
-        self.assertEqual(len(kind_keys), 13)
-        for kind_key in kind_keys:
-            with warnings.catch_warnings(record=True) as log:
-                self.assertEqual(
-                    SPELLING_CACHE[kind_key.value],
-                    CompletionChunk.SPELLING_CACHE[kind_key],
-                )
-                self.assertEqual(len(log), 1)
-                self.assertIsInstance(log[0].message, DeprecationWarning)
-
-    def test_spelling_cache_missing_attribute(self):
-        # Test that accessing missing attributes on SpellingCacheAlias raises
-        # during the transitionary period
-        with self.assertRaises(AttributeError, 
msg=SPELLING_CACHE.deprecation_message):
-            SPELLING_CACHE.keys()
diff --git a/clang/docs/ReleaseNotes.md b/clang/docs/ReleaseNotes.md
index 9301745b9628e..8f8811dbfa38b 100644
--- a/clang/docs/ReleaseNotes.md
+++ b/clang/docs/ReleaseNotes.md
@@ -58,6 +58,10 @@ latest release, please see the [Clang Web 
Site](https://clang.llvm.org) or the
 
 ### Clang Python Bindings Potentially Breaking Changes
 
+- Remove the deprecated `SPELLING_CACHE` alias.
+  All usage should be migrated to use `CompletionChunk.SPELLING_CACHE` instead.
+  Note that this uses `CompletionChunkKind` as keys, instead of the enum 
values.
+
 ### OpenCL Potentially Breaking Changes
 
 ## What's New in Clang {{env.config.release}}?

>From 73da7efd08b7c9b202de959477d0274791ac11a7 Mon Sep 17 00:00:00 2001
From: Jannick Kremer <[email protected]>
Date: Wed, 22 Jul 2026 20:19:41 +0900
Subject: [PATCH 2/2] Update clang/docs/ReleaseNotes.md

Co-authored-by: Vlad Serebrennikov <[email protected]>
---
 clang/docs/ReleaseNotes.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/docs/ReleaseNotes.md b/clang/docs/ReleaseNotes.md
index 8f8811dbfa38b..0e95dd5b740a9 100644
--- a/clang/docs/ReleaseNotes.md
+++ b/clang/docs/ReleaseNotes.md
@@ -60,7 +60,7 @@ latest release, please see the [Clang Web 
Site](https://clang.llvm.org) or the
 
 - Remove the deprecated `SPELLING_CACHE` alias.
   All usage should be migrated to use `CompletionChunk.SPELLING_CACHE` instead.
-  Note that this uses `CompletionChunkKind` as keys, instead of the enum 
values.
+  Note that this uses `CompletionChunkKind` enumeration as keys, instead of 
integer values.
 
 ### OpenCL Potentially Breaking Changes
 

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to