From b5fbde9215da5efaa03cfd17fbce0ca3346583e5 Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Thu, 31 Jan 2013 11:34:14 -0500
Subject: [PATCH] re PR regression/56162 (PASS->FAIL:
 g++.old-deja/g++.mike/pmf1.C -std=c++11 execution test (occurs 2 times))

	PR c++/56162
	PR c++/56104
	* typeck.c (get_member_function_from_ptrfunc): Fix
	ptrmemfunc_vbit_in_delta case.

From-SVN: r195614
---
 gcc/cp/ChangeLog | 7 +++++++
 gcc/cp/typeck.c  | 4 +---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 65157e1dadfd..7bd5402a3c17 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2013-01-31  Jason Merrill  <jason@redhat.com>
+
+	PR c++/56162
+	PR c++/56104
+	* typeck.c (get_member_function_from_ptrfunc): Fix
+	ptrmemfunc_vbit_in_delta case.
+
 2013-01-29  Jason Merrill  <jason@redhat.com>
 
 	PR libstdc++/54314
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index bfac39494e2a..688c2665b4f9 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -3176,9 +3176,7 @@ get_member_function_from_ptrfunc (tree *instance_ptrptr, tree function,
       e3 = pfn_from_ptrmemfunc (function);
       delta = delta_from_ptrmemfunc (function);
       idx = build1 (NOP_EXPR, vtable_index_type, e3);
-      if (nonvirtual)
-	e1 = integer_zero_node;
-      else switch (TARGET_PTRMEMFUNC_VBIT_LOCATION)
+      switch (TARGET_PTRMEMFUNC_VBIT_LOCATION)
 	{
 	case ptrmemfunc_vbit_in_pfn:
 	  e1 = cp_build_binary_op (input_location,
-- 
GitLab