akyrtzi marked an inline comment as done.
akyrtzi added inline comments.

================
Comment at: clang/unittests/Lex/DependencyDirectivesScannerTest.cpp:175
       "#define MACRO   con  tent   ", Out));
-  EXPECT_STREQ("#define MACRO con  tent\n", Out.data());
+  EXPECT_STREQ("#define MACRO con tent\n", Out.data());
 
----------------
dexonsmith wrote:
> Can you clarify why this is changing in this patch? It’s not obvious to me 
> why this would start optimizing internal whitespace of macros. 
> 
> (I also can’t remember if it’s safe/correct. Is there a way to stringify the 
> contents of a macro? If so, this would change the result… if not, then this 
> seems like an improvement, but maybe better for a separate patch?)
> 
> (If there’s a good reason to change it here, don’t want to hold it up, but 
> it’s not explained in the commit message so it’s not obvious to me.)
> Can you clarify why this is changing in this patch? It’s not obvious to me 
> why this would start optimizing internal whitespace of macros.

Minimization was doing `printToNewline()` after the macro identifier, which 
just prints verbatim, including any amount of whitespace. OTOH the new way is 
collecting the tokens of the directive, which ignores unnecessary whitespace.

> (I also can’t remember if it’s safe/correct. Is there a way to stringify the 
> contents of a macro? If so, this would change the result… 

AFAIK this is correct since the macro body is getting tokenized when the 
preprocessor sees a `#define` and the unnecessary whitespace is ignored.

> if not, then this seems like an improvement, but maybe better for a separate 
> patch?)

To clarify, `minimizeSourceToDependencyDirectives()` is only used for testing 
purposes, once we get the tokens of the directives then we use them directly 
during preprocessing, so there's no place for preserving the unnecessary 
whitespace. This change is just inherent to the difference in implementation 
for minimization vs tokenization.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D125487

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

Reply via email to