Ticket #8546: diff1

File diff1, 3.8 KB (added by Wei-Chiu Chuang <weichiu@…>, 9 years ago)

patch boost/concept/detail/general.hpp, boost/lexical_cast.hpp and boost/algorithm/string/detail/finder.hpp to eliminate unused local typedefs warning

Line 
1Index: boost/algorithm/string/detail/finder.hpp
2===================================================================
3--- boost/algorithm/string/detail/finder.hpp (revision 84132)
4+++ boost/algorithm/string/detail/finder.hpp (working copy)
5@@ -142,7 +142,7 @@
6 ForwardIteratorT End,
7 std::forward_iterator_tag ) const
8 {
9- typedef ForwardIteratorT input_iterator_type;
10+ //typedef ForwardIteratorT input_iterator_type; // not used
11 typedef iterator_range<ForwardIteratorT> result_type;
12
13 first_finder_type first_finder(
14@@ -263,7 +263,7 @@
15 ForwardIteratorT End,
16 unsigned int N) const
17 {
18- typedef ForwardIteratorT input_iterator_type;
19+ //typedef ForwardIteratorT input_iterator_type; //not used
20 typedef iterator_range<ForwardIteratorT> result_type;
21
22 // Sanity check
23@@ -298,7 +298,7 @@
24 ForwardIteratorT End,
25 unsigned int N) const
26 {
27- typedef ForwardIteratorT input_iterator_type;
28+ //typedef ForwardIteratorT input_iterator_type; // not used
29 typedef iterator_range<ForwardIteratorT> result_type;
30
31 // Sanity check
32@@ -362,7 +362,7 @@
33 unsigned int N,
34 std::random_access_iterator_tag )
35 {
36- typedef ForwardIteratorT input_iterator_type;
37+ //typedef ForwardIteratorT input_iterator_type; // not used
38 typedef iterator_range<ForwardIteratorT> result_type;
39
40 if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
41@@ -436,7 +436,7 @@
42 unsigned int N,
43 std::random_access_iterator_tag )
44 {
45- typedef ForwardIteratorT input_iterator_type;
46+ //typedef ForwardIteratorT input_iterator_type; // not used
47 typedef iterator_range<ForwardIteratorT> result_type;
48
49 if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
50Index: boost/lexical_cast.hpp
51===================================================================
52--- boost/lexical_cast.hpp (revision 84132)
53+++ boost/lexical_cast.hpp (working copy)
54@@ -880,7 +880,7 @@
55 #ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
56 BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
57 #endif
58- typedef typename Traits::int_type int_type;
59+ //typedef typename Traits::int_type int_type; // not used
60 CharT const czero = lcast_char_constants<CharT>::zero;
61 --end;
62 value = 0;
63Index: boost/concept/detail/general.hpp
64===================================================================
65--- boost/concept/detail/general.hpp (revision 84132)
66+++ boost/concept/detail/general.hpp (working copy)
67@@ -12,6 +12,14 @@
68 # include <boost/mpl/if.hpp>
69 # endif
70
71+//
72+// If the compiler warns about unused typedefs then enable this:
73+//
74+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
75+# define BOOST_CONCEPT_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
76+#else
77+# define BOOST_CONCEPT_ASSERT_UNUSED_ATTRIBUTE
78+#endif
79 // This implementation works on Comeau and GCC, all the way back to
80 // 2.95
81 namespace boost { namespace concepts {
82@@ -68,7 +76,7 @@
83 # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
84 typedef ::boost::concepts::detail::instantiate< \
85 &::boost::concepts::requirement_<ModelFnPtr>::failed> \
86- BOOST_PP_CAT(boost_concept_check,__LINE__)
87+ BOOST_PP_CAT(boost_concept_check,__LINE__) BOOST_CONCEPT_ASSERT_UNUSED_ATTRIBUTE
88
89 }}
90