From 74de08031f5d31da055eead7af9e22411cd794b4 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Mon, 29 May 2017 20:56:27 +0000 Subject: [ManagedStatic] Avoid putting function pointers in template args. This is super awkward, but GCC doesn't let us have template visible when an argument is an inline function and -fvisibility-inlines-hidden is used. llvm-svn: 304175 --- llvm/lib/Support/Timer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Support/Timer.cpp') diff --git a/llvm/lib/Support/Timer.cpp b/llvm/lib/Support/Timer.cpp index ddcb057218d..dec6baf7bf4 100644 --- a/llvm/lib/Support/Timer.cpp +++ b/llvm/lib/Support/Timer.cpp @@ -73,9 +73,11 @@ std::unique_ptr llvm::CreateInfoOutputFile() { } namespace { -void *CreateDefaultTimerGroup() { - return new TimerGroup("misc", "Miscellaneous Ungrouped Timers"); -} +struct CreateDefaultTimerGroup { + static void *call() { + return new TimerGroup("misc", "Miscellaneous Ungrouped Timers"); + } +}; } // namespace static ManagedStatic DefaultTimerGroup; static TimerGroup *getDefaultTimerGroup() { return &*DefaultTimerGroup; } -- cgit v1.2.3