diff --git a/toolkit/components/telemetry/build_scripts/gen_event_enum.py b/toolkit/components/telemetry/build_scripts/gen_event_enum.py index 24055fb67b14..0ab2c195b61f 100644 --- a/toolkit/components/telemetry/build_scripts/gen_event_enum.py +++ b/toolkit/components/telemetry/build_scripts/gen_event_enum.py @@ -21,11 +21,11 @@ file_header = """\ #define mozilla_TelemetryEventEnums_h namespace mozilla { namespace Telemetry { -namespace EventID { +enum class EventID : uint32_t {\ """ file_footer = """\ -} // namespace EventID +}; } // namespace mozilla } // namespace Telemetry #endif // mozilla_TelemetryEventEnums_h @@ -59,21 +59,16 @@ def main(output, *filenames): for category, indexed in grouped.iteritems(): category_cpp = indexed[0][1].category_cpp - print("// category: %s" % category, file=output) - print("enum class %s : uint32_t {" % category_cpp, file=output) + print(" // category: %s" % category, file=output) for event_index, e in indexed: if e.record_on_os(buildconfig.substs["OS_TARGET"]): for offset, label in enumerate(e.enum_labels): - print(" %s = %d," % (label, event_index + offset), file=output) + print(" %s_%s = %d," + % (category_cpp, label, event_index + offset), file=output) - print("};\n", file=output) - - print("#if defined(_MSC_VER) && !defined(__clang__)", file=output) - print("const uint32_t EventCount = %d;" % index, file=output) - print("#else", file=output) - print("constexpr uint32_t EventCount = %d;" % index, file=output) - print("#endif\n", file=output) + print(" // meta", file=output) + print(" EventCount = %d," % index, file=output) print(file_footer, file=output) diff --git a/toolkit/components/telemetry/core/TelemetryEvent.cpp b/toolkit/components/telemetry/core/TelemetryEvent.cpp index b535ad7e3ab9..c990d1a0a462 100644 --- a/toolkit/components/telemetry/core/TelemetryEvent.cpp +++ b/toolkit/components/telemetry/core/TelemetryEvent.cpp @@ -99,7 +99,8 @@ namespace TelemetryIPCAccumulator = mozilla::TelemetryIPCAccumulator; namespace { -const uint32_t kEventCount = mozilla::Telemetry::EventID::EventCount; +const uint32_t kEventCount = + static_cast(mozilla::Telemetry::EventID::EventCount); // This is a special event id used to mark expired events, to make expiry checks // cheap at runtime. const uint32_t kExpiredEventId = std::numeric_limits::max();