From 4af55faa19ab59b0b8ba982f9dfa0059347eb034 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Mon, 1 Dec 2014 17:48:04 +0000 Subject: Add a test for devirtualization of virtual operator calls. There was no test coverage for this before: Modifiying EmitCXXOperatorMemberCallee() to not call CanDevirtualizeMemberFunctionCall() didn't make any test fail. llvm-svn: 223056 --- clang/test/CodeGenCXX/virtual-operator-call.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'clang/test/CodeGenCXX/virtual-operator-call.cpp') diff --git a/clang/test/CodeGenCXX/virtual-operator-call.cpp b/clang/test/CodeGenCXX/virtual-operator-call.cpp index 72d49c23009..727c8e140fd 100644 --- a/clang/test/CodeGenCXX/virtual-operator-call.cpp +++ b/clang/test/CodeGenCXX/virtual-operator-call.cpp @@ -1,10 +1,13 @@ // RUN: %clang_cc1 %s -triple i386-unknown-unknown -emit-llvm -o - | FileCheck %s struct A { - virtual int operator-() = 0; + virtual int operator-(); }; -void f(A *a) { +void f(A a, A *ap) { + // CHECK: call i32 @_ZN1AngEv(%struct.A* %a) + -a; + // CHECK: call i32 % - -*a; + -*ap; } -- cgit v1.2.3