brintos

brintos / llvm-project-archived public Read only

0
0
Text · 857 B · ecb4a4a Raw
43 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-apple-darwin -std=c++11 -emit-llvm -o - %s | FileCheck %s2 3namespace PR11418 {4  struct NonPOD {5    NonPOD();6    NonPOD(const NonPOD &);7    NonPOD(NonPOD &&);8  };9 10  struct X {11    NonPOD np;12    int a = 17;13  };14 15  void check_copy(X x) {16    X x2(x);17  }18 19  void check_move(X x) {20    X x3(static_cast<X&&>(x));21  }22 23  // CHECK: define linkonce_odr void @_ZN7PR114181XC2ERKS0_24  // CHECK-NOT: 1725  // CHECK: call void @_ZN7PR114186NonPODC1ERKS0_26  // CHECK-NOT: 1727  // CHECK: load i32, ptr28  // CHECK-NOT: 1729  // CHECK: store i3230  // CHECK-NOT: 1731  // CHECK: ret32 33  // CHECK: define linkonce_odr void @_ZN7PR114181XC2EOS0_34  // CHECK-NOT: 1735  // CHECK: call void @_ZN7PR114186NonPODC1EOS0_36  // CHECK-NOT: 1737  // CHECK: load i32, ptr38  // CHECK-NOT: 1739  // CHECK: store i3240  // CHECK-NOT: 1741  // CHECK: ret42}43