From fb6f48dda42379ccd46ea1933ede0ebd99ab309a Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Sun, 13 Feb 2011 16:33:12 +0000 Subject: [PATCH] Apply patch #3171793 from szager - protected director methods failing when -fvirtual is used. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12458 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- CHANGES.current | 5 ++++- Source/Modules/allocate.cxx | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES.current b/CHANGES.current index 726033532..df3bc7e0e 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -6,7 +6,10 @@ Version 2.0.2 (in progress) =========================== 2011-02-13: wsfulton - Fix #1927852 #include directives don't preprocess the file passed to it. The fix is for + Apply patch #3171793 from szager - protected director methods failing when -fvirtual is used. + +2011-02-13: wsfulton + Fix #1927852 - #include directives don't preprocess the file passed to it. The fix is for #include with -importall or -includeall, %include and %import, for example: #define FILENAME "abc.h" %include FILENAME diff --git a/Source/Modules/allocate.cxx b/Source/Modules/allocate.cxx index 31f7c20ae..110a92939 100644 --- a/Source/Modules/allocate.cxx +++ b/Source/Modules/allocate.cxx @@ -216,7 +216,7 @@ class Allocate:public Dispatcher { if (!most_base_covariant_type) { // Eliminate the derived virtual method. - if (virtual_elimination_mode) + if (virtual_elimination_mode && !is_member_director(n)) if (both_have_public_access) if (!is_non_public_base(inclass, b)) if (!Swig_symbol_isoverloaded(n)) {