]> granicus.if.org Git - clang/commitdiff
Avoid using a local static for providing lexical
authorFariborz Jahanian <fjahanian@apple.com>
Mon, 21 Jun 2010 23:31:29 +0000 (23:31 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Mon, 21 Jun 2010 23:31:29 +0000 (23:31 +0000)
order of priorotized global object initializations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106503 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDeclCXX.cpp

index 9faaed55386d1f777e9b6538328b06bde6e1a483..c2e2dd0ee48000603464462ec0584e24e33a52e2 100644 (file)
@@ -172,10 +172,8 @@ CodeGenModule::EmitCXXGlobalVarDeclInitFunc(const VarDecl *D) {
   CodeGenFunction(*this).GenerateCXXGlobalVarDeclInitFunc(Fn, D);
 
   if (D->hasAttr<InitPriorityAttr>()) {
-    static unsigned lix = 0; // to keep the lexical order of equal priority
-                             // objects intact;
     unsigned int order = D->getAttr<InitPriorityAttr>()->getPriority();
-    OrderGlobalInitsType Key(order, lix++);
+    OrderGlobalInitsType Key(order, PrioritizedCXXGlobalInits.size());
     PrioritizedCXXGlobalInits.push_back(std::make_pair(Key, Fn));
   }
   else