From 3578be5753cac54aa9ec904c4cbf5025189c6345 Mon Sep 17 00:00:00 2001
From: William S Fulton
Date: Thu, 20 Sep 2012 19:28:20 +0000
Subject: [PATCH] Better clarify C++11 smart pointer support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@13844 626c5289-ae23-0410-ae9c-e8d60b6d4f22
---
Doc/Manual/Cpp0x.html | 5 ++++-
Examples/test-suite/common.mk | 1 -
Examples/test-suite/cpp0x_smart_pointers.i | 19 -------------------
3 files changed, 4 insertions(+), 21 deletions(-)
delete mode 100644 Examples/test-suite/cpp0x_smart_pointers.i
diff --git a/Doc/Manual/Cpp0x.html b/Doc/Manual/Cpp0x.html
index f34d188ca..c46bfd67c 100644
--- a/Doc/Manual/Cpp0x.html
+++ b/Doc/Manual/Cpp0x.html
@@ -590,7 +590,10 @@ include the tuple header file; it is parsed without any problems.
7.3.4 General-purpose smart pointers
-SWIG does not wrap the new shared, weak and unique smart pointers, because the SWIG target languages offer their own garbage collectors.
+
+SWIG provides special smart pointer handling for std::tr1::shared_ptr in the same way it has support for boost::shared_ptr.
+There is no special smart pointer handling available for std::weak_ptr and std::unique_ptr.
+
7.3.5 Extensible random number facility
diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk
index 48453d809..b496fe3c4 100644
--- a/Examples/test-suite/common.mk
+++ b/Examples/test-suite/common.mk
@@ -454,7 +454,6 @@ CPP0X_TEST_CASES = \
# cpp0x_constructors \ # not supported by any compiler yet
# cpp0x_hash_tables \ # not fully implemented yet
# cpp0x_lambda_functions \ # not supported by GCC or MSVC yet
-# cpp0x_smart_pointers \ # not supported by standard library yet
# cpp0x_template_typedefs \ # not supported by any compiler yet
# cpp0x_thread_local \ # not supported by any compiler yet
# cpp0x_unrestricted_unions \ # not supported by any compiler yet (now in gcc-4.6)
diff --git a/Examples/test-suite/cpp0x_smart_pointers.i b/Examples/test-suite/cpp0x_smart_pointers.i
deleted file mode 100644
index 400f7ebae..000000000
--- a/Examples/test-suite/cpp0x_smart_pointers.i
+++ /dev/null
@@ -1,19 +0,0 @@
-/* This testcase checks whether SWIG correctly uses the new general-purpose
- smart pointers introduced in C++0x:
- - shared_ptr
- - weak_ptr
- - unique_ptr
-*/
-%module cpp0x_smart_pointers
-
-%inline %{
-#include
-#include
-#include
-
-struct A {
- std::shared_ptr a1(new double);
- std::unique_ptr a2(new double);
- std::weak_ptr a3(a1);
-};
-%}