Author: rksimon Date: Thu Aug 16 04:41:19 2018 New Revision: 339866 URL: http://llvm.org/viewvc/llvm-project?rev=339866&view=rev Log: Attempt to fix clangd tests on older compilers
Old gcc versions of gcc struggle with raw string literals inside macros. Inspired by rL339759 Modified: clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp Modified: clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp?rev=339866&r1=339865&r2=339866&view=diff ============================================================================== --- clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp (original) +++ clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp Thu Aug 16 04:41:19 2018 @@ -1538,36 +1538,39 @@ TEST(SignatureHelpTest, OverloadsOrderin } TEST(SignatureHelpTest, InstantiatedSignatures) { - EXPECT_THAT(signatures(R"cpp( + StringRef Sig0 = R"cpp( template <class T> void foo(T, T, T); int main() { foo<int>(^); } - )cpp") - .signatures, + )cpp"; + + EXPECT_THAT(signatures(Sig0).signatures, ElementsAre(Sig("foo(T, T, T) -> void", {"T", "T", "T"}))); - EXPECT_THAT(signatures(R"cpp( + StringRef Sig1 = R"cpp( template <class T> void foo(T, T, T); int main() { foo(10, ^); - })cpp") - .signatures, + })cpp"; + + EXPECT_THAT(signatures(Sig1).signatures, ElementsAre(Sig("foo(T, T, T) -> void", {"T", "T", "T"}))); - EXPECT_THAT(signatures(R"cpp( + StringRef Sig2 = R"cpp( template <class ...T> void foo(T...); int main() { foo<int>(^); } - )cpp") - .signatures, + )cpp"; + + EXPECT_THAT(signatures(Sig2).signatures, ElementsAre(Sig("foo(T...) -> void", {"T..."}))); // It is debatable whether we should substitute the outer template parameter @@ -1575,7 +1578,7 @@ TEST(SignatureHelpTest, InstantiatedSign // do substitute in code complete. // FIXME: make code complete and signature help consistent, figure out which // way is better. - EXPECT_THAT(signatures(R"cpp( + StringRef Sig3 = R"cpp( template <class T> struct X { template <class U> @@ -1585,8 +1588,9 @@ TEST(SignatureHelpTest, InstantiatedSign int main() { X<int>().foo<double>(^) } - )cpp") - .signatures, + )cpp"; + + EXPECT_THAT(signatures(Sig3).signatures, ElementsAre(Sig("foo(T, U) -> void", {"T", "U"}))); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits