diff options
Diffstat (limited to 'migration/migration.hpp')
| -rw-r--r-- | migration/migration.hpp | 15 | 
1 files changed, 5 insertions, 10 deletions
| diff --git a/migration/migration.hpp b/migration/migration.hpp index 2c1fee5b..a3035247 100644 --- a/migration/migration.hpp +++ b/migration/migration.hpp @@ -57,19 +57,14 @@ namespace detail {      };  } -#ifndef __COUNTER__ -#   error "oops, need __COUNTER__ extension for preprocessor" -#endif +#define OPENTRACK_MIGRATION3(type, ctr) \ +    static const char init_##ctr = (::migrations::detail::registrator<type>{}, 0); -#define MIGRATE_EXPAND2(x) x -#define MIGRATE_EXPAND1(x) MIGRATE_EXPAND2(x) -#define MIGRATE_EXPANDED2(type, ctr) \ -    static ::migrations::detail::registrator<type> opentrack_migration_registrator_ ## ctr -#define MIGRATE_EXPANDED1(type, ctr) \ -    MIGRATE_EXPANDED2(type, ctr) +#define OPENTRACK_MIGRATION2(type, ctr) \ +    OPENTRACK_MIGRATION3(type, ctr)  #define OPENTRACK_MIGRATION(type) \ -    MIGRATE_EXPANDED1(type, MIGRATE_EXPAND1(__COUNTER__)) +    OPENTRACK_MIGRATION2(type, __COUNTER__)  struct migration  { | 
