[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304175 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer
2017-05-29 20:56:27 +00:00
parent dbdee033c3
commit e005fa57be
3 changed files with 23 additions and 14 deletions
+5 -3
View File
@@ -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; }