summaryrefslogtreecommitdiffhomepage
path: root/migration/20160906_02-modules.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2018-02-15 09:06:13 +0100
committerStanislaw Halik <sthalik@misaki.pl>2018-02-15 10:23:11 +0100
commit0a92bc147f91f3ecacdf66d995f01f9577107a86 (patch)
treed748f1b081cd37eb2b4a6cd6b5254433ba8b8dab /migration/20160906_02-modules.cpp
parentd8327db8025e56500ebb0bef2ab45aa8963a36ca (diff)
clean up "static" and "constexpr" types
- use `static constexpr inline' to avoid requiring explicit declarations in object code - use `const Foo* const' to maybe put into readonly binary segment (at least for ELF DSOs) - `constexpr' in function scope has storage, avoid `static' - don't use `constexpr' where there's no advantage, like arrays We'd like to avoid overhead of atomic initialization for each function call. No idea how `static constexpr' requiring storage in the standard plays with atomic initialization requirement. Hearsay points that `constexpr' without `static' in block scope behaves more to our liking. It's all hazy though. I'm not 100% sure if `static inline constexpr' has any storage. Hopefully none, like a #define, and stuff bigger than registers gets coalesced within the same module, with small stuff being immediates.
Diffstat (limited to 'migration/20160906_02-modules.cpp')
-rw-r--r--migration/20160906_02-modules.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/migration/20160906_02-modules.cpp b/migration/20160906_02-modules.cpp
index 0f0951f1..9ce2b9dc 100644
--- a/migration/20160906_02-modules.cpp
+++ b/migration/20160906_02-modules.cpp
@@ -15,12 +15,17 @@
using namespace options;
using namespace migrations;
+static const char* const module_names[3] =
+{
+ "tracker-dll",
+ "protocol-dll",
+ "filter-dll",
+};
+
struct split_modules_rc11 : migration
{
split_modules_rc11() = default;
- static const char* names[3];
-
QString unique_date() const override
{
return "20160909_02";
@@ -36,11 +41,11 @@ struct split_modules_rc11 : migration
bundle new_bundle = make_bundle("modules");
bundle old_bundle = make_bundle("opentrack-ui");
- for (const char* name : names)
+ for (const char* name : module_names)
if (new_bundle->contains(name))
return false;
- for (const char* name : names)
+ for (const char* name : module_names)
if (old_bundle->contains(name))
return true;
@@ -52,18 +57,11 @@ struct split_modules_rc11 : migration
bundle new_bundle = make_bundle("modules");
bundle old_bundle = make_bundle("opentrack-ui");
- for (const char* name : names)
+ for (const char* name : module_names)
new_bundle->store_kv(name, QVariant(old_bundle->get<QString>(name)));
new_bundle->save();
}
};
-const char* split_modules_rc11::names[3] =
-{
- "tracker-dll",
- "protocol-dll",
- "filter-dll",
-};
-
OPENTRACK_MIGRATION(split_modules_rc11);