Browse Source

Merge #10843: Add attribute [[noreturn]] (C++11) to functions that will not return

b82c55a Add attribute [[noreturn]] (C++11) to functions that will not return (practicalswift)

Pull request description:

  Add attribute `[[noreturn]]` (C++11) to functions that will not return.

  Rationale:
  * Reduce the number of false positives/false negatives from static analyzers with regards to things such as unused or unreachable code
  * Potentially enable additional compiler optimizations

Tree-SHA512: 899683fe8b2fcf19bd334352271d368b46b805be9d426aac1808335fd95732d6d7078d3296951b9879196f3f6e3ec0fdb7695d0afdc3fbe4dd78a2ca70e91ff7
0.16
Wladimir J. van der Laan 7 years ago
parent
commit
2ab7c6300f
No known key found for this signature in database
GPG Key ID: 1E4AED62986CD25D
  1. 4
      src/random.cpp
  2. 8
      src/test/test_bitcoin_main.cpp

4
src/random.cpp

@ -46,10 +46,10 @@ @@ -46,10 +46,10 @@
#include <openssl/err.h>
#include <openssl/rand.h>
static void RandFailure()
[[noreturn]] static void RandFailure()
{
LogPrintf("Failed to read randomness, aborting\n");
abort();
std::abort();
}
static inline int64_t GetPerformanceCounter()

8
src/test/test_bitcoin_main.cpp

@ -10,14 +10,14 @@ @@ -10,14 +10,14 @@
std::unique_ptr<CConnman> g_connman;
void Shutdown(void* parg)
[[noreturn]] void Shutdown(void* parg)
{
exit(EXIT_SUCCESS);
std::exit(EXIT_SUCCESS);
}
void StartShutdown()
[[noreturn]] void StartShutdown()
{
exit(EXIT_SUCCESS);
std::exit(EXIT_SUCCESS);
}
bool ShutdownRequested()

Loading…
Cancel
Save