Home | History | Annotate | Download | only in CodeGenCXX
      1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - -std=c++11 | FileCheck %s
      2 // PR13424
      3 
      4 namespace Test1 {
      5 struct X {
      6   virtual ~X(); // Key function.
      7   virtual void f(); // Not a key function.
      8 };
      9 
     10 X::~X() = default;
     11 
     12 // Verify that the vtable is emitted.
     13 // CHECK: @_ZTVN5Test11XE = unnamed_addr constant
     14 }
     15 
     16 namespace Test2 {
     17 struct X {
     18   virtual ~X() = default; // Not a key function.
     19   virtual void f(); // Key function.
     20 };
     21 
     22 void X::f() {}
     23 
     24 // Verify that the vtable is emitted.
     25 // CHECK: @_ZTVN5Test21XE = unnamed_addr constant
     26 }
     27 
     28 namespace Test3 {
     29 struct X {
     30   virtual ~X() = delete; // Not a key function.
     31   virtual void f(); // Key function.
     32 };
     33 
     34 void X::f() {}
     35 
     36 // Verify that the vtable is emitted.
     37 // CHECK: @_ZTVN5Test31XE = unnamed_addr constant
     38 }
     39