[llvm-commits] CVS: llvm/lib/AsmParser/llvmAsmParser.y

Chris Lattner sabre at nondot.org
Wed Apr 25 22:30:53 PDT 2007



Changes in directory llvm/lib/AsmParser:

llvmAsmParser.y updated: 1.350 -> 1.351
---
Log message:

wrap long lines

Fix PR1358: http://llvm.org/PR1358  and test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll, by 
creating forward decl globals with linkage extern_weak to defeat implicit
constant folding.


---
Diffs of the changes:  (+16 -10)

 llvmAsmParser.y |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)


Index: llvm/lib/AsmParser/llvmAsmParser.y
diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.350 llvm/lib/AsmParser/llvmAsmParser.y:1.351
--- llvm/lib/AsmParser/llvmAsmParser.y:1.350	Wed Apr 25 18:52:02 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y	Thu Apr 26 00:30:35 2007
@@ -1608,7 +1608,8 @@
 
     // Check to ensure that Type is not packed
     if (STy->isPacked())
-      GEN_ERROR("Unpacked Initializer to vector type '" + STy->getDescription() + "'");
+      GEN_ERROR("Unpacked Initializer to vector type '" +
+                STy->getDescription() + "'");
 
     $$ = ConstantStruct::get(STy, *$3);
     delete $1; delete $3;
@@ -1627,7 +1628,8 @@
 
     // Check to ensure that Type is not packed
     if (STy->isPacked())
-      GEN_ERROR("Unpacked Initializer to vector type '" + STy->getDescription() + "'");
+      GEN_ERROR("Unpacked Initializer to vector type '" +
+                STy->getDescription() + "'");
 
     $$ = ConstantStruct::get(STy, std::vector<Constant*>());
     delete $1;
@@ -1746,11 +1748,11 @@
         GlobalValue *GV;
         if (const FunctionType *FTy = 
                  dyn_cast<FunctionType>(PT->getElementType())) {
-          GV = new Function(FTy, GlobalValue::ExternalLinkage, Name,
+          GV = new Function(FTy, GlobalValue::ExternalWeakLinkage, Name,
                             CurModule.CurrentModule);
         } else {
           GV = new GlobalVariable(PT->getElementType(), false,
-                                  GlobalValue::ExternalLinkage, 0,
+                                  GlobalValue::ExternalWeakLinkage, 0,
                                   Name, CurModule.CurrentModule);
         }
 
@@ -2023,7 +2025,8 @@
   } GlobalVarAttributes {
     CurGV = 0;
   }
-  | OptGlobalAssign GVInternalLinkage GVVisibilityStyle ThreadLocal GlobalType ConstVal {
+  | OptGlobalAssign GVInternalLinkage GVVisibilityStyle ThreadLocal GlobalType
+    ConstVal {
     if ($6 == 0) 
       GEN_ERROR("Global value initializer is not a constant");
     CurGV = ParseGlobalVariable($1, $2, $3, $5, $6->getType(), $6, $4);
@@ -2031,7 +2034,8 @@
   } GlobalVarAttributes {
     CurGV = 0;
   }
-  | OptGlobalAssign GVExternalLinkage GVVisibilityStyle ThreadLocal GlobalType Types {
+  | OptGlobalAssign GVExternalLinkage GVVisibilityStyle ThreadLocal GlobalType
+    Types {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$6)->getDescription());
     CurGV = ParseGlobalVariable($1, $2, $3, $5, *$6, 0, $4);
@@ -2041,7 +2045,8 @@
     CurGV = 0;
     CHECK_FOR_ERROR
   }
-  | OptGlobalAssign GVVisibilityStyle ALIAS AliasLinkage ResultTypes SymbolicValueRef {
+  | OptGlobalAssign GVVisibilityStyle ALIAS AliasLinkage ResultTypes
+    SymbolicValueRef {
     std::string Name($1);
     if (Name.empty())
       GEN_ERROR("Alias name cannot be empty")
@@ -2060,7 +2065,8 @@
     if (V == 0)
       GEN_ERROR(std::string("Invalid aliasee for alias: ") + $1);
     if (GlobalValue* Aliasee = dyn_cast<GlobalValue>(V)) {
-      GlobalAlias* GA = new GlobalAlias(VTy, $4, Name, Aliasee, CurModule.CurrentModule);
+      GlobalAlias* GA = new GlobalAlias(VTy, $4, Name, Aliasee,
+                                        CurModule.CurrentModule);
       GA->setVisibility($2);
       InsertValue(GA, CurModule.Values);
     } else
@@ -2228,7 +2234,7 @@
     CurModule.CurrentModule->getFunctionList().push_back(Fn);
   } else if (!FunctionName.empty() &&     // Merge with an earlier prototype?
              (Fn = CurModule.CurrentModule->getFunction(FunctionName))) {
-    if (Fn->getFunctionType() != FT ) {
+    if (Fn->getFunctionType() != FT) {
       // The existing function doesn't have the same type. This is an overload
       // error.
       GEN_ERROR("Overload of function '" + FunctionName + "' not permitted.");
@@ -2243,7 +2249,7 @@
         AI->setName("");
     }
   } else  {  // Not already defined?
-    Fn = new Function(FT, GlobalValue::ExternalLinkage, FunctionName,
+    Fn = new Function(FT, GlobalValue::ExternalWeakLinkage, FunctionName,
                       CurModule.CurrentModule);
 
     InsertValue(Fn, CurModule.Values);






More information about the llvm-commits mailing list