[llvm-commits] [dragonegg] r137239 - /dragonegg/trunk/src/Backend.cpp

Duncan Sands baldrick at free.fr
Wed Aug 10 12:43:19 PDT 2011


Author: baldrick
Date: Wed Aug 10 14:43:18 2011
New Revision: 137239

URL: http://llvm.org/viewvc/llvm-project?rev=137239&view=rev
Log:
It looks like the linkage type tweaking of commit 137215
caused the buildbot failures, not the tighter logic for
choosing what we output.  So revert the linkage part, and
restore the output choice logic.

Modified:
    dragonegg/trunk/src/Backend.cpp

Modified: dragonegg/trunk/src/Backend.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Backend.cpp?rev=137239&r1=137238&r2=137239&view=diff
==============================================================================
--- dragonegg/trunk/src/Backend.cpp (original)
+++ dragonegg/trunk/src/Backend.cpp Wed Aug 10 14:43:18 2011
@@ -869,17 +869,17 @@
     Linkage = GlobalValue::LinkerPrivateLinkage;
   } else if (!TREE_PUBLIC(decl)) {
     Linkage = GlobalValue::InternalLinkage;
-  } else if (DECL_COMDAT(decl)) {
-    Linkage = GlobalValue::getLinkOnceLinkage(flag_odr);
-  } else if (DECL_ONE_ONLY(decl)) {
-    Linkage = GlobalValue::getWeakLinkage(flag_odr);
   } else if (DECL_WEAK(decl)) {
     // The user may have explicitly asked for weak linkage - ignore flag_odr.
     Linkage = GlobalValue::WeakAnyLinkage;
+  } else if (DECL_ONE_ONLY(decl)) {
+    Linkage = GlobalValue::getWeakLinkage(flag_odr);
   } else if (DECL_COMMON(decl) &&  // DECL_COMMON is only meaningful if no init
              (!DECL_INITIAL(decl) || DECL_INITIAL(decl) == error_mark_node)) {
     // llvm-gcc also includes DECL_VIRTUAL_P here.
     Linkage = GlobalValue::CommonLinkage;
+  } else if (DECL_COMDAT(decl)) {
+    Linkage = GlobalValue::getLinkOnceLinkage(flag_odr);
   } else {
     Linkage = GV->getLinkage();
   }
@@ -1668,9 +1668,8 @@
 #if (GCC_MINOR > 5)
         varpool_can_remove_if_no_refs(vnode)
 #else
-        0 // FIXME: Code below broke buildbots.
-//        (DECL_COMDAT(decl) || (DECL_ARTIFICIAL(decl) &&
-//                               !vnode->externally_visible))
+        (DECL_COMDAT(decl) || (DECL_ARTIFICIAL(decl) &&
+                               !vnode->externally_visible))
 #endif
        )
       continue;





More information about the llvm-commits mailing list