[llvm-commits] CVS: llvm/lib/Linker/LinkModules.cpp

Lauro Ramos Venancio lauro.venancio at gmail.com
Thu Apr 12 11:33:33 PDT 2007



Changes in directory llvm/lib/Linker:

LinkModules.cpp updated: 1.138 -> 1.139
---
Log message:

Implement the "thread_local" keyword.


---
Diffs of the changes:  (+4 -3)

 LinkModules.cpp |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/lib/Linker/LinkModules.cpp
diff -u llvm/lib/Linker/LinkModules.cpp:1.138 llvm/lib/Linker/LinkModules.cpp:1.139
--- llvm/lib/Linker/LinkModules.cpp:1.138	Wed Feb 14 20:26:10 2007
+++ llvm/lib/Linker/LinkModules.cpp	Thu Apr 12 13:32:50 2007
@@ -477,7 +477,7 @@
       GlobalVariable *NewDGV =
         new GlobalVariable(SGV->getType()->getElementType(),
                            SGV->isConstant(), SGV->getLinkage(), /*init*/0,
-                           SGV->getName(), Dest);
+                           SGV->getName(), Dest, SGV->isThreadLocal());
       // Propagate alignment, visibility and section info.
       CopyGVAttributes(NewDGV, SGV);
 
@@ -500,7 +500,7 @@
       GlobalVariable *NewDGV =
         new GlobalVariable(SGV->getType()->getElementType(),
                            SGV->isConstant(), SGV->getLinkage(), /*init*/0,
-                           "", Dest);
+                           "", Dest, SGV->isThreadLocal());
 
       // Propagate alignment, section and visibility  info.
       NewDGV->setAlignment(DGV->getAlignment());
@@ -522,6 +522,7 @@
         GlobalVariable *NewDGV =
           new GlobalVariable(SGV->getType()->getElementType(),
                              DGV->isConstant(), DGV->getLinkage());
+        NewDGV->setThreadLocal(DGV->isThreadLocal());
         CopyGVAttributes(NewDGV, DGV);
         Dest->getGlobalList().insert(DGV, NewDGV);
         DGV->replaceAllUsesWith(
@@ -821,7 +822,7 @@
       // Create the new global variable...
       GlobalVariable *NG =
         new GlobalVariable(NewType, G1->isConstant(), G1->getLinkage(),
-                           /*init*/0, First->first, M);
+                           /*init*/0, First->first, M, G1->isThreadLocal());
 
       // Merge the initializer...
       Inits.reserve(NewSize);






More information about the llvm-commits mailing list