Merge pull request #11799 from benldrmn/increase_use_of_constexpr

Increase use of C++ constexpr
This commit is contained in:
Harikrishnan Mulackal 2021-08-31 17:23:36 +02:00 committed by GitHub
commit 1e334a8993
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 8 additions and 8 deletions

View File

@ -81,7 +81,7 @@ tuple<float, float> myNamespace::meanAndSigma(vector<float> const& _v)
- Copyright
- License (e.g. see COPYING)
2. Never use `#ifdef`/`#define`/`#endif` file guards. Prefer `#pragma` once as first line below file comment.
3. Prefer static const variable to value macros.
3. Prefer static constexpr variables to value macros.
4. Prefer inline constexpr functions to function macros.
5. Split complex macro on multiple lines with `\`.

View File

@ -34,6 +34,7 @@
#include <boost/algorithm/string.hpp>
#include <regex>
#include <string_view>
using namespace std;
using namespace solidity;
@ -233,7 +234,7 @@ void DocStringTagParser::parseDocStrings(
for (auto const& [tagName, tagValue]: _annotation.docTags)
{
string static const customPrefix("custom:");
string_view static constexpr customPrefix("custom:");
if (tagName == "custom" || tagName == "custom:")
m_errorReporter.docstringParsingError(
6564_error,

View File

@ -42,7 +42,7 @@ string solidity::yul::reindent(string const& _code)
{
int constexpr indentationWidth = 4;
auto const static countBraces = [](string const& _s) noexcept -> int
auto constexpr static countBraces = [](string const& _s) noexcept -> int
{
auto const i = _s.find("//");
auto const e = i == _s.npos ? end(_s) : next(begin(_s), static_cast<ptrdiff_t>(i));

View File

@ -856,7 +856,7 @@ void EVMHostPrinter::selfdestructRecords()
void EVMHostPrinter::callRecords()
{
static const auto callKind = [](evmc_call_kind _kind) -> string
static auto constexpr callKind = [](evmc_call_kind _kind) -> string
{
switch (_kind)
{

View File

@ -49,9 +49,8 @@ namespace solidity::test
using rational = boost::rational<bigint>;
// The ether and gwei denominations; here for ease of use where needed within code.
static const u256 gwei = u256(1) << 9;
static const u256 ether = u256(1) << 18;
static u256 const gwei = u256(1) << 9;
static u256 const ether = u256(1) << 18;
class ExecutionFramework
{

View File

@ -78,7 +78,7 @@ void FuzzerUtil::testCompilerJsonInterface(string const& _input, bool _optimize,
void FuzzerUtil::forceSMT(StringMap& _input)
{
// Add SMT checker pragma if not already present in source
static const char* smtPragma = "pragma experimental SMTChecker;";
static auto constexpr smtPragma = "pragma experimental SMTChecker;";
for (auto &sourceUnit: _input)
if (sourceUnit.second.find(smtPragma) == string::npos)
sourceUnit.second += smtPragma;