1 // RUN: %clang_cc1 -no-opaque-pointers %s -triple x86_64-apple-darwin10 -emit-llvm -o - -std=c++11 |FileCheck %s
4 public: int operator=(int);
11 void f(int i
, int j
) {
16 // CHECK: store i32 17, i32
21 // Taken from g++.old-deja/g++.jason/net.C
23 template <class T
> void fn (T t
) { }
24 template <class T
> struct A
{
32 // Ensure that we use memcpy when we would have selected a trivial assignment
33 // operator, even for a non-trivially-copyable type.
35 A
&operator=(const A
&);
39 B
&operator=(const B
&) = default;
47 // CHECK: define {{.*}} @_ZN1CaSERKS_(
48 // CHECK: call {{.*}} @_ZN1AaSERKS_(
49 // CHECK-NOT: call {{.*}} @_ZN1BaSERKS_(
50 // CHECK: call {{.*}} @{{.*}}memcpy
51 // CHECK-NOT: call {{.*}} @_ZN1BaSERKS_(