build: re-enable deprecated warning copy #30236

pull theuni wants to merge 1 commits into bitcoin:master from theuni:reenable-deprecated-copy changing 1 files +0 −3
  1. theuni commented at 9:10 pm on June 5, 2024: member

    Noticed while looking at the -wno-* flags in #30235.

    This was disabled in #18738 due to the combo of old gcc and qt. We no longer support the affected gcc, and the old qt should no longer be relevant to us anyway.

    See old fixes in: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88136 and https://bugreports.qt.io/browse/QTBUG-75210 and https://codereview.qt-project.org/c/qt/qtbase/+/245434

  2. build: re-enable deprecated warning copy
    This was disabled in #18738 due to the combo of old gcc and qt, neither of
    which are relevant to us anymore.
    c3a5e8a063
  3. DrahtBot commented at 9:10 pm on June 5, 2024: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK maflcko, fanquake

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #30235 (build: warn on self-assignment by theuni)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  4. DrahtBot added the label Build system on Jun 5, 2024
  5. maflcko commented at 7:21 am on June 6, 2024: member
    ACK c3a5e8a0639ff2505adb4a4e7776db87d5ebafd3
  6. maflcko added the label Needs CMake port on Jun 6, 2024
  7. fanquake approved
  8. fanquake commented at 9:48 am on June 6, 2024: member
    ACK c3a5e8a0639ff2505adb4a4e7776db87d5ebafd3 - this is in -Wextra for Clang and GCC.
  9. fanquake merged this on Jun 6, 2024
  10. fanquake closed this on Jun 6, 2024

  11. maflcko commented at 9:50 am on June 6, 2024: member
    An alternative/addition would be to have one CI task compile with C++23, but that can be done after the cmake transition (remind me)
  12. fanquake commented at 9:55 am on June 6, 2024: member

    An alternative/addition would be to have one CI task compile with C++23, but that can be done after the cmake transition (remind me)

    Can you clarify how this PR is related to C++23? I don’t see CMake as a blocker, if that’s something we want to do.

  13. hebasto commented at 10:27 am on June 6, 2024: member
    Post-merge ACK c3a5e8a0639ff2505adb4a4e7776db87d5ebafd3.
  14. maflcko commented at 10:32 am on June 6, 2024: member

    An alternative/addition would be to have one CI task compile with C++23, but that can be done after the cmake transition (remind me)

    Can you clarify how this PR is related to C++23? I don’t see CMake as a blocker, if that’s something we want to do.

    Ah sorry, looks like they didn’t change anything about the deprecation in C++23 and it is kept as-is for now.

    However, I found that this patch seems incomplete. For example, no warning is printed to catch https://eel.is/c++draft/depr.impldec, unless -Wdeprecated-copy-dtor is passed. See https://godbolt.org/z/GTGbWGEnr

  15. maflcko commented at 10:35 am on June 6, 2024: member

    For reference https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2139r2.html#3.8 said:

     Strong recommendation: take decisive action early in the C++23 development cycle, so early adopters can shake out the remaining cost of updating old code. Note that this would be both an API and ABI breaking change, and it would be good to set that precedent early if we wish to allow such breakage in C++23. 
    

    But that didn’t happen.

  16. hebasto commented at 10:36 am on June 6, 2024: member
    CMake includes dependencies with -isystem, which is equivalent to suppress_external_warnings = yes. Therefore, the block removed in this PR has never been a part of the CMake staging branch.
  17. hebasto removed the label Needs CMake port on Jun 6, 2024
  18. fanquake commented at 10:38 am on June 6, 2024: member

    unless -Wdeprecated-copy-dtor is passed.

    I think we can turn on additional warning flags, if you think that is valuable.

    CMake includes dependencies with -isystem, which is equivalent to suppress_external_warnings = yes.

    We may still need a way to disable that functionality, so all warnings can be observed, so I think this block (or atleast the functionality) is still relevant.

  19. fanquake commented at 10:39 am on June 6, 2024: member
    See comments starting here: #30189 (comment). cc @maflcko.
  20. maflcko commented at 10:43 am on June 6, 2024: member

    unless -Wdeprecated-copy-dtor is passed.

    I think we can turn on additional warning flags, if you think that is valuable.

    Yeah, not sure how useful that’d be, given that the deprecation apparently won’t result in a deletion (for now).

    CMake includes dependencies with -isystem, which is equivalent to suppress_external_warnings = yes.

    We may still need a way to disable that functionality, so all warnings can be observed, so I think this block (or atleast the functionality) is still relevant.

    Yeah, could open a tracking issue in the cmake repo (hebasto/bitcoin)?

  21. fanquake commented at 10:57 am on June 6, 2024: member

    Yeah, could open a tracking issue in the cmake repo (hebasto/bitcoin)?

    Opened one here so it isn’t forgotten: https://github.com/hebasto/bitcoin/issues/223.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-06-29 07:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me