r254870 - Use llvm::make_range to reduce mentions of iterator type. NFC

2015-12-05 Thread Craig Topper via cfe-commits
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_range specific_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

2015-12-05 Thread AlexDenisov via cfe-commits
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().

2015-12-05 Thread Aaron Ballman via cfe-commits
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

2015-12-05 Thread Simon Pilgrim via cfe-commits
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

2015-12-05 Thread Simon Pilgrim via cfe-commits
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

2015-12-05 Thread Simon Pilgrim via cfe-commits
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

2015-12-05 Thread John McCall via cfe-commits
> 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().

2015-12-05 Thread Phabricator via cfe-commits
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().

2015-12-05 Thread Dawn Perchik via cfe-commits
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

2015-12-05 Thread Keno Fischer via cfe-commits
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