Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65318 - in trunk/boost/program_options: . detail
From: juergen.hunold_at_[hidden]
Date: 2010-09-06 04:43:11


Author: jhunold
Date: 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
New Revision: 65318
URL: http://svn.boost.org/trac/boost/changeset/65318

Log:
Suppress msvc warning 4251 about templates as base classes not having a dll-interface.
Suppress msvc warning 4275 about base class std::logic_error not having a dll-interface.

Text files modified:
   trunk/boost/program_options/detail/cmdline.hpp | 9 +++++++++
   trunk/boost/program_options/errors.hpp | 9 ++++++++-
   trunk/boost/program_options/options_description.hpp | 10 ++++++++++
   trunk/boost/program_options/parsers.hpp | 5 +++++
   trunk/boost/program_options/positional_options.hpp | 9 +++++++++
   trunk/boost/program_options/variables_map.hpp | 5 +++++
   6 files changed, 46 insertions(+), 1 deletions(-)

Modified: trunk/boost/program_options/detail/cmdline.hpp
==============================================================================
--- trunk/boost/program_options/detail/cmdline.hpp (original)
+++ trunk/boost/program_options/detail/cmdline.hpp 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
@@ -22,6 +22,11 @@
 #include <string>
 #include <vector>
 
+#if defined(BOOST_MSVC)
+# pragma warning (push)
+# pragma warning (disable:4251) // class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'boost::program_options::positional_options_description'
+#endif
+
 namespace boost { namespace program_options { namespace detail {
 
     /** Command line parser class. Main requirements were:
@@ -134,5 +139,9 @@
     
 }}}
 
+#if defined(BOOST_MSVC)
+# pragma warning (pop)
+#endif
+
 #endif
 

Modified: trunk/boost/program_options/errors.hpp
==============================================================================
--- trunk/boost/program_options/errors.hpp (original)
+++ trunk/boost/program_options/errors.hpp 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
@@ -13,7 +13,11 @@
 #include <stdexcept>
 #include <vector>
 
-
+#if defined(BOOST_MSVC)
+# pragma warning (push)
+# pragma warning (disable:4275) // non dll-interface class 'std::logic_error' used as base for dll-interface class 'boost::program_options::error'
+# pragma warning (disable:4251) // class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'boost::program_options::ambiguous_option'
+#endif
 
 namespace boost { namespace program_options {
 
@@ -232,5 +236,8 @@
      };
 }}
 
+#if defined(BOOST_MSVC)
+# pragma warning (pop)
+#endif
 
 #endif

Modified: trunk/boost/program_options/options_description.hpp
==============================================================================
--- trunk/boost/program_options/options_description.hpp (original)
+++ trunk/boost/program_options/options_description.hpp 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
@@ -25,6 +25,12 @@
 
 #include <iosfwd>
 
+#if defined(BOOST_MSVC)
+# pragma warning (push)
+# pragma warning (disable:4251) // class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::program_options::option_description'
+#endif
+
+
 /** Boost namespace */
 namespace boost {
 /** Namespace for the library. */
@@ -251,4 +257,8 @@
     };
 }}
 
+#if defined(BOOST_MSVC)
+# pragma warning (pop)
+#endif
+
 #endif

Modified: trunk/boost/program_options/parsers.hpp
==============================================================================
--- trunk/boost/program_options/parsers.hpp (original)
+++ trunk/boost/program_options/parsers.hpp 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
@@ -17,6 +17,11 @@
 #include <vector>
 #include <utility>
 
+#if defined(BOOST_MSVC)
+# pragma warning (push)
+# pragma warning (disable:4251) // class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'boost::program_options::basic_parsed_options<wchar_t>'
+#endif
+
 namespace boost { namespace program_options {
 
     class options_description;

Modified: trunk/boost/program_options/positional_options.hpp
==============================================================================
--- trunk/boost/program_options/positional_options.hpp (original)
+++ trunk/boost/program_options/positional_options.hpp 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
@@ -11,6 +11,11 @@
 #include <vector>
 #include <string>
 
+#if defined(BOOST_MSVC)
+# pragma warning (push)
+# pragma warning (disable:4251) // class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'boost::program_options::positional_options_description'
+#endif
+
 namespace boost { namespace program_options {
 
     /** Describes positional options.
@@ -61,5 +66,9 @@
 
 }}
 
+#if defined(BOOST_MSVC)
+# pragma warning (pop)
+#endif
+
 #endif
 

Modified: trunk/boost/program_options/variables_map.hpp
==============================================================================
--- trunk/boost/program_options/variables_map.hpp (original)
+++ trunk/boost/program_options/variables_map.hpp 2010-09-06 04:43:06 EDT (Mon, 06 Sep 2010)
@@ -16,6 +16,11 @@
 #include <map>
 #include <set>
 
+#if defined(BOOST_MSVC)
+# pragma warning (push)
+# pragma warning (disable:4251) // 'boost::program_options::variable_value::v' : class 'boost::any' needs to have dll-interface to be used by clients of class 'boost::program_options::variable_value
+#endif
+
 namespace boost { namespace program_options {
 
     template<class charT>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk