diff options
author | Justin Bogner <mail@justinbogner.com> | 2015-05-12 06:30:48 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2015-05-12 06:30:48 +0000 |
commit | 2fd95f6b92aa28705aea26da878c51c33143022c (patch) | |
tree | 1e491bad119ad9dbd9f45be6788318f56e35b862 | |
parent | d84713bd8687abc4a70ab25eddb30e22a8731955 (diff) | |
download | bcm5719-llvm-2fd95f6b92aa28705aea26da878c51c33143022c.tar.gz bcm5719-llvm-2fd95f6b92aa28705aea26da878c51c33143022c.zip |
Driver: Fix a -Wshadow issue from r237091
The MachO toolchain has an isTargetIOSBased method, but it isn't
virtual so it isn't very meaningful to call it. After thinking about
this, I guess that putting this logic in the MachO class is a bit of a
layering violation anyway. Do this more like how we handle
AddLinkRuntimeLibArgs instead.
llvm-svn: 237095
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains.h | 9 | ||||
-rw-r--r-- | clang/test/Driver/instrprof-ld.c | 8 |
3 files changed, 16 insertions, 3 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 4ecd9a9c3f7..5428a55c43e 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -326,7 +326,7 @@ void MachO::AddLinkRuntimeLib(const ArgList &Args, ArgStringList &CmdArgs, } } -void MachO::addProfileRTLibs(const ArgList &Args, +void Darwin::addProfileRTLibs(const ArgList &Args, ArgStringList &CmdArgs) const { if (!(Args.hasFlag(options::OPT_fprofile_arcs, options::OPT_fno_profile_arcs, false) || diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index d2865ec16f0..388dff37b53 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/lib/Driver/ToolChains.h @@ -241,8 +241,10 @@ public: /// Add any profiling runtime libraries that are needed. This is essentially a /// MachO specific version of addProfileRT in Tools.cpp. - void addProfileRTLibs(const llvm::opt::ArgList &Args, - llvm::opt::ArgStringList &CmdArgs) const; + virtual void addProfileRTLibs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const { + // There aren't any profiling libs for embedded targets currently. + } /// } /// @name ToolChain Implementation @@ -370,6 +372,9 @@ public: return !isTargetIPhoneOS() || isIPhoneOSVersionLT(6, 0); } + void addProfileRTLibs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const override; + protected: /// } /// @name Darwin specific Toolchain functions diff --git a/clang/test/Driver/instrprof-ld.c b/clang/test/Driver/instrprof-ld.c index fb99ab3142e..cd926cd186b 100644 --- a/clang/test/Driver/instrprof-ld.c +++ b/clang/test/Driver/instrprof-ld.c @@ -81,3 +81,11 @@ // // CHECK-DARWIN-NOSTDLIB-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" // CHECK-DARWIN-NOSTDLIB-X86-64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_osx.a" +// +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: -target arm64-apple-ios -fprofile-instr-generate \ +// RUN: -resource-dir=%S/Inputs/resource_dir \ +// RUN: | FileCheck --check-prefix=CHECK-DARWIN-ARM64 %s +// +// CHECK-DARWIN-ARM64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" +// CHECK-DARWIN-ARM64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_ios.a" |