Skip to content

Conversation

@frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja added the clang:frontend Language frontend issues, e.g. anything involving "Sema" label May 21, 2025
@llvmbot llvmbot added the clang Clang issues not falling into any other category label May 21, 2025
@llvmbot
Copy link
Member

llvmbot commented May 21, 2025

@llvm/pr-subscribers-clang

Author: A. Jiang (frederick-vs-ja)

Changes

We can use 20250520 as the final date, see the following commits.

Follows-up #139560.


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

1 Files Affected:

  • (modified) clang/lib/Sema/SemaTemplate.cpp (+10-4)
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 4a99a097a6e71..41c3f81639c82 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -4370,7 +4370,15 @@ static bool IsLibstdcxxStdFormatKind(Preprocessor &PP, VarDecl *Var) {
   const Token &RevisionDateTok = MacroGLIBCXX->getReplacementToken(0);
   bool Invalid = false;
   std::string RevisionDate = PP.getSpelling(RevisionDateTok, &Invalid);
-  StringRef FixDate = "30251231";
+
+  // We can use 20250520 as the final date, see the following commits.
+  // GCC releases/gcc-15 branch:
+  // https://gcc.gnu.org/g:fedf81ef7b98e5c9ac899b8641bb670746c51205
+  // https://gcc.gnu.org/g:53680c1aa92d9f78e8255fbf696c0ed36f160650
+  // GCC master branch:
+  // https://gcc.gnu.org/g:9361966d80f625c5accc25cbb439f0278dd8b278
+  // https://gcc.gnu.org/g:c65725eccbabf3b9b5965f27fff2d3b9f6c75930
+  StringRef FixDate = "20250520";
 
   if (Invalid)
     return false;
@@ -4381,9 +4389,7 @@ static bool IsLibstdcxxStdFormatKind(Preprocessor &PP, VarDecl *Var) {
   //
   // Checking old versions of libstdc++ is not needed because 15.1 is the first
   // release in which users can access std::format_kind.
-  //
-  // FIXME: Correct FixDate once the issue is fixed.
-  return RevisionDate.size() == 8 && RevisionDate <= FixDate;
+  return RevisionDate.size() == 8 && RevisionDate < FixDate;
 }
 } // end anonymous namespace
 

@frederick-vs-ja frederick-vs-ja merged commit f37c241 into llvm:main May 21, 2025
14 checks passed
@frederick-vs-ja frederick-vs-ja deleted the libstdcxx-format_kind-fix-date branch May 21, 2025 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:frontend Language frontend issues, e.g. anything involving "Sema" clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants