[clang] [Clang] Address post commit feedbacks in #89906 (PR #90495)

via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 29 09:54:10 PDT 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: cor3ntin (cor3ntin)

<details>
<summary>Changes</summary>

* Fix a leak
* Fix a maybe unused warning
* Fix incorrect cxx_status entry

---
Full diff: https://github.com/llvm/llvm-project/pull/90495.diff


3 Files Affected:

- (modified) clang/include/clang/Sema/DeclSpec.h (+3) 
- (modified) clang/lib/AST/DeclBase.cpp (+1-1) 
- (modified) clang/www/cxx_status.html (+2-2) 


``````````diff
diff --git a/clang/include/clang/Sema/DeclSpec.h b/clang/include/clang/Sema/DeclSpec.h
index 760c7980be52bd..d641e7c3b92d5e 100644
--- a/clang/include/clang/Sema/DeclSpec.h
+++ b/clang/include/clang/Sema/DeclSpec.h
@@ -1814,6 +1814,9 @@ class DecompositionDeclarator {
   ~DecompositionDeclarator() {
     if (DeleteBindings)
       delete[] Bindings;
+    else
+      llvm::for_each(llvm::MutableArrayRef(Bindings, NumBindings),
+                     [](Binding &B) { B.Attrs.reset(); });
   }
 
   void clear() {
diff --git a/clang/lib/AST/DeclBase.cpp b/clang/lib/AST/DeclBase.cpp
index f341c74cf86e37..03e1055251c24f 100644
--- a/clang/lib/AST/DeclBase.cpp
+++ b/clang/lib/AST/DeclBase.cpp
@@ -1115,7 +1115,7 @@ int64_t Decl::getID() const {
 
 const FunctionType *Decl::getFunctionType(bool BlocksToo) const {
   QualType Ty;
-  if (const auto *D = dyn_cast<BindingDecl>(this))
+  if (isa<BindingDecl>(this))
     return nullptr;
   else if (const auto *D = dyn_cast<ValueDecl>(this))
     Ty = D->getType();
diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html
index d58c35b72c22bb..0996abc2405857 100755
--- a/clang/www/cxx_status.html
+++ b/clang/www/cxx_status.html
@@ -177,7 +177,7 @@ <h2 id="cxx26">C++2c implementation status</h2>
  <tr>
   <td>Attributes for Structured Bindings</td>
   <td><a href="https://wg21.link/P0609R3">P0609R3</a></td>
-  <td class="none" align="center">No</td>
+  <td class="none" align="center">Clang 19</td>
  </tr>
  <tr>
   <td>Module Declarations Shouldn’t be Macros</td>
@@ -187,7 +187,7 @@ <h2 id="cxx26">C++2c implementation status</h2>
  <tr>
   <td>Trivial infinite loops are not Undefined Behavior</td>
   <td><a href="https://wg21.link/P2809R3">P2809R3</a> (<a href="#dr">DR</a>)</td>
-  <td class="unreleased" align="center">Clang 19</td>
+  <td class="unreleased" align="center">No</td>
  </tr>
  <tr>
   <td>Erroneous behaviour for uninitialized reads</td>

``````````

</details>


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


More information about the cfe-commits mailing list