build: Optionally enable -Wzero-as-null-pointer-constant #15112

pull Empact wants to merge 3 commits into bitcoin:master from Empact:zero-as-null-pointer-constant changing 13 files +60 −11
  1. Empact commented at 10:47 PM on January 5, 2019: member

    Note: This is based on #14920

    This enables -Wzero-as-null-pointer-constant, while avoiding applying it to dependencies.

    Used Qt::NoItemFlags, Qt::Widget instead where applicable.

    See #10483, #10645, #13802 for more on nullptr.

  2. Empact force-pushed on Jan 5, 2019
  3. practicalswift commented at 11:07 PM on January 5, 2019: contributor

    Concept ACK and in accordance with our developer notes.

    Thanks for doing this!

    Using zero as null pointer constant is sloppy at best and dangerous at worst :-)

  4. fanquake added the label Build system on Jan 5, 2019
  5. Empact cross-referenced this on Jan 6, 2019 from issue Build: enable -Wdocumentation via isystem by Empact
  6. Empact force-pushed on Jan 6, 2019
  7. Empact force-pushed on Jan 6, 2019
  8. hebasto commented at 9:21 AM on January 6, 2019: member

    Concept ACK.

  9. maflcko commented at 9:34 AM on January 6, 2019: member

    Could submit the src/qt changes as separate pull request, since those are the bulk of the changes?

  10. practicalswift commented at 9:38 AM on January 6, 2019: contributor

    @MarcoFalke Perhaps 10f81e916d5fbb2751d03d06901f68d9b507807c (including the two non QT fixes) can be posted as a separate PR since they are all trivial to review?

  11. Empact cross-referenced this on Jan 6, 2019 from issue Qt: Replace remaining 0 with nullptr by Empact
  12. practicalswift commented at 3:30 PM on January 7, 2019: contributor

    @Empact What about -Werror=zero-as-null-pointer-constant as discussed in #15114 (comment)?

  13. Empact force-pushed on Jan 7, 2019
  14. Empact renamed this:
    build: Enable -Wzero-as-null-pointer-constant
    build: Enable -Werror=zero-as-null-pointer-constant
    on Jan 7, 2019
  15. Empact commented at 7:04 PM on January 7, 2019: member

    Enabled now. 👍

  16. practicalswift commented at 9:07 PM on January 7, 2019: contributor

    utACK 873145a56315ba032aa100646d682ec31d39e8d9

  17. Empact force-pushed on Jan 9, 2019
  18. Empact commented at 6:23 AM on January 9, 2019: member

    As per conversation with @theuni, this now is only active if the user configures with --enable-isystem, so the build possibilities are: default: disabled --enable-isystem: -Wzero-as-null-pointer-constant --enable-isystem --enable-werror: -Werror=zero-as-null-pointer-constant

    The idea being to add a travis run that exercises the latter combination to deny the introduction of violations. #14920 (comment)

  19. Empact renamed this:
    build: Enable -Werror=zero-as-null-pointer-constant
    build: Optionally enable -Wzero-as-null-pointer-constant
    on Jan 9, 2019
  20. Empact force-pushed on Jan 9, 2019
  21. DrahtBot commented at 10:49 PM on January 9, 2019: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #24914 (wallet: Load database records in a particular order by achow101)
    • #24322 ([kernel 1/n] Introduce initial libbitcoinkernel by dongcarl)
    • #24185 (refactor: only use explicit reinterpret/const casts, not implicit by PastaPastaPasta)

    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.

  22. DrahtBot added the label Needs rebase on Jan 12, 2019
  23. Empact force-pushed on Jan 13, 2019
  24. DrahtBot removed the label Needs rebase on Jan 13, 2019
  25. Empact commented at 5:48 PM on January 13, 2019: member

    Rebased for #13216

  26. DrahtBot added the label Needs rebase on Jan 13, 2019
  27. Empact force-pushed on Jan 14, 2019
  28. Empact commented at 8:43 AM on January 14, 2019: member

    Rebased for #15154

  29. DrahtBot removed the label Needs rebase on Jan 14, 2019
  30. benthecarman referenced this in commit 76335298f4 on Jan 14, 2019
  31. Empact force-pushed on Jan 14, 2019
  32. Empact commented at 6:02 AM on January 16, 2019: member

    AppVeyor failure is spurious, solved by #15171. Now that #15114 is in, the diff is much smaller here. Still should start with #14920.

  33. practicalswift commented at 7:54 AM on January 16, 2019: contributor

    @Empact Appveyor restarted.

  34. Empact force-pushed on Jan 16, 2019
  35. DrahtBot added the label Needs rebase on Jan 19, 2019
  36. Empact force-pushed on Jan 20, 2019
  37. Empact commented at 4:58 AM on January 20, 2019: member

    Rebased for #15175

  38. fanquake removed the label Needs rebase on Jan 20, 2019
  39. Empact force-pushed on Jan 20, 2019
  40. Empact force-pushed on Jan 20, 2019
  41. practicalswift commented at 8:34 AM on January 20, 2019: contributor

    utACK b4996079cda89711c2b8b80adbbb06a80f7b9c86

  42. Empact force-pushed on Jan 23, 2019
  43. Empact force-pushed on Jan 23, 2019
  44. Empact force-pushed on Feb 9, 2019
  45. Empact commented at 11:49 PM on February 9, 2019: member

    Rebased due to conflicts in #15377

  46. DrahtBot added the label Needs rebase on Mar 4, 2019
  47. Empact force-pushed on Mar 5, 2019
  48. Empact commented at 5:39 AM on March 5, 2019: member

    Rebased for #15288

  49. DrahtBot removed the label Needs rebase on Mar 5, 2019
  50. Empact force-pushed on Mar 7, 2019
  51. Empact force-pushed on Mar 7, 2019
  52. practicalswift commented at 4:41 PM on March 15, 2019: contributor

    FWIW: I've verified that a disassembly of the bitcoind binary built with this patch applied is identical to a disassembly of the bitcoind binary built against master (as expected).

  53. Empact cross-referenced this on Jun 5, 2019 from issue wallet: Refactor: Update NULL -> nullptr by mxaddict
  54. laanwj commented at 8:56 AM on June 6, 2019: member

    I get tons of these warnings (almost on every file):

    /home/user/src/bitcoin/src/tinyformat.h:119:32: warning: unknown warning group '-Wzero-as-null-pointer-constant', ignored [-Wunknown-pragmas]
    #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
                                   ^
    

    This is with clang version 3.8.1-24 (tags/RELEASE_381/final) (which is old as the hills but we apparently still support).

  55. Empact force-pushed on Jun 6, 2019
  56. Empact force-pushed on Jun 7, 2019
  57. promag commented at 9:57 AM on June 9, 2019: member

    Failing in travis with

    In file included from ./index/base.h:8:0,
                     from index/base.cpp:6:
    ./dbwrapper.h:16:10: fatal error: leveldb/db.h: No such file or directory
     #include <leveldb/db.h>
    

    Please update OP as it seems outdated.

  58. Empact commented at 12:02 PM on June 9, 2019: member

    Yeah @promag this is wip: rebasing and addressing @laanwj’s comment

  59. Empact force-pushed on Jun 10, 2019
  60. Empact force-pushed on Jun 10, 2019
  61. Empact force-pushed on Jun 17, 2019
  62. DrahtBot added the label Needs rebase on Jul 24, 2019
  63. practicalswift cross-referenced this on Aug 25, 2019 from issue build: Enable -Wsuggest-override if available by hebasto
  64. Empact force-pushed on Jan 17, 2020
  65. DrahtBot removed the label Needs rebase on Jan 17, 2020
  66. Empact force-pushed on Jan 17, 2020
  67. practicalswift commented at 4:25 PM on January 18, 2020: contributor

    @Empact Seems like the current version does not compile?

  68. Empact force-pushed on Jan 19, 2020
  69. DrahtBot cross-referenced this on Feb 11, 2020 from issue wallet: Pass in transactions and messages for signing instead of exporting the private keys by achow101
  70. DrahtBot cross-referenced this on Feb 11, 2020 from issue net: Add NAT-PMP port forwarding support by hebasto
  71. DrahtBot cross-referenced this on Feb 11, 2020 from issue WIP: Qt: add QML based mobile GUI by icota
  72. DrahtBot cross-referenced this on Feb 11, 2020 from issue gui: Bilingual GUI error messages by hebasto
  73. DrahtBot cross-referenced this on Feb 12, 2020 from issue Native Descriptor Wallets using DescriptorScriptPubKeyMan by achow101
  74. DrahtBot cross-referenced this on Feb 14, 2020 from issue build: add Wreturn-type to Werror flags, check on more Travis machines by Sjors
  75. DrahtBot cross-referenced this on Feb 14, 2020 from issue build: add --enable-isystem and change --enable-werror to enable -Werror by vasild
  76. DrahtBot cross-referenced this on Feb 16, 2020 from issue torcontrol: Launch a private Tor instance when not already running by luke-jr
  77. DrahtBot added the label Needs rebase on Feb 16, 2020
  78. Empact force-pushed on Feb 20, 2020
  79. DrahtBot removed the label Needs rebase on Feb 20, 2020
  80. DrahtBot cross-referenced this on Feb 21, 2020 from issue External signer support - Wallet Box edition by Sjors
  81. DrahtBot cross-referenced this on Feb 21, 2020 from issue util: Replace boost sleep with std sleep by maflcko
  82. DrahtBot cross-referenced this on Feb 22, 2020 from issue UI external signer support (e.g. hardware wallet) by Sjors
  83. DrahtBot cross-referenced this on Feb 28, 2020 from issue test, build: Enable -Werror=sign-compare by Empact
  84. DrahtBot cross-referenced this on Mar 5, 2020 from issue build: Remove Boost Chrono by fanquake
  85. kallewoof approved
  86. kallewoof commented at 6:33 AM on March 6, 2020: member

    ACK fc19862337f0764104a918f22a97c47fb5dcc304

    • Reviewed code
    • Tested locally; managed to trigger warning when swapping a nullptr for 0. (Was unable to get a documentation warning by messing with a @param varname , though, for some reason...)
  87. DrahtBot added the label Needs rebase on Mar 6, 2020
  88. practicalswift commented at 12:52 PM on March 6, 2020: contributor

    I'll happily re-review and re-ACK after rebase -- hopefully we can get this in soon :)

  89. Empact force-pushed on Mar 9, 2020
  90. Empact force-pushed on Mar 9, 2020
  91. DrahtBot removed the label Needs rebase on Mar 9, 2020
  92. DrahtBot cross-referenced this on Mar 9, 2020 from issue build: Require pkg-config for all of the hosts by hebasto
  93. DrahtBot cross-referenced this on Mar 9, 2020 from issue build: Fix Qt processing of configure script for depends with DEBUG=1 by hebasto
  94. DrahtBot cross-referenced this on Mar 9, 2020 from issue build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows by hebasto
  95. DrahtBot cross-referenced this on Mar 16, 2020 from issue build: Make the help string for --with-gui configure option unambiguous by hebasto
  96. DrahtBot cross-referenced this on Mar 21, 2020 from issue build: Fix libevent linking for bench_bitcoin binary by hebasto
  97. DrahtBot added the label Needs rebase on Mar 26, 2020
  98. Empact force-pushed on Apr 13, 2021
  99. Empact force-pushed on Apr 13, 2021
  100. DrahtBot removed the label Needs rebase on Apr 13, 2021
  101. laanwj commented at 9:45 AM on April 13, 2021: member

    Fails in leveldb (shouldn't it skip dependencies?):

    ./leveldb/db/skiplist.h:328:21: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant]
           head_(NewNode(0 /* any key will do */, kMaxHeight)),
                         ^
    cc1plus: some warnings being treated as errors
    
  102. in configure.ac:448 in 2036b7606f outdated
     441 | @@ -442,6 +442,10 @@ if test "x$enable_werror" = "xyes"; then
     442 |  
     443 |    if test x$suppress_external_warnings != xno ; then
     444 |      AX_CHECK_COMPILE_FLAG([-Werror=documentation],[ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=documentation"],,[[$CXXFLAG_WERROR]])
     445 | +    AX_CHECK_COMPILE_FLAG([-Werror=zero-as-null-pointer-constant],[
     446 | +      WARN_CXXFLAGS="$WARN_CXXFLAGS -Werror=zero-as-null-pointer-constant"
     447 | +      AC_DEFINE(HAVE_ZERO_AS_NULL_POINTER_CONSTANT, 1, [Define this symbol if -Wzero-as-null-pointer-constant is available])
     448 | +    ],,[[$CXXFLAG_WERROR]])
    


    hebasto commented at 11:02 AM on April 13, 2021:

    One pair of [] is redundant:

        AX_CHECK_COMPILE_FLAG([-Werror=zero-as-null-pointer-constant], [
          WARN_CXXFLAGS="$WARN_CXXFLAGS -Werror=zero-as-null-pointer-constant"
          AC_DEFINE(HAVE_ZERO_AS_NULL_POINTER_CONSTANT, 1, [Define this symbol if -Wzero-as-null-pointer-constant is available])
        ], [], [$CXXFLAG_WERROR])
    

    Empact commented at 4:30 PM on April 13, 2021:

    I'm an autoconf novice - I take it we're not concerned about macro conflicts with the CXXFLAG_WERROR as its contents are of a different form than uppercase macro definitions?

    When you use the same text in a macro argument, you must therefore have an extra quotation level (since one is stripped away by the macro substitution). In general, then, it is a good idea to use double quoting for all literal string arguments, either around just the problematic portions, or over the entire argument:

    AC_MSG_WARN([[AC_DC] stinks  --Iron Maiden])
    AC_MSG_WARN([[AC_DC stinks  --Iron Maiden]])

    https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Autoconf-Language.html#Autoconf-Language

  103. in configure.ac:482 in 2036b7606f outdated
     475 | @@ -472,6 +476,10 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
     476 |  
     477 |    if test x$suppress_external_warnings != xno ; then
     478 |      AX_CHECK_COMPILE_FLAG([-Wdocumentation],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wdocumentation"],,[[$CXXFLAG_WERROR]])
     479 | +    AX_CHECK_COMPILE_FLAG([-Wzero-as-null-pointer-constant],[
     480 | +      WARN_CXXFLAGS="$WARN_CXXFLAGS -Wzero-as-null-pointer-constant"
     481 | +      AC_DEFINE(HAVE_ZERO_AS_NULL_POINTER_CONSTANT, 1, [Define this symbol if -Wzero-as-null-pointer-constant is available])
     482 | +    ],,[[$CXXFLAG_WERROR]])
    


    hebasto commented at 11:02 AM on April 13, 2021:

    One pair of [] is redundant:

        AX_CHECK_COMPILE_FLAG([-Wzero-as-null-pointer-constant], [
          WARN_CXXFLAGS="$WARN_CXXFLAGS -Wzero-as-null-pointer-constant"
          AC_DEFINE(HAVE_ZERO_AS_NULL_POINTER_CONSTANT, 1, [Define this symbol if -Wzero-as-null-pointer-constant is available])
        ], [], [$CXXFLAG_WERROR])
    
  104. hebasto commented at 11:04 AM on April 13, 2021: member

    Approach ACK 2036b7606f16a76a300f067824168de6536c60c8

    I think the following patch could help:

    --- a/src/Makefile.leveldb.include
    +++ b/src/Makefile.leveldb.include
    @@ -36,7 +36,7 @@ LEVELDB_CPPFLAGS_INT += -DLEVELDB_PLATFORM_POSIX
     endif
     
     leveldb_libleveldb_a_CPPFLAGS = $(AM_CPPFLAGS) $(LEVELDB_CPPFLAGS_INT) $(LEVELDB_CPPFLAGS)
    -leveldb_libleveldb_a_CXXFLAGS = $(filter-out -Wconditional-uninitialized -Werror=conditional-uninitialized -Wsuggest-override -Werror=suggest-override, $(AM_CXXFLAGS)) $(PIE_FLAGS)
    +leveldb_libleveldb_a_CXXFLAGS = $(filter-out -Wconditional-uninitialized -Werror=conditional-uninitialized -Wsuggest-override -Werror=suggest-override -Wzero-as-null-pointer-constant -Werror=zero-as-null-pointer-constant, $(AM_CXXFLAGS)) $(PIE_FLAGS)
     
     leveldb_libleveldb_a_SOURCES=
     leveldb_libleveldb_a_SOURCES += leveldb/port/port_stdcxx.h
    

    In the OP could drop "Used Qt::NoItemFlags, Qt::Widget instead where applicable." ?

    In commit "Don't use zero as null pointer constant (-Wzero-as-null-pointer-constant)" (2036b7606f16a76a300f067824168de6536c60c8) could drop "Protobuf generated files via pragmas inserted via src/Makefile.am" ?

    The name HAVE_ZERO_AS_NULL_POINTER_CONSTANT seems confusing, as actually it means an activated warning, not a feature.

  105. Empact force-pushed on Apr 13, 2021
  106. Empact force-pushed on Apr 13, 2021
  107. Empact force-pushed on Apr 13, 2021
  108. Empact commented at 4:22 PM on April 13, 2021: member

    @hebasto thanks for the review - I switched to HAVE_W_ZERO_AS_NULL_POINTER_CONSTANT - do you think that's clearer? Open to suggestions.

  109. Empact force-pushed on Apr 13, 2021
  110. hebasto commented at 7:32 PM on April 13, 2021: member

    https://cirrus-ci.com/task/6169333320646656?logs=ci#L2845

    test/util_tests.cpp:1805:48: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
        void (*old_handler)(int) = signal(SIGCHLD, SIG_DFL);
                                                   ^
    /usr/include/x86_64-linux-gnu/bits/signum-generic.h:29:37: note: expanded from macro 'SIG_DFL'
    #define SIG_DFL  ((__sighandler_t)  0)  /* Default action.  */
                                        ^
    1 error generated.
    
  111. DrahtBot cross-referenced this on Apr 13, 2021 from issue build: Add -Werror=missing-noreturn by hebasto
  112. Empact force-pushed on Apr 14, 2021
  113. Empact force-pushed on Apr 21, 2021
  114. practicalswift commented at 6:21 AM on April 22, 2021: contributor

    cr ACK 7f0f2ca49f23cfd9e28892137e13f057a2152a91: patch looks correct

  115. in src/tinyformat.h:136 in 7f0f2ca49f outdated
     130 | +
     131 | +#if defined(HAVE_W_ZERO_AS_NULL_POINTER_CONSTANT)
     132 | +#pragma GCC diagnostic push
     133 | +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
     134 | +#pragma clang diagnostic push
     135 | +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
    


    hebasto commented at 5:26 PM on April 29, 2021:

    With gcc 9.3.0:

    ./tinyformat.h:134: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
      134 | #pragma clang diagnostic push
          | 
    ./tinyformat.h:135: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
      135 | #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
          | 
    

    maflcko commented at 9:07 AM on April 23, 2022:

    Might be better to do with clang-tidy or so externally instead of maiming the source code?


    fanquake commented at 12:48 PM on April 25, 2022:

    Might be better to do with clang-tidy

    Have done this in #24971.

  116. in src/tinyformat.h:1179 in 7f0f2ca49f outdated
    1173 | @@ -1163,4 +1174,9 @@ std::string format(const std::string &fmt, const Args&... args)
    1174 |  /** Format arguments and return the string or write to given std::ostream (see tinyformat::format doc for details) */
    1175 |  #define strprintf tfm::format
    1176 |  
    1177 | +#if defined(HAVE_W_ZERO_AS_NULL_POINTER_CONSTANT)
    1178 | +#pragma GCC diagnostic pop
    1179 | +#pragma clang diagnostic pop
    


    hebasto commented at 5:27 PM on April 29, 2021:

    With gcc 9.3.0:

    ./tinyformat.h:1179: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
     1179 | #pragma clang diagnostic pop
          | 
    

    Empact commented at 9:27 PM on April 22, 2022:

    I made the changes in https://github.com/bitcoin/bitcoin/pull/15112/commits/0b3c3552f4ca7d0d151265adff35bdfceac5f380 in an attempt to fix this - willing to test?

  117. in src/wallet/sqlite.cpp:374 in 7f0f2ca49f outdated
     364 | @@ -365,6 +365,14 @@ void SQLiteBatch::Close()
     365 |      }
     366 |  }
     367 |  
     368 | +// disable -Wzero-as-null-pointer-constant due to SQLITE_STATIC
    


    hebasto commented at 5:31 PM on April 29, 2021:

    If I remove changes in this file I won't receive warning with both gcc 9.3.0 and clang 10.0.0. What cases are guarded here?

    Having system sqlite 3.31.1.


    Empact commented at 1:10 PM on October 14, 2021:

    Here's the failure I get on removing that:

      CXX      wallet/libbitcoin_wallet_a-sqlite.o
    wallet/sqlite.cpp:379:73: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
        int res = sqlite3_bind_blob(m_read_stmt, 1, key.data(), key.size(), SQLITE_STATIC);
                                                                            ^
    /usr/local/Cellar/sqlite/3.36.0/include/sqlite3.h:5666:54: note: expanded from macro 'SQLITE_STATIC'
    #define SQLITE_STATIC      ((sqlite3_destructor_type)0)
                                                         ^
    wallet/sqlite.cpp:420:66: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
        int res = sqlite3_bind_blob(stmt, 1, key.data(), key.size(), SQLITE_STATIC);
                                                                     ^
    /usr/local/Cellar/sqlite/3.36.0/include/sqlite3.h:5666:54: note: expanded from macro 'SQLITE_STATIC'
    #define SQLITE_STATIC      ((sqlite3_destructor_type)0)
                                                         ^
    wallet/sqlite.cpp:427:66: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
        res = sqlite3_bind_blob(stmt, 2, value.data(), value.size(), SQLITE_STATIC);
                                                                     ^
    /usr/local/Cellar/sqlite/3.36.0/include/sqlite3.h:5666:54: note: expanded from macro 'SQLITE_STATIC'
    #define SQLITE_STATIC      ((sqlite3_destructor_type)0)
                                                         ^
    wallet/sqlite.cpp:451:75: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
        int res = sqlite3_bind_blob(m_delete_stmt, 1, key.data(), key.size(), SQLITE_STATIC);
                                                                              ^
    /usr/local/Cellar/sqlite/3.36.0/include/sqlite3.h:5666:54: note: expanded from macro 'SQLITE_STATIC'
    #define SQLITE_STATIC      ((sqlite3_destructor_type)0)
                                                         ^
    wallet/sqlite.cpp:476:73: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
        int res = sqlite3_bind_blob(m_read_stmt, 1, key.data(), key.size(), SQLITE_STATIC);
                                                                            ^
    /usr/local/Cellar/sqlite/3.36.0/include/sqlite3.h:5666:54: note: expanded from macro 'SQLITE_STATIC'
    #define SQLITE_STATIC      ((sqlite3_destructor_type)0)
                                                         ^
    5 errors generated.
    make[2]: *** [wallet/libbitcoin_wallet_a-sqlite.o] Error 1
    

    BTW:

    % clang --version
    Apple clang version 12.0.5 (clang-1205.0.22.11)
    Target: x86_64-apple-darwin20.6.0
    Thread model: posix
    InstalledDir: /Library/Developer/CommandLineTools/usr/bin
    
  118. DrahtBot cross-referenced this on May 24, 2021 from issue build: Make --enable-suppress-external-warnings the default by hebasto
  119. Munkybooty referenced this in commit 9c8420a241 on Aug 21, 2021
  120. Munkybooty referenced this in commit d4669e1898 on Aug 23, 2021
  121. Munkybooty referenced this in commit 8f57bae102 on Aug 24, 2021
  122. Munkybooty referenced this in commit 41291f2c18 on Aug 24, 2021
  123. Munkybooty referenced this in commit eed7c1f4d4 on Aug 24, 2021
  124. UdjinM6 referenced this in commit 485cf5ac70 on Aug 24, 2021
  125. Munkybooty referenced this in commit f239861eba on Aug 24, 2021
  126. DrahtBot cross-referenced this on Oct 1, 2021 from issue build: make --enable-werror just -Werror by fanquake
  127. DrahtBot added the label Needs rebase on Oct 13, 2021
  128. Empact force-pushed on Oct 14, 2021
  129. DrahtBot removed the label Needs rebase on Oct 14, 2021
  130. DrahtBot cross-referenced this on Nov 10, 2021 from issue build: boring autotools cleanup by fanquake
  131. DrahtBot added the label Needs rebase on Nov 13, 2021
  132. Empact force-pushed on Feb 28, 2022
  133. DrahtBot removed the label Needs rebase on Feb 28, 2022
  134. Empact force-pushed on Mar 2, 2022
  135. Empact force-pushed on Mar 2, 2022
  136. DrahtBot cross-referenced this on Mar 18, 2022 from issue [kernel 1/n] Introduce initial `libbitcoinkernel` by dongcarl
  137. DrahtBot cross-referenced this on Apr 8, 2022 from issue refactor: only use explicit reinterpret/const casts, not implicit by PastaPastaPasta
  138. DrahtBot cross-referenced this on Apr 19, 2022 from issue wallet: Load database records in a particular order by achow101
  139. Don't use zero as null pointer constant (-Wzero-as-null-pointer-constant) f1bdd58cda
  140. build: Enable -Wzero-as-null-pointer-constant under suppress_external_warnings
    And -Werror=zero-as-null-pointer-constant if werror are enabled.
    
    While disabling it in the following dependencies:
    * LevelDb via build flags
    * Tinyformat via pragmas due to external library
    * Sqlite via pragmas due to use of SQLITE_STATIC
    * util_tests via pragmas due to use of SIG_DFL
    0e45825838
  141. Empact referenced this in commit 58ca282f9b on Apr 22, 2022
  142. Empact force-pushed on Apr 22, 2022
  143. Empact commented at 9:25 PM on April 22, 2022: member

    Rebase for the move of SQLITE_STATIC that occurred in #23732

  144. Ignore gcc -Wunknown-pragmas in tinyformat.h
    As without this, GCC warns on the following unrecognized clang pragmas.
    https://github.com/bitcoin/bitcoin/pull/15112#discussion_r623251609
    0b3c3552f4
  145. Empact force-pushed on Apr 22, 2022
  146. fanquake cross-referenced this on Apr 25, 2022 from issue tidy: modernize-use-nullptr by fanquake
  147. fanquake commented at 10:15 AM on April 26, 2022: member

    Going to close this in favour of #24971; where we outsource this check to external tooling, and don't have to cover the codebase in pragmas to satisfy compilers.

  148. fanquake closed this on Apr 26, 2022

  149. fanquake referenced this in commit cc3877f831 on Apr 26, 2022
  150. Empact deleted the branch on Apr 26, 2022
  151. Empact commented at 5:57 PM on April 26, 2022: member

    Sounds good, one of these days I'll familiarize myself with clang-tidy.

  152. sidhujag referenced this in commit 09047541df on Apr 26, 2022
  153. gades referenced this in commit 54ed72391d on May 8, 2022
  154. PastaPastaPasta referenced this in commit 8b56495b90 on Oct 18, 2022
  155. Empact restored the branch on Nov 18, 2022
  156. bitcoin locked this on Nov 18, 2023

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: 2026-05-20 06:54 UTC