aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeGenCXX/implicit-copy-constructor.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-12-14 00:03:17 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-12-14 00:03:17 +0000
commit30e304e2a646ccd5f34d5697cad0be9dcccfaa2d (patch)
tree163bb6f813594df2306fc76c0ec4241e296b8fb9 /clang/test/CodeGenCXX/implicit-copy-constructor.cpp
parent54eb192b25aa766142e19203361f2d91f21b7263 (diff)
downloadllvm-30e304e2a646ccd5f34d5697cad0be9dcccfaa2d.zip
llvm-30e304e2a646ccd5f34d5697cad0be9dcccfaa2d.tar.gz
llvm-30e304e2a646ccd5f34d5697cad0be9dcccfaa2d.tar.bz2
Remove custom handling of array copies in lambda by-value array capture and
copy constructors of classes with array members, instead using ArrayInitLoopExpr to represent the initialization loop. This exposed a bug in the static analyzer where it was unable to differentiate between zero-initialized and unknown array values, which has also been fixed here. llvm-svn: 289618
Diffstat (limited to 'clang/test/CodeGenCXX/implicit-copy-constructor.cpp')
-rw-r--r--clang/test/CodeGenCXX/implicit-copy-constructor.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/implicit-copy-constructor.cpp b/clang/test/CodeGenCXX/implicit-copy-constructor.cpp
index d022413..3f8665a 100644
--- a/clang/test/CodeGenCXX/implicit-copy-constructor.cpp
+++ b/clang/test/CodeGenCXX/implicit-copy-constructor.cpp
@@ -48,12 +48,14 @@ void f(D d) {
// CHECK: call void @_ZN1BC2ERS_
// CHECK: {{call void @llvm.memcpy.p0i8.p0i8.i64.*i64 28}}
// CHECK: call void @_ZN1BC1ERS_
-// CHECK: br
-// CHECK: {{icmp ult.*, 2}}
-// CHECK: {{icmp ult.*, 3}}
+// CHECK: br label
// CHECK: call void @_ZN1AC1Ev
// CHECK: call void @_ZN1CC1ERS_1A
// CHECK: call void @_ZN1AD1Ev
+// CHECK: {{icmp eq.*, 3}}
+// CHECK: br i1
+// CHECK: {{icmp eq.*, 2}}
+// CHECK: br i1
// CHECK: {{call void @llvm.memcpy.p0i8.p0i8.i64.*i64 300}}
// CHECK: ret void