Revert the last patch as it causes a static destruction ordering problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18925 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-12-14 03:55:21 +00:00
parent 93f8f55e19
commit f6e5a25f3a

View File

@ -33,10 +33,12 @@ namespace llvm { extern std::ostream *GetLibSupportInfoOutputFile(); }
// problem is that a Statistic<> object gets destroyed, which ends up calling // problem is that a Statistic<> object gets destroyed, which ends up calling
// 'GetLibSupportInfoOutputFile()' (below), which calls this function. // 'GetLibSupportInfoOutputFile()' (below), which calls this function.
// LibSupportInfoOutputFilename used to be a global variable, but sometimes it // LibSupportInfoOutputFilename used to be a global variable, but sometimes it
// would get destroyed before the Statistic, causing havoc to ensue. // would get destroyed before the Statistic, causing havoc to ensue. We "fix"
// this by creating the string the first time it is needed and never destroying
// it.
static std::string &getLibSupportInfoOutputFilename() { static std::string &getLibSupportInfoOutputFilename() {
static std::string LibSupportInfoOutputFilename; static std::string *LibSupportInfoOutputFilename = new std::string();
return LibSupportInfoOutputFilename; return *LibSupportInfoOutputFilename;
} }
namespace { namespace {