Convert constant macros to constexpr expressions

Also convert some `const[expr] static xxx` to `const[expr] xxx` where it makes
sense to let the compiler deduce on its own whether or not to allocate storage
for a constant variable rather than imposing our view that it should have STATIC
storage set aside for it.

A few call sites were not making use of the `XXX_LEN` definitions and were
calling `strlen(XXX)` - these have been updated to use `const_strlen(XXX)`
instead.

I'm not sure if any toolchains will have raise any issues with these changes...
CI will tell!
This commit is contained in:
Mahmoud Al-Qudsi
2022-09-19 17:13:47 -05:00
parent 549958a7ea
commit e1626818f7
37 changed files with 115 additions and 116 deletions

View File

@@ -32,7 +32,7 @@
#include "wutil.h" // IWYU pragma: keep
/// A name for our own key mapping for nul.
static const wchar_t *k_nul_mapping_name = L"nul";
constexpr const wchar_t k_nul_mapping_name[] = L"nul";
/// Struct representing a keybinding. Returned by input_get_mappings.
struct input_mapping_t {
@@ -72,7 +72,7 @@ struct terminfo_mapping_t {
terminfo_mapping_t(const wchar_t *name, std::string s) : name(name), seq(std::move(s)) {}
};
static constexpr size_t input_function_count = R_END_INPUT_FUNCTIONS;
constexpr size_t input_function_count = R_END_INPUT_FUNCTIONS;
/// Input function metadata. This list should be kept in sync with the key code list in
/// input_common.h.