diff options
| author | Sam Clegg <sbc@chromium.org> | 2018-01-31 18:55:22 +0000 |
|---|---|---|
| committer | Sam Clegg <sbc@chromium.org> | 2018-01-31 18:55:22 +0000 |
| commit | 7892ae44b415d90d9d3f524edb9aa117d2e3c87f (patch) | |
| tree | 7501a4040ca19bc958fa796039943edb500a8215 /clang | |
| parent | 07df4ffae7a8fa2153529356be56487c583ba30f (diff) | |
| download | bcm5719-llvm-7892ae44b415d90d9d3f524edb9aa117d2e3c87f.tar.gz bcm5719-llvm-7892ae44b415d90d9d3f524edb9aa117d2e3c87f.zip | |
[WebAssembly] Don't pass -ffunction-section/-fdata-sections
llvm currently forces both of these to true to passing them
is redundant.
Differential Revision: https://reviews.llvm.org/D37831
llvm-svn: 323897
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Driver/ToolChains/CommonArgs.cpp | 7 | ||||
| -rw-r--r-- | clang/test/Driver/wasm-toolchain.c | 17 | ||||
| -rw-r--r-- | clang/test/Driver/wasm-toolchain.cpp | 17 |
3 files changed, 6 insertions, 35 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index f5c0b7f8ccf..a8ec8b10786 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -363,12 +363,9 @@ unsigned tools::getLTOParallelism(const ArgList &Args, const Driver &D) { return Parallelism; } -// CloudABI and WebAssembly use -ffunction-sections and -fdata-sections by -// default. +// CloudABI uses -ffunction-sections and -fdata-sections by default. bool tools::isUseSeparateSections(const llvm::Triple &Triple) { - return Triple.getOS() == llvm::Triple::CloudABI || - Triple.getArch() == llvm::Triple::wasm32 || - Triple.getArch() == llvm::Triple::wasm64; + return Triple.getOS() == llvm::Triple::CloudABI; } void tools::AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args, diff --git a/clang/test/Driver/wasm-toolchain.c b/clang/test/Driver/wasm-toolchain.c index daa2f16d087..b1f5f48f874 100644 --- a/clang/test/Driver/wasm-toolchain.c +++ b/clang/test/Driver/wasm-toolchain.c @@ -1,21 +1,8 @@ // A basic clang -cc1 command-line. WebAssembly is somewhat special in -// enabling -ffunction-sections, -fdata-sections, and -fvisibility=hidden by -// default. +// enabling -fvisibility=hidden by default. // RUN: %clang %s -### -no-canonical-prefixes -target wasm32-unknown-unknown 2>&1 | FileCheck -check-prefix=CC1 %s -// CC1: clang{{.*}} "-cc1" "-triple" "wasm32-unknown-unknown" {{.*}} "-fvisibility" "hidden" {{.*}} "-ffunction-sections" "-fdata-sections" - -// Ditto, but ensure that a user -fno-function-sections disables the -// default -ffunction-sections. - -// RUN: %clang %s -### -target wasm32-unknown-unknown -fno-function-sections 2>&1 | FileCheck -check-prefix=NO_FUNCTION_SECTIONS %s -// NO_FUNCTION_SECTIONS-NOT: function-sections - -// Ditto, but ensure that a user -fno-data-sections disables the -// default -fdata-sections. - -// RUN: %clang %s -### -target wasm32-unknown-unknown -fno-data-sections 2>&1 | FileCheck -check-prefix=NO_DATA_SECTIONS %s -// NO_DATA_SECTIONS-NOT: data-sections +// CC1: clang{{.*}} "-cc1" "-triple" "wasm32-unknown-unknown" {{.*}} "-fvisibility" "hidden" {{.*}} // Ditto, but ensure that a user -fvisibility=default disables the default // -fvisibility=hidden. diff --git a/clang/test/Driver/wasm-toolchain.cpp b/clang/test/Driver/wasm-toolchain.cpp index 64100839baf..ea3aa313985 100644 --- a/clang/test/Driver/wasm-toolchain.cpp +++ b/clang/test/Driver/wasm-toolchain.cpp @@ -1,21 +1,8 @@ // A basic clang -cc1 command-line. WebAssembly is somewhat special in -// enabling -ffunction-sections, -fdata-sections, and -fvisibility=hidden by -// default. +// enabling -fvisibility=hidden by default. // RUN: %clangxx %s -### -no-canonical-prefixes -target wasm32-unknown-unknown 2>&1 | FileCheck -check-prefix=CC1 %s -// CC1: clang{{.*}} "-cc1" "-triple" "wasm32-unknown-unknown" {{.*}} "-fvisibility" "hidden" {{.*}} "-ffunction-sections" "-fdata-sections" - -// Ditto, but ensure that a user -fno-function-sections disables the -// default -ffunction-sections. - -// RUN: %clangxx %s -### -target wasm32-unknown-unknown -fno-function-sections 2>&1 | FileCheck -check-prefix=NO_FUNCTION_SECTIONS %s -// NO_FUNCTION_SECTIONS-NOT: function-sections - -// Ditto, but ensure that a user -fno-data-sections disables the -// default -fdata-sections. - -// RUN: %clangxx %s -### -target wasm32-unknown-unknown -fno-data-sections 2>&1 | FileCheck -check-prefix=NO_DATA_SECTIONS %s -// NO_DATA_SECTIONS-NOT: data-sections +// CC1: clang{{.*}} "-cc1" "-triple" "wasm32-unknown-unknown" {{.*}} "-fvisibility" "hidden" {{.*}} // Ditto, but ensure that a user -fvisibility=default disables the default // -fvisibility=hidden. |

