diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-05-29 20:56:27 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-05-29 20:56:27 +0000 |
commit | 74de08031f5d31da055eead7af9e22411cd794b4 (patch) | |
tree | fa73f0680d9c31dd171d0ae574b5175b49dba266 /llvm/lib/Support/Timer.cpp | |
parent | af66659d6b6431b784c02f9ce6433062cc97c96c (diff) | |
download | bcm5719-llvm-74de08031f5d31da055eead7af9e22411cd794b4.tar.gz bcm5719-llvm-74de08031f5d31da055eead7af9e22411cd794b4.zip |
[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
Diffstat (limited to 'llvm/lib/Support/Timer.cpp')
-rw-r--r-- | llvm/lib/Support/Timer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
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<raw_fd_ostream> 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<TimerGroup, CreateDefaultTimerGroup> DefaultTimerGroup; static TimerGroup *getDefaultTimerGroup() { return &*DefaultTimerGroup; } |