kadircet added inline comments.

================
Comment at: clang-tools-extra/clangd/unittests/StdLibTests.cpp:37
   EXPECT_THAT(CXX, HasSubstr("#include <cstdio>"));
-  EXPECT_THAT(CXX, Not(HasSubstr("#include <stdio.h>")));
+  EXPECT_THAT(CXX, HasSubstr("#include <stdio.h>"));
 
----------------
hokein wrote:
> This is a behavior change, I think it is probably fine. Would be nice to have 
> a second look.
let's change it to `stdatomic.h` instead.


================
Comment at: clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp:217
+NSSymbolMap *Recognizer::namespaceSymbols(const NamespaceDecl *D, Lang L) {
+  // D could be nullptr!
   auto It = NamespaceCache.find(D);
----------------
nit: i think it's better to early-exit when D is nullptr rather than thinking 
about that in the rest of the logic.


================
Comment at: clang/unittests/Tooling/StandardLibraryTest.cpp:68
   EXPECT_THAT(stdlib::Symbol::all(), Contains(*Vector));
-  EXPECT_FALSE(stdlib::Header::named("<stdint.h>"));
-  EXPECT_FALSE(stdlib::Header::named("<stdint.h>", stdlib::Lang::CXX));
+  EXPECT_TRUE(stdlib::Header::named("<stdint.h>", stdlib::Lang::CXX));
   EXPECT_TRUE(stdlib::Header::named("<stdint.h>", stdlib::Lang::C));
----------------
as mentioned above, you can use `stdatomic.h` instead


================
Comment at: clang/unittests/Tooling/StandardLibraryTest.cpp:68
   EXPECT_THAT(stdlib::Symbol::all(), Contains(*Vector));
-  EXPECT_FALSE(stdlib::Header::named("<stdint.h>"));
-  EXPECT_FALSE(stdlib::Header::named("<stdint.h>", stdlib::Lang::CXX));
+  EXPECT_TRUE(stdlib::Header::named("<stdint.h>", stdlib::Lang::CXX));
   EXPECT_TRUE(stdlib::Header::named("<stdint.h>", stdlib::Lang::C));
----------------
kadircet wrote:
> as mentioned above, you can use `stdatomic.h` instead
maybe put everything below into a separate test for CCompat?


================
Comment at: clang/unittests/Tooling/StandardLibraryTest.cpp:71
 
-  EXPECT_FALSE(stdlib::Symbol::named("", "int16_t"));
-  EXPECT_FALSE(stdlib::Symbol::named("", "int16_t", stdlib::Lang::CXX));
+  EXPECT_TRUE(stdlib::Symbol::named("", "int16_t", stdlib::Lang::CXX));
   EXPECT_TRUE(stdlib::Symbol::named("", "int16_t", stdlib::Lang::C));
----------------
having a more comprehensive test here might be useful, e.g. check that 
`std::int16_t` only exists in C++ and just has <cstdint> as a provider. 
`int16_t` exists both in C and C++ with relevant providers


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143214/new/

https://reviews.llvm.org/D143214

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to