forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			17 lines
		
	
	
		
			395 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			395 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -std=c++11 -triple x86_64-windows-msvc %s -emit-llvm -o - | FileCheck %s
 | |
| 
 | |
| // If we de-virtualize ~Foo, we still need to call ??1Foo, not ??_DFoo.
 | |
| 
 | |
| struct Base {
 | |
|   virtual ~Base();
 | |
| };
 | |
| struct Foo final : Base {
 | |
| };
 | |
| void f(Foo *p) {
 | |
|   p->~Foo();
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: define{{.*}} void @"?f@@YAXPEAUFoo@@@Z"(%struct.Foo* %p)
 | |
| // CHECK: call void @"??1Foo@@UEAA@XZ"
 | |
| // CHECK: ret void
 |