jvikstrom added inline comments.
================ Comment at: clang-tools-extra/clangd/unittests/ClangdUnitTests.cpp:248 +TEST(ClangdUnitTest, CollectsMainFileMacroExpansions) { + Annotations TestCase(R"cpp( + #define MACRO_ARGS(X, Y) X Y ---------------- ilya-biryukov wrote: > Could you add a few more interesting cases? > > 1. Macros outside the main file **and** the preamble: > ``` > // foo.inc > int a = ID(1); > > // foo.cpp > #define ID(X) X > > int b; > #include "foo.inc" > ``` > > 2. macro expansions from token concatenations > ``` > #define FOO(X) X##1() > #define MACRO1() 123 > > int a = FOO(MACRO); > ``` > 3. Macro names inside other macros: > ``` > #define FOO BAR > #define BAR 1 > > > int a = FOO; // should BAR at line 1 be highlighted? > > ``` > > 4. #include not part of the preamble: > ``` > #define FOO 1 > > // Preamble ends here. > int a = 10; > #include "some_file_with_macros.h" // <-- should not get any macros from here > ``` Does clangd handle `.inc` files differently from `.h`? Because if it doesn't shouldn't ` case 1 cover case 4 as well ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66928/new/ https://reviews.llvm.org/D66928 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits