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;
----------------
krisb wrote:
> 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).
@Quuxplusone if you do not have objections for this patch, I'd land it now.
It'll make things a bit better and do not prevent us from relaxing conditions
for the warning further.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114382/new/
https://reviews.llvm.org/D114382
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits