From bd5c340062b2785cd25fc24214d6cb13af2a4310 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Sat, 15 Feb 2014 23:30:14 +0000 Subject: [PATCH] Add fragment Removes include specifically for clang Cuts down on duplicate #include in general --- Lib/perl5/std_common.i | 3 +-- Lib/python/pystdcommon.swg | 3 +-- Lib/std/std_basic_string.i | 5 +---- Lib/std/std_common.i | 10 ++-------- Lib/tcl/std_vector.i | 2 +- Lib/typemaps/fragments.swg | 8 ++++++-- Lib/typemaps/std_string.swg | 6 ++---- Lib/typemaps/std_wstring.swg | 2 +- Lib/typemaps/traits.swg | 10 ++-------- 9 files changed, 17 insertions(+), 32 deletions(-) diff --git a/Lib/perl5/std_common.i b/Lib/perl5/std_common.i index c36513912..bb280688e 100644 --- a/Lib/perl5/std_common.i +++ b/Lib/perl5/std_common.i @@ -8,9 +8,8 @@ %apply size_t { std::size_t }; +%fragment(""); %{ -#include - double SwigSvToNumber(SV* sv) { return SvIOK(sv) ? double(SvIVX(sv)) : SvNVX(sv); } diff --git a/Lib/python/pystdcommon.swg b/Lib/python/pystdcommon.swg index 4e2ae56f4..2af22e2a4 100644 --- a/Lib/python/pystdcommon.swg +++ b/Lib/python/pystdcommon.swg @@ -195,9 +195,8 @@ namespace swig { // #ifdef SWIG_PYTHON_BACKWARD_COMP +%fragment(""); %{ -#include - PyObject* SwigInt_FromBool(bool b) { return PyInt_FromLong(b ? 1L : 0L); } diff --git a/Lib/std/std_basic_string.i b/Lib/std/std_basic_string.i index 7b0898a3e..1aa5721c9 100644 --- a/Lib/std/std_basic_string.i +++ b/Lib/std/std_basic_string.i @@ -3,10 +3,7 @@ %include %include - -%{ -#include -%} +%fragment(""); namespace std { diff --git a/Lib/std/std_common.i b/Lib/std/std_common.i index cb91bc632..35baf2206 100644 --- a/Lib/std/std_common.i +++ b/Lib/std/std_common.i @@ -23,8 +23,8 @@ // Common code for supporting the C++ std namespace // +%fragment(""); %{ -#include #include #include %} @@ -73,13 +73,7 @@ namespace std { #endif %} -%fragment("StdStringInclude","header") %{ -#ifdef __clang__ -#include -#endif -%} - -%fragment("StdTraitsCommon","header",fragment="StdStringInclude") %{ +%fragment("StdTraitsCommon","header",fragment="") %{ namespace swig { template struct noconst_traits { diff --git a/Lib/tcl/std_vector.i b/Lib/tcl/std_vector.i index de99a36d0..37e23ba71 100644 --- a/Lib/tcl/std_vector.i +++ b/Lib/tcl/std_vector.i @@ -28,11 +28,11 @@ // is returned // ------------------------------------------------------------------------ +%fragment(""); %{ #include #include #include -#include Tcl_Obj* SwigString_FromString(const std::string &s) { return Tcl_NewStringObj(s.data(), (int)s.length()); diff --git a/Lib/typemaps/fragments.swg b/Lib/typemaps/fragments.swg index 8f887e34e..ce87c8cc0 100644 --- a/Lib/typemaps/fragments.swg +++ b/Lib/typemaps/fragments.swg @@ -149,8 +149,12 @@ #endif %} -%fragment("", "header") %{ - #include +%fragment("", "header") %{ +#include +%} + +%fragment("", "header") %{ +#include %} %fragment("SWIG_isfinite","header",fragment=",") %{ diff --git a/Lib/typemaps/std_string.swg b/Lib/typemaps/std_string.swg index 691bf2ccf..5b57beab5 100644 --- a/Lib/typemaps/std_string.swg +++ b/Lib/typemaps/std_string.swg @@ -8,10 +8,8 @@ %include -%{ -#include -%} - +%fragment(""); + namespace std { %naturalvar string; diff --git a/Lib/typemaps/std_wstring.swg b/Lib/typemaps/std_wstring.swg index 670685fca..4a2830bb9 100644 --- a/Lib/typemaps/std_wstring.swg +++ b/Lib/typemaps/std_wstring.swg @@ -7,8 +7,8 @@ %{ #include -#include %} +%fragment(""); namespace std { diff --git a/Lib/typemaps/traits.swg b/Lib/typemaps/traits.swg index 584d480c2..09cc7e295 100644 --- a/Lib/typemaps/traits.swg +++ b/Lib/typemaps/traits.swg @@ -21,18 +21,12 @@ // Common code for supporting the STD C++ namespace // +%fragment(""); %{ -#include #include %} -%fragment("StdStringInclude","header") %{ -#ifdef __clang__ -#include -#endif -%} - -%fragment("Traits","header",fragment="StdStringInclude") +%fragment("Traits","header",fragment="") { namespace swig { /*