8304295: harfbuzz build fails with GCC 7 after JDK-8301998#13253
8304295: harfbuzz build fails with GCC 7 after JDK-8301998#13253caojoshua wants to merge 2 commits intoopenjdk:masterfrom
Conversation
|
👋 Welcome back caojoshua! A progress list of the required criteria for merging this PR into |
|
Bot is not filling in the PR. Did I input something wrong? Edit: nevermind, its good now |
|
@caojoshua The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
|
If we will going forward with this patch, can we exclude the warning for the old compilers only? as was mentioned in the JBS the gcc10+ compiles that code fine. |
The build system doesn't have a convenient way of selectively disable warnings for different compiler versions. I recommend against trying to implement that here. If this library is all third-party code, does it really matter that much if we disable another warning? We aren't responsible for keeping this source warning free as we can't make changes to it to anyway. |
Isnt it is possible to check the TOOLCHAIN_TYPE+TOOLCHAIN_VERSION as we did here?: |
shipilev
left a comment
There was a problem hiding this comment.
I agree with Erik, we don't need to bother with excluding a particular compiler version here. Reading the JBS issue, I believe Kim suggested the same. This PR fixes the builds for me with GCC 7, so I am happy to approve. Someone from client-libs should ack this too, and we have @mrserb among us already :)
|
@caojoshua This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 20 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@shipilev, @erikj79, @mrserb, @TheShermanTanker) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
|
I have an editorial note, though, @caojoshua: the bug says "VM build fails", but Harfbuzz is not technically part of VM. I understand it was like that before you took it. It would be better to rename the bug and this PR to "Build fails with GCC 7 after JDK-8301998", before it leaked into the permanent history of commits :) |
As I said, it's possible, but inconvenient, and IMO not worth it for just disabling a warning. The linked example changes an optimization flag to avoid a compiler bug. That seems like a severe enough consequence to warrant such construct in the build. We want to avoid having a large amount of compiler version checks in the makefiles. In make we can only easily compare versions for equality and not ranges. That said, it may be worth adding a comment that this warning has only been observed with GCC 7. That will help in the future when someone tries to remove disabled warnings. |
Then the comment is better than nothing. |
|
/summary harfbuzz build fails with GCC 7 after JDK-8301998 |
|
@caojoshua Setting summary to |
|
Added a comment as suggested by @erikj79 I incorrectly used the |
|
/summary |
|
@caojoshua Removing existing summary |
|
/integrate |
|
@caojoshua |
|
/sponsor |
|
Going to push as commit 34e66ce.
Your commit was automatically rebased without conflicts. |
|
@TheShermanTanker @caojoshua Pushed as commit 34e66ce. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Builds successfully with GCC 7
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/13253/head:pull/13253$ git checkout pull/13253Update a local copy of the PR:
$ git checkout pull/13253$ git pull https://git.openjdk.org/jdk.git pull/13253/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 13253View PR using the GUI difftool:
$ git pr show -t 13253Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/13253.diff