Skip to content

[Clang] [NFC] Add release note about libstdc++ bug #93059

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 22, 2024

Conversation

Sirraide
Copy link
Member

@Sirraide Sirraide commented May 22, 2024

Adding a release note about this as discussed in #92439.

(This is an NFC change, but I’m adding you as reviewers in case there is anything you want to add to this since you were involved in the discussion.)

@llvmbot llvmbot added the clang Clang issues not falling into any other category label May 22, 2024
@llvmbot
Copy link
Member

llvmbot commented May 22, 2024

@llvm/pr-subscribers-clang

Author: None (Sirraide)

Changes

Adding a release note about this as discussed in #92439.

(This is an NFC change, but I’m adding you as reviewers in case there is anything you want to add to this since you were involved in the discussion.)

This closes #92439.


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

1 Files Affected:

  • (modified) clang/docs/ReleaseNotes.rst (+12)
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 5a123b0b86dda..58c73fb6947ce 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -59,6 +59,18 @@ C++ Specific Potentially Breaking Changes
 - Clang now performs semantic analysis for unary operators with dependent operands
   that are known to be of non-class non-enumeration type prior to instantiation.
 
+  This change uncovered a bug in libstdc++ 14.1.0 which may cause compile failures
+  on systems using that version of libstdc++ and Clang 19, with an error that looks
+  something like this:
+
+  .. code-block:: text
+
+    <source>:4:5: error: expression is not assignable
+    4 |     ++this;
+      |     ^ ~~~~
+
+  To fix this, update libstdc++ to a newer version, such as 14.1.1 or 14.2.
+
 ABI Changes in This Version
 ---------------------------
 - Fixed Microsoft name mangling of implicitly defined variables used for thread

@cor3ntin
Copy link
Contributor

This closes #92439.

It does not (s++++ is still not diagnosed)

@Sirraide
Copy link
Member Author

This closes #92439.

It does not (s++++ is still not diagnosed)

Oh, right; this was mainly in reference to the libstdc++ bug since that’s what’s most of the discussion on that issue has been about. I’d maybe suggest moving the s++++ case to a different issue?

@cor3ntin
Copy link
Contributor

I would keep that issue and just remove the fixes (We can still link the issue to this PR by posting a link in a comment)

@Sirraide
Copy link
Member Author

I would keep that issue and just remove the fixes

Done

@cor3ntin
Copy link
Contributor

(I also think that the libstdc++ bug demonstrated some usefulness for a ++this -> ++*this fixit... maybe?)

Copy link
Contributor

@cor3ntin cor3ntin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this!

@Sirraide
Copy link
Member Author

(I also think that the libstdc++ bug demonstrated some usefulness for a ++this -> ++*this fixit... maybe?)

That does sound like it might be useful; I’m going to open another issue about that so we don’t forget about it.

@Sirraide
Copy link
Member Author

I’ve opened an issue to add a fix-it hint and tagged it as a good first issue because for once this is something that seems like it would be fairly straight-forward to do: #93066

@Sirraide Sirraide merged commit 4ea21a0 into llvm:main May 22, 2024
4 of 5 checks passed
@Sirraide Sirraide deleted the libstdcxx-bug-release-note branch May 22, 2024 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang Clang issues not falling into any other category documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants