[clangd] Fix ParsedASTTest.TopLevelDecls test.
Google test matcher `DeclKind` uses `NamedDecl::getDeclKindName()` to compare its result with expected declaration name. Both, returned value of this function and the expected kind name argument have type `const char *`, so this matcher effectively compares two pointers instead of the respective strings. The test was passing on most platforms because compilers mostly were able to coalesce these string literals. Patch By: Ilya Golovenko Reviewed By: hokein Differential Revision: https://reviews.llvm.org/D90384
This commit is contained in:
parent
40f7ac1a8f
commit
6d15a28a85
|
|
@ -59,7 +59,7 @@ MATCHER_P(DeclNamed, Name, "") {
|
|||
|
||||
MATCHER_P(DeclKind, Kind, "") {
|
||||
if (NamedDecl *ND = dyn_cast<NamedDecl>(arg))
|
||||
if (ND->getDeclKindName() == Kind)
|
||||
if (ND->getDeclKindName() == llvm::StringRef(Kind))
|
||||
return true;
|
||||
if (auto *Stream = result_listener->stream()) {
|
||||
llvm::raw_os_ostream OS(*Stream);
|
||||
|
|
@ -104,8 +104,7 @@ MATCHER(EqInc, "") {
|
|||
std::tie(Expected.HashLine, Expected.Written);
|
||||
}
|
||||
|
||||
// FIXME: figure out why it fails on clang-ppc64le-rhel buildbot.
|
||||
TEST(ParsedASTTest, DISABLED_TopLevelDecls) {
|
||||
TEST(ParsedASTTest, TopLevelDecls) {
|
||||
TestTU TU;
|
||||
TU.HeaderCode = R"(
|
||||
int header1();
|
||||
|
|
|
|||
Loading…
Reference in New Issue