r254870 - Use llvm::make_range to reduce mentions of iterator type. NFC
Author: ctopper Date: Sat Dec 5 23:07:12 2015 New Revision: 254870 URL: http://llvm.org/viewvc/llvm-project?rev=254870=rev Log: Use llvm::make_range to reduce mentions of iterator type. NFC Modified: cfe/trunk/include/clang/AST/DeclBase.h cfe/trunk/include/clang/AST/ExprCXX.h cfe/trunk/lib/Serialization/ASTReaderDecl.cpp cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp Modified: cfe/trunk/include/clang/AST/DeclBase.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclBase.h?rev=254870=254869=254870=diff == --- cfe/trunk/include/clang/AST/DeclBase.h (original) +++ cfe/trunk/include/clang/AST/DeclBase.h Sat Dec 5 23:07:12 2015 @@ -475,8 +475,7 @@ public: template llvm::iterator_rangespecific_attrs() const { -return llvm::iterator_range ( -specific_attr_begin(), specific_attr_end()); +return llvm::make_range(specific_attr_begin(), specific_attr_end()); } template Modified: cfe/trunk/include/clang/AST/ExprCXX.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprCXX.h?rev=254870=254869=254870=diff == --- cfe/trunk/include/clang/AST/ExprCXX.h (original) +++ cfe/trunk/include/clang/AST/ExprCXX.h Sat Dec 5 23:07:12 2015 @@ -1596,14 +1596,12 @@ public: /// \brief Retrieve the initialization expressions for this lambda's captures. llvm::iterator_range capture_inits() { -return llvm::iterator_range(capture_init_begin(), - capture_init_end()); +return llvm::make_range(capture_init_begin(), capture_init_end()); } /// \brief Retrieve the initialization expressions for this lambda's captures. llvm::iterator_range capture_inits() const { -return llvm::iterator_range( -capture_init_begin(), capture_init_end()); +return llvm::make_range(capture_init_begin(), capture_init_end()); } /// \brief Retrieve the first initialization argument for this @@ -2519,7 +2517,7 @@ public: return UnresolvedSetIterator(Results + NumResults); } llvm::iterator_range decls() const { -return llvm::iterator_range(decls_begin(), decls_end()); +return llvm::make_range(decls_begin(), decls_end()); } /// \brief Gets the number of declarations in the unresolved set. Modified: cfe/trunk/lib/Serialization/ASTReaderDecl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp?rev=254870=254869=254870=diff == --- cfe/trunk/lib/Serialization/ASTReaderDecl.cpp (original) +++ cfe/trunk/lib/Serialization/ASTReaderDecl.cpp Sat Dec 5 23:07:12 2015 @@ -412,9 +412,8 @@ public: template llvm::iterator_range merged_redecls(DeclT *D) { - return llvm::iterator_range ( - MergedRedeclIterator(D), - MergedRedeclIterator()); + return llvm::make_range(MergedRedeclIterator(D), + MergedRedeclIterator()); } uint64_t ASTDeclReader::GetCurrentCursorOffset() { Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp?rev=254870=254869=254870=diff == --- cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp (original) +++ cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp Sat Dec 5 23:07:12 2015 @@ -2712,8 +2712,7 @@ llvm::iterator_rangeisValid()) return llvm::make_range(ranges_iterator(), ranges_iterator()); - return llvm::iterator_range(Ranges.begin(), - Ranges.end()); + return llvm::make_range(Ranges.begin(), Ranges.end()); } PathDiagnosticLocation BugReport::getLocation(const SourceManager ) const { ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] Add ObjCBoxable handling to ObjCMigrator
Extend ObjCMigrator to cover automatic migration from message sending to boxable literals, e.g.: ```before typedef struct __attribute__((objc_boxable)) CGRect CGRect; /// ... CGRect rect; [NSValue valueWithBytes: objCType:@encode(CGRect)]; [NSValue valueWithCGPoint:functionReturningCGPoint()]; ``` ```after typedef struct __attribute__((objc_boxable)) CGRect CGRect; /// ... CGRect rect; @(rect); @(functionReturningCGPoint()); ``` I will appreciate any ideas how to improve it since the implementation is far from beautiful. objc_migrator_objc_boxable.patch Description: Binary data -- AlexDenisov Software Engineer, http://lowlevelbits.org signature.asc Description: Message signed with OpenPGP using GPGMail ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D15254: Fix crash when dumping NamedDecl with NULL getQualifier().
aaron.ballman added a subscriber: aaron.ballman. aaron.ballman accepted this revision. aaron.ballman added a reviewer: aaron.ballman. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM, thank you! Repository: rL LLVM http://reviews.llvm.org/D15254 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r254849 - [X86][3DNow!] Stripped backend codegen tests
Author: rksimon Date: Sat Dec 5 05:12:23 2015 New Revision: 254849 URL: http://llvm.org/viewvc/llvm-project?rev=254849=rev Log: [X86][3DNow!] Stripped backend codegen tests As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit Modified: cfe/trunk/test/CodeGen/3dnow-builtins.c Modified: cfe/trunk/test/CodeGen/3dnow-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/3dnow-builtins.c?rev=254849=254848=254849=diff == --- cfe/trunk/test/CodeGen/3dnow-builtins.c (original) +++ cfe/trunk/test/CodeGen/3dnow-builtins.c Sat Dec 5 05:12:23 2015 @@ -1,6 +1,4 @@ -// REQUIRES: x86-registered-target // RUN: %clang_cc1 %s -triple=x86_64-unknown-unknown -target-feature +3dnowa -emit-llvm -o - -Werror | FileCheck %s -// RUN: %clang_cc1 %s -triple=x86_64-unknown-unknown -target-feature +3dnowa -S -o - -Werror | FileCheck %s --check-prefix=CHECK-ASM // Don't include mm_malloc.h, it's system specific. #define __MM_MALLOC_H @@ -10,126 +8,108 @@ __m64 test_m_pavgusb(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pavgusb // CHECK: @llvm.x86.3dnow.pavgusb - // CHECK-ASM: pavgusb %mm{{.*}}, %mm{{.*}} return _m_pavgusb(m1, m2); } __m64 test_m_pf2id(__m64 m) { // CHECK-LABEL: define i64 @test_m_pf2id // CHECK: @llvm.x86.3dnow.pf2id - // CHECK-ASM: pf2id %mm{{.*}}, %mm{{.*}} return _m_pf2id(m); } __m64 test_m_pfacc(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfacc // CHECK: @llvm.x86.3dnow.pfacc - // CHECK-ASM: pfacc %mm{{.*}}, %mm{{.*}} return _m_pfacc(m1, m2); } __m64 test_m_pfadd(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfadd // CHECK: @llvm.x86.3dnow.pfadd - // CHECK-ASM: pfadd %mm{{.*}}, %mm{{.*}} return _m_pfadd(m1, m2); } __m64 test_m_pfcmpeq(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfcmpeq // CHECK: @llvm.x86.3dnow.pfcmpeq - // CHECK-ASM: pfcmpeq %mm{{.*}}, %mm{{.*}} return _m_pfcmpeq(m1, m2); } __m64 test_m_pfcmpge(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfcmpge // CHECK: @llvm.x86.3dnow.pfcmpge - // CHECK-ASM: pfcmpge %mm{{.*}}, %mm{{.*}} return _m_pfcmpge(m1, m2); } __m64 test_m_pfcmpgt(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfcmpgt // CHECK: @llvm.x86.3dnow.pfcmpgt - // CHECK-ASM: pfcmpgt %mm{{.*}}, %mm{{.*}} return _m_pfcmpgt(m1, m2); } __m64 test_m_pfmax(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfmax // CHECK: @llvm.x86.3dnow.pfmax - // CHECK-ASM: pfmax %mm{{.*}}, %mm{{.*}} return _m_pfmax(m1, m2); } __m64 test_m_pfmin(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfmin // CHECK: @llvm.x86.3dnow.pfmin - // CHECK-ASM: pfmin %mm{{.*}}, %mm{{.*}} return _m_pfmin(m1, m2); } __m64 test_m_pfmul(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfmul // CHECK: @llvm.x86.3dnow.pfmul - // CHECK-ASM: pfmul %mm{{.*}}, %mm{{.*}} return _m_pfmul(m1, m2); } __m64 test_m_pfrcp(__m64 m) { // CHECK-LABEL: define i64 @test_m_pfrcp // CHECK: @llvm.x86.3dnow.pfrcp - // CHECK-ASM: pfrcp %mm{{.*}}, %mm{{.*}} return _m_pfrcp(m); } __m64 test_m_pfrcpit1(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfrcpit1 // CHECK: @llvm.x86.3dnow.pfrcpit1 - // CHECK-ASM: pfrcpit1 %mm{{.*}}, %mm{{.*}} return _m_pfrcpit1(m1, m2); } __m64 test_m_pfrcpit2(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfrcpit2 // CHECK: @llvm.x86.3dnow.pfrcpit2 - // CHECK-ASM: pfrcpit2 %mm{{.*}}, %mm{{.*}} return _m_pfrcpit2(m1, m2); } __m64 test_m_pfrsqrt(__m64 m) { // CHECK-LABEL: define i64 @test_m_pfrsqrt // CHECK: @llvm.x86.3dnow.pfrsqrt - // CHECK-ASM: pfrsqrt %mm{{.*}}, %mm{{.*}} return _m_pfrsqrt(m); } __m64 test_m_pfrsqrtit1(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfrsqrtit1 // CHECK: @llvm.x86.3dnow.pfrsqit1 - // CHECK-ASM: pfrsqit1 %mm{{.*}}, %mm{{.*}} return _m_pfrsqrtit1(m1, m2); } __m64 test_m_pfsub(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfsub // CHECK: @llvm.x86.3dnow.pfsub - // CHECK-ASM: pfsub %mm{{.*}}, %mm{{.*}} return _m_pfsub(m1, m2); } __m64 test_m_pfsubr(__m64 m1, __m64 m2) { // CHECK-LABEL: define i64 @test_m_pfsubr // CHECK: @llvm.x86.3dnow.pfsubr - // CHECK-ASM: pfsubr %mm{{.*}}, %mm{{.*}} return _m_pfsubr(m1, m2); } __m64 test_m_pi2fd(__m64 m) { // CHECK-LABEL: define i64 @test_m_pi2fd // CHECK: @llvm.x86.3dnow.pi2fd - // CHECK-ASM: pi2fd %mm{{.*}}, %mm{{.*}} return _m_pi2fd(m); } @@ -142,41 +122,35 @@ __m64 test_m_pmulhrw(__m64 m1, __m64 m2) __m64 test_m_pf2iw(__m64 m) { // CHECK-LABEL: define i64 @test_m_pf2iw // CHECK: @llvm.x86.3dnowa.pf2iw -
r254847 - [X86][F16C] Stripped backend codegen tests
Author: rksimon Date: Sat Dec 5 04:37:35 2015 New Revision: 254847 URL: http://llvm.org/viewvc/llvm-project?rev=254847=rev Log: [X86][F16C] Stripped backend codegen tests As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit I will update PR24580 on this new plan Modified: cfe/trunk/test/CodeGen/f16c-builtins.c Modified: cfe/trunk/test/CodeGen/f16c-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/f16c-builtins.c?rev=254847=254846=254847=diff == --- cfe/trunk/test/CodeGen/f16c-builtins.c (original) +++ cfe/trunk/test/CodeGen/f16c-builtins.c Sat Dec 5 04:37:35 2015 @@ -1,6 +1,4 @@ -// REQUIRES: x86-registered-target // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +f16c -emit-llvm -o - -Werror | FileCheck %s -// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +f16c -S -o - -Werror | FileCheck %s --check-prefix=CHECK-ASM // Don't include mm_malloc.h, it's system specific. #define __MM_MALLOC_H @@ -8,25 +6,25 @@ #include __m128 test_mm_cvtph_ps(__m128i a) { + // CHECK-LABEL: test_mm_cvtph_ps // CHECK: @llvm.x86.vcvtph2ps.128 - // CHECK-ASM: vcvtph2ps %xmm{{.*}}, %xmm{{.*}} return _mm_cvtph_ps(a); } __m256 test_mm256_cvtph_ps(__m128i a) { + // CHECK-LABEL: test_mm256_cvtph_ps // CHECK: @llvm.x86.vcvtph2ps.256 - // CHECK-ASM: vcvtph2ps %xmm{{.*}}, %ymm{{.*}} return _mm256_cvtph_ps(a); } __m128i test_mm_cvtps_ph(__m128 a) { + // CHECK-LABEL: test_mm_cvtps_ph // CHECK: @llvm.x86.vcvtps2ph.128 - // CHECK-ASM: vcvtps2ph $0, %xmm{{.*}}, %xmm{{.*}} return _mm_cvtps_ph(a, 0); } __m128i test_mm256_cvtps_ph(__m256 a) { + // CHECK-LABEL: test_mm256_cvtps_ph // CHECK: @llvm.x86.vcvtps2ph.256 - // CHECK-ASM: vcvtps2ph $0, %ymm{{.*}}, %xmm{{.*}} return _mm256_cvtps_ph(a, 0); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r254848 - Updated test names to match the intrinsics being tested
Author: rksimon Date: Sat Dec 5 05:08:51 2015 New Revision: 254848 URL: http://llvm.org/viewvc/llvm-project?rev=254848=rev Log: Updated test names to match the intrinsics being tested Modified: cfe/trunk/test/CodeGen/sse3-builtins.c cfe/trunk/test/CodeGen/sse4a-builtins.c Modified: cfe/trunk/test/CodeGen/sse3-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/sse3-builtins.c?rev=254848=254847=254848=diff == --- cfe/trunk/test/CodeGen/sse3-builtins.c (original) +++ cfe/trunk/test/CodeGen/sse3-builtins.c Sat Dec 5 05:08:51 2015 @@ -65,8 +65,8 @@ __m128 test_mm_movehdup_ps(__m128 A) { return _mm_movehdup_ps(A); } -__m128 test_mm_movedup_ps(__m128 A) { - // CHECK-LABEL: test_mm_movedup_ps +__m128 test_mm_moveldup_ps(__m128 A) { + // CHECK-LABEL: test_mm_moveldup_ps // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> return _mm_moveldup_ps(A); } Modified: cfe/trunk/test/CodeGen/sse4a-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/sse4a-builtins.c?rev=254848=254847=254848=diff == --- cfe/trunk/test/CodeGen/sse4a-builtins.c (original) +++ cfe/trunk/test/CodeGen/sse4a-builtins.c Sat Dec 5 05:08:51 2015 @@ -5,38 +5,38 @@ #include -__m128i test_extracti_si64(__m128i x) { - // CHECK-LABEL: test_extracti_si64 +__m128i test_mm_extracti_si64(__m128i x) { + // CHECK-LABEL: test_mm_extracti_si64 // CHECK: call <2 x i64> @llvm.x86.sse4a.extrqi(<2 x i64> %{{[^,]+}}, i8 3, i8 2) return _mm_extracti_si64(x, 3, 2); } -__m128i test_extract_si64(__m128i x, __m128i y) { - // CHECK-LABEL: test_extract_si64 +__m128i test_mm_extract_si64(__m128i x, __m128i y) { + // CHECK-LABEL: test_mm_extract_si64 // CHECK: call <2 x i64> @llvm.x86.sse4a.extrq(<2 x i64> %{{[^,]+}}, <16 x i8> %{{[^,]+}}) return _mm_extract_si64(x, y); } -__m128i test_inserti_si64(__m128i x, __m128i y) { - // CHECK-LABEL: test_inserti_si64 +__m128i test_mm_inserti_si64(__m128i x, __m128i y) { + // CHECK-LABEL: test_mm_inserti_si64 // CHECK: call <2 x i64> @llvm.x86.sse4a.insertqi(<2 x i64> %{{[^,]+}}, <2 x i64> %{{[^,]+}}, i8 5, i8 6) return _mm_inserti_si64(x, y, 5, 6); } -__m128i test_insert_si64(__m128i x, __m128i y) { - // CHECK-LABEL: test_insert_si64 +__m128i test_mm_insert_si64(__m128i x, __m128i y) { + // CHECK-LABEL: test_mm_insert_si64 // CHECK: call <2 x i64> @llvm.x86.sse4a.insertq(<2 x i64> %{{[^,]+}}, <2 x i64> %{{[^,]+}}) return _mm_insert_si64(x, y); } -void test_stream_sd(double *p, __m128d a) { - // CHECK-LABEL: test_stream_sd +void test_mm_stream_sd(double *p, __m128d a) { + // CHECK-LABEL: test_mm_stream_sd // CHECK: call void @llvm.x86.sse4a.movnt.sd(i8* %{{[^,]+}}, <2 x double> %{{[^,]+}}) _mm_stream_sd(p, a); } -void test_stream_ss(float *p, __m128 a) { - // CHECK-LABEL: test_stream_ss +void test_mm_stream_ss(float *p, __m128 a) { + // CHECK-LABEL: test_mm_stream_ss // CHECK: call void @llvm.x86.sse4a.movnt.ss(i8* %{{[^,]+}}, <4 x float> %{{[^,]+}}) _mm_stream_ss(p, a); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] Add ObjCBoxable handling to ObjCMigrator
> On Dec 5, 2015, at 7:58 AM, AlexDenisov <1101.deb...@gmail.com> wrote: > Extend ObjCMigrator to cover automatic migration from message sending to > boxable literals, e.g.: > > ```before > typedef struct __attribute__((objc_boxable)) CGRect CGRect; > /// ... > CGRect rect; > [NSValue valueWithBytes: objCType:@encode(CGRect)]; > [NSValue valueWithCGPoint:functionReturningCGPoint()]; > ``` > > ```after > typedef struct __attribute__((objc_boxable)) CGRect CGRect; > /// ... > CGRect rect; > @(rect); > @(functionReturningCGPoint()); > ``` > > I will appreciate any ideas how to improve it since the implementation is far > from beautiful. > > CC’ing Argyrios, who knows the migration code much better than I do. John. ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D15254: Fix crash when dumping NamedDecl with NULL getQualifier().
This revision was automatically updated to reflect the committed changes. Closed by commit rL254867: Fix crash in ASTDumper when dumping NamedDecl with NULL getQualifier(). (authored by dperchik). Changed prior to commit: http://reviews.llvm.org/D15254?vs=41968=41996#toc Repository: rL LLVM http://reviews.llvm.org/D15254 Files: cfe/trunk/lib/AST/ASTDumper.cpp Index: cfe/trunk/lib/AST/ASTDumper.cpp === --- cfe/trunk/lib/AST/ASTDumper.cpp +++ cfe/trunk/lib/AST/ASTDumper.cpp @@ -1385,20 +1385,23 @@ void ASTDumper::VisitUsingDecl(const UsingDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); } void ASTDumper::VisitUnresolvedUsingTypenameDecl( const UnresolvedUsingTypenameDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); } void ASTDumper::VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); dumpType(D->getType()); } Index: cfe/trunk/lib/AST/ASTDumper.cpp === --- cfe/trunk/lib/AST/ASTDumper.cpp +++ cfe/trunk/lib/AST/ASTDumper.cpp @@ -1385,20 +1385,23 @@ void ASTDumper::VisitUsingDecl(const UsingDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); } void ASTDumper::VisitUnresolvedUsingTypenameDecl( const UnresolvedUsingTypenameDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); } void ASTDumper::VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); dumpType(D->getType()); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r254867 - Fix crash in ASTDumper when dumping NamedDecl with NULL getQualifier().
Author: dperchik Date: Sat Dec 5 16:37:55 2015 New Revision: 254867 URL: http://llvm.org/viewvc/llvm-project?rev=254867=rev Log: Fix crash in ASTDumper when dumping NamedDecl with NULL getQualifier(). Reviewed by: aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15254 Modified: cfe/trunk/lib/AST/ASTDumper.cpp Modified: cfe/trunk/lib/AST/ASTDumper.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTDumper.cpp?rev=254867=254866=254867=diff == --- cfe/trunk/lib/AST/ASTDumper.cpp (original) +++ cfe/trunk/lib/AST/ASTDumper.cpp Sat Dec 5 16:37:55 2015 @@ -1385,20 +1385,23 @@ void ASTDumper::VisitTemplateTemplatePar void ASTDumper::VisitUsingDecl(const UsingDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); } void ASTDumper::VisitUnresolvedUsingTypenameDecl( const UnresolvedUsingTypenameDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); } void ASTDumper::VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D) { OS << ' '; - D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); + if (D->getQualifier()) +D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); OS << D->getNameAsString(); dumpType(D->getType()); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13419: Fix several problems at the intersection of template instantiations and visibility
loladiro added a comment. Bumping this again. Repository: rL LLVM http://reviews.llvm.org/D13419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits