aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp b/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
index 2ce2975..660540a 100644
--- a/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
@@ -526,6 +526,25 @@ TEST(CommandMangler, RespectsOriginalSysroot) {
Not(HasSubstr(testPath("fake/sysroot"))));
}
}
+
+TEST(CommandMangler, StdLatestFlag) {
+ const auto Mangler = CommandMangler::forTests();
+ tooling::CompileCommand Cmd;
+ Cmd.CommandLine = {"clang-cl", "/std:c++latest", "--", "/Users/foo.cc"};
+ Mangler(Cmd, "/Users/foo.cc");
+ // Check that the /std:c++latest flag is not dropped
+ EXPECT_THAT(llvm::join(Cmd.CommandLine, " "), HasSubstr("/std:c++latest"));
+}
+
+TEST(CommandMangler, StdLatestFlag_Inference) {
+ const auto Mangler = CommandMangler::forTests();
+ tooling::CompileCommand Cmd;
+ Cmd.CommandLine = {"clang-cl", "/std:c++latest", "--", "/Users/foo.cc"};
+ Mangler(Cmd, "/Users/foo.hpp");
+ // Check that the /std:c++latest flag is not dropped during inference
+ EXPECT_THAT(llvm::join(Cmd.CommandLine, " "), HasSubstr("/std:c++latest"));
+}
+
} // namespace
} // namespace clangd
} // namespace clang