]> granicus.if.org Git - clang/commitdiff
[Driver] Make -fno-common default for Fuchsia
authorPetr Hosek <phosek@chromium.org>
Fri, 23 Feb 2018 20:10:14 +0000 (20:10 +0000)
committerPetr Hosek <phosek@chromium.org>
Fri, 23 Feb 2018 20:10:14 +0000 (20:10 +0000)
We never want to generate common symbols on Fuchsia.

Differential Revision: https://reviews.llvm.org/D43545

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

lib/Driver/ToolChains/Clang.cpp
test/Driver/fuchsia.c

index c3d032d723c9bcd6c56b0cdada6733377b37e192..e24164b1ce2aa5456363b926eada69339c201195 100644 (file)
@@ -1306,6 +1306,8 @@ static bool isSignedCharDefault(const llvm::Triple &Triple) {
 static bool isNoCommonDefault(const llvm::Triple &Triple) {
   switch (Triple.getArch()) {
   default:
+    if (Triple.isOSFuchsia())
+      return true;
     return false;
 
   case llvm::Triple::xcore:
index 72157acd011f3e7912b6c9d6b5faacffa134a0a0..57dbc7372a70f04cd09655d701265007bd429b31 100644 (file)
@@ -10,6 +10,7 @@
 // CHECK: "-fuse-init-array"
 // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]"
 // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include"
+// CHECK: "-fno-common"
 // CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic"
 // CHECK: "--sysroot=[[SYSROOT]]"
 // CHECK: "-pie"