This is an archive of the discontinued LLVM Phabricator instance.

Add a "Potentially Breaking Changes" section to the Clang release notes
ClosedPublic

Authored by aaron.ballman on Sep 13 2022, 5:26 AM.

Details

Summary

Sometimes we make changes to the compiler that we expect may cause disruption for users. For example, we may strengthen a warning to default to be an error, or fix an accepts-invalid bug that's been around for a long time, etc which may cause previously accepted code to now be rejected. Rather than hope users discover that information by reading all of the release notes, it's better that we call these out in one location at the top of the release notes.

Based on feedback collected in the discussion at:
https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213/

Diff Detail

Event Timeline

aaron.ballman created this revision.Sep 13 2022, 5:26 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 13 2022, 5:26 AM
aaron.ballman requested review of this revision.Sep 13 2022, 5:26 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 13 2022, 5:26 AM

@tstellar or @thieta -- will this cause any problems for your release scripts? (Note I used Clang |release| in the new wording; I can pull the |release| bit out if that's a problem.) Also, do you suppose there's a way we can flag specific release notes as being "critical" so that the script automatically adds information to a more public download page such as: https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.0 ?

mgorny accepted this revision.Sep 13 2022, 7:05 AM

I think this is a good idea — thanks for doing this.

This revision is now accepted and ready to land.Sep 13 2022, 7:05 AM
thesamesam accepted this revision.Sep 13 2022, 7:17 AM
thesamesam added a subscriber: thesamesam.

Thanks!

The LLD release notes always refer to the Diff where the change was introduced. It is kind of sad that we loose all the discussions when we move to GitHub PRs.

sylvestre.ledru added inline comments.
clang/docs/ReleaseNotes.rst
49
MaskRay accepted this revision.Sep 13 2022, 10:25 AM
MaskRay added a subscriber: MaskRay.
MaskRay added inline comments.
clang/docs/ReleaseNotes.rst
49

Two backsticks for rst :)

thesamesam added inline comments.Sep 13 2022, 2:46 PM
clang/docs/ReleaseNotes.rst
52

Reflecting on this a bit, do wonder about explicitly calling out configure scripts, as I suspect it's something a lot of people may not even think of.

"The LLVM team recommends that projects using configure scripts verify the results do not change before/after setting -Werror=implicit-function-declarations (repeat for others) to avoid incompatibility with Clang 16."

aaron.ballman marked 3 inline comments as done.Sep 15 2022, 4:30 AM
aaron.ballman added inline comments.
clang/docs/ReleaseNotes.rst
52

Good idea!