krisb added inline comments.
================
Comment at: clang/test/SemaCXX/warn-unused-local-typedef.cpp:246
+      typedef int Int; // no-diag
+      typedef char Char; // expected-warning {{unused typedef 'Char'}}
+      Int m;
----------------
Quuxplusone wrote:
> I haven't tried to understand the main point of this PR, but FWIW, have you 
> seen https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61596 ? This looks 
> suspiciously like that exact case. (I just filed its dup 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104792 the other day.)
This patch prevents clang from warning on used typedefs (`Int` case), if those 
typedefs are defined within a local class of a templated function or a member 
function of a templated class.
For `Char` case, which is unused in this example, the patch changes nothing.

Regarding https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104792, those typedefs 
seem well known, so could we just make clang skipping any checks for those 
particular names?
Alternatively, we would likely need to stop warning on any typedefs defined 
within a function-local class (but those warnings may still be useful like in 
the test from this patch).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D114382

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

Reply via email to