From: Petr Hosek Date: Fri, 23 Feb 2018 20:10:14 +0000 (+0000) Subject: [Driver] Make -fno-common default for Fuchsia X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7ab2c822b75e4f6cfab7317ab737ee90ae66a097;p=clang [Driver] Make -fno-common default for Fuchsia 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 --- diff --git a/lib/Driver/ToolChains/Clang.cpp b/lib/Driver/ToolChains/Clang.cpp index c3d032d723..e24164b1ce 100644 --- a/lib/Driver/ToolChains/Clang.cpp +++ b/lib/Driver/ToolChains/Clang.cpp @@ -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: diff --git a/test/Driver/fuchsia.c b/test/Driver/fuchsia.c index 72157acd01..57dbc7372a 100644 --- a/test/Driver/fuchsia.c +++ b/test/Driver/fuchsia.c @@ -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"