compnerd added inline comments.

================
Comment at: clang/unittests/Tooling/SourceCodeTest.cpp:249-258
   Visitor.runOverAnnotated(R"cpp(
-      #define ATTR __attribute__((deprecated("message")))
-      $r[[ATTR
+      $r[[__attribute__((deprecated("message")))
       int x;]])cpp");
 
   // Includes attributes and comments together.
   Visitor.runOverAnnotated(R"cpp(
+      $r[[__attribute__((deprecated("message")))
----------------
ymandel wrote:
> Thanks for trying to fix these! The changed test cases seem to be doing two 
> things at once: macros and attributes, and I don't remember why. We should 
> test the behavior separately.  So, I think you're new test cases are good 
> regardless.  But, we still want the old tests to test the behavior for 
> attributes that are hidden behind a macro, since this is used not 
> infrequently in my exprience. 
> 
> IIUC, the current code isn't properly handling attributes that appear inside 
> macros, which is why this fix breaks the code. Specifically, it is not 
> considering the case that the location in `Attr->getLocation()` is in a 
> macro, while `Range.getBegin()` is in the original file, and hence the 
> locations are not comparable. I'm surprised this ever worked, tbh.
> 
> My preference would be to update the code, if you know how, so that both the 
> old and new tests pass. But, I realize this may be a lot to ask. So, at the 
> least, please comment out, but keep, the old tests; or, copy the old tests to 
> a new test and mark it disabled. Either way, prefix with a FIXME indicating 
> the issue.
> 
> WDYT?
Unfortunately, I couldn't figure out how to track through the expansion so I am 
going to take you up on the commented out case option.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137979

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

Reply via email to