Index: vm/flags.h |
=================================================================== |
--- vm/flags.h (revision 5257) |
+++ vm/flags.h (working copy) |
@@ -19,7 +19,10 @@ |
default_value, \ |
comment) |
+#define DEFINE_FLAG_HANDLER(handler, name, comment) \ |
+ bool DUMMY_##name = Flags::Register_func(handler, #name, comment) |
+ |
#if defined(DEBUG) |
#define DECLARE_DEBUG_FLAG(type, name) DECLARE_FLAG(type, name) |
#define DEFINE_DEBUG_FLAG(type, name, default_value, comment) \ |
@@ -31,6 +34,8 @@ |
namespace dart { |
+typedef void (*FlagHandler)(bool value); |
+ |
// Forward declaration. |
class Flag; |
@@ -51,6 +56,10 @@ |
const char* default_value, |
const char* comment); |
+ static bool Register_func(FlagHandler handler, |
+ const char* name, |
+ const char* comment); |
+ |
static bool ProcessCommandLineFlags(int argc, const char** argv); |
static Flag* Lookup(const char* name); |