diff options
author | Kadir Cetinkaya <kadircet@google.com> | 2021-09-07 15:15:21 +0200 |
---|---|---|
committer | Kadir Cetinkaya <kadircet@google.com> | 2021-09-07 15:33:45 +0200 |
commit | 73c00d40bd49ae022f6fbba7200f05facb533e3b (patch) | |
tree | 9466a89f1dab05985365a9fd8b22660220e6079d /clang/unittests/Driver/ToolChainTest.cpp | |
parent | 448d47f7438e5ca4a5cd4a77e5e78cd62333e487 (diff) | |
download | llvm-73c00d40bd49ae022f6fbba7200f05facb533e3b.zip llvm-73c00d40bd49ae022f6fbba7200f05facb533e3b.tar.gz llvm-73c00d40bd49ae022f6fbba7200f05facb533e3b.tar.bz2 |
[clang][Driver] Pick the last --driver-mode in case of multiple ones
This was an accidental behaviour change in D106789 and this patch
restores it back to original state.
Differential Revision: https://reviews.llvm.org/D109361
Diffstat (limited to 'clang/unittests/Driver/ToolChainTest.cpp')
-rw-r--r-- | clang/unittests/Driver/ToolChainTest.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/unittests/Driver/ToolChainTest.cpp b/clang/unittests/Driver/ToolChainTest.cpp index 253c65d..f117472 100644 --- a/clang/unittests/Driver/ToolChainTest.cpp +++ b/clang/unittests/Driver/ToolChainTest.cpp @@ -16,6 +16,7 @@ #include "clang/Basic/LLVM.h" #include "clang/Driver/Compilation.h" #include "clang/Driver/Driver.h" +#include "llvm/ADT/ArrayRef.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Support/VirtualFileSystem.h" @@ -357,4 +358,10 @@ TEST(ToolChainTest, PostCallback) { EXPECT_TRUE(CallbackHasCalled); } +TEST(GetDriverMode, PrefersLastDriverMode) { + static constexpr const char *Args[] = {"clang-cl", "--driver-mode=foo", + "--driver-mode=bar", "foo.cpp"}; + EXPECT_EQ(getDriverMode(Args[0], llvm::makeArrayRef(Args).slice(1)), "bar"); +} + } // end anonymous namespace. |