With GCC 3.3. there are a couple of warnings in the regex lib.
The warnings is about of the type of the array index.
Warning about char being used as index.

This patch fixes that. (by casting to unsigned int).

Index: libs/regex/src/c_regex_traits.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/regex/src/c_regex_traits.cpp,v
retrieving revision 1.36
diff -u -p -r1.36 c_regex_traits.cpp
--- libs/regex/src/c_regex_traits.cpp	21 Feb 2003 12:43:49 -0000	1.36
+++ libs/regex/src/c_regex_traits.cpp	12 Mar 2003 12:21:24 -0000
@@ -514,9 +514,9 @@ void BOOST_REGEX_CALL c_traits_base::do_
       if(std::isxdigit(i))
          class_map[i] |= char_class_xdigit;
    }
-   class_map['_'] |= char_class_underscore;
-   class_map[' '] |= char_class_blank;
-   class_map['\t'] |= char_class_blank;
+   class_map[(unsigned char)'_'] |= char_class_underscore;
+   class_map[(unsigned char)' '] |= char_class_blank;
+   class_map[(unsigned char)'\t'] |= char_class_blank;
    for(i = 0; i < map_size; ++i)
    {
       lower_case_map[i] = (char)std::tolower(i);
Index: libs/regex/src/cpp_regex_traits.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/regex/src/cpp_regex_traits.cpp,v
retrieving revision 1.30
diff -u -p -r1.30 cpp_regex_traits.cpp
--- libs/regex/src/cpp_regex_traits.cpp	16 Sep 2002 11:54:41 -0000	1.30
+++ libs/regex/src/cpp_regex_traits.cpp	12 Mar 2003 12:21:24 -0000
@@ -241,7 +241,7 @@ message_data<char>::message_data(const s
 #endif
       for(std::size_t j = 0; j < s.size(); ++j)
       {
-         syntax_map[s[j]] = (unsigned char)(i);
+         syntax_map[(unsigned char)s[j]] = (unsigned char)(i);
       }
    }
 
-- 
        Lgb
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to