summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Timer.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-05-29 20:56:27 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-05-29 20:56:27 +0000
commit74de08031f5d31da055eead7af9e22411cd794b4 (patch)
treefa73f0680d9c31dd171d0ae574b5175b49dba266 /llvm/lib/Support/Timer.cpp
parentaf66659d6b6431b784c02f9ce6433062cc97c96c (diff)
downloadbcm5719-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.cpp8
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; }
OpenPOWER on IntegriCloud