On Mon, Nov 21, 2016 at 9:29 AM, Daniel Marjamaki via cfe-commits <cfe-commits@lists.llvm.org> wrote: > Author: danielmarjamaki > Date: Mon Nov 21 08:29:53 2016 > New Revision: 287540 > > URL: http://llvm.org/viewvc/llvm-project?rev=287540&view=rev > Log: > readability-redundant-declaration: Fix crash > > Differential Revision: https://reviews.llvm.org/D26911 > > > Modified: > > clang-tools-extra/trunk/clang-tidy/readability/RedundantDeclarationCheck.cpp > > clang-tools-extra/trunk/test/clang-tidy/readability-redundant-declaration.cpp > > Modified: > clang-tools-extra/trunk/clang-tidy/readability/RedundantDeclarationCheck.cpp > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/readability/RedundantDeclarationCheck.cpp?rev=287540&r1=287539&r2=287540&view=diff > ============================================================================== > --- > clang-tools-extra/trunk/clang-tidy/readability/RedundantDeclarationCheck.cpp > (original) > +++ > clang-tools-extra/trunk/clang-tidy/readability/RedundantDeclarationCheck.cpp > Mon Nov 21 08:29:53 2016 > @@ -28,6 +28,8 @@ void RedundantDeclarationCheck::check(co > const auto *Prev = D->getPreviousDecl(); > if (!Prev) > return; > + if (!Prev->getLocation().isValid()) > + return; > if (Prev->getLocation() == D->getLocation()) > return; > > > Modified: > clang-tools-extra/trunk/test/clang-tidy/readability-redundant-declaration.cpp > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/readability-redundant-declaration.cpp?rev=287540&r1=287539&r2=287540&view=diff > ============================================================================== > --- > clang-tools-extra/trunk/test/clang-tidy/readability-redundant-declaration.cpp > (original) > +++ > clang-tools-extra/trunk/test/clang-tidy/readability-redundant-declaration.cpp > Mon Nov 21 08:29:53 2016 > @@ -21,3 +21,10 @@ static int f(); > // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: redundant 'f' declaration > // CHECK-FIXES: {{^}}{{$}} > static int f() {} > + > +// Original check crashed for the code below. > +namespace std { > + typedef long unsigned int size_t;
Instead of this (or your current fix that specifies the target), why not do: typedef decltype(sizeof(0)) size_t; ? ~Aaron > +} > +void* operator new(std::size_t) __attribute__((__externally_visible__)); > +void* operator new[](std::size_t) __attribute__((__externally_visible__)); > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits