This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c++/739: Warnings generated by standard library -- should be corrected



>Number:         739
>Category:       c++
>Synopsis:       Warnings generated by standard library -- should be corrected
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 06 18:16:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Don Perkins
>Release:        2.95.2 on sun-sparc-solaris-2.6
>Organization:
>Environment:

>Description:
The following warnings are generated for system library files 
when the full warning set is used:

In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/string:6,
                 from ../include/Hlci.H:69,
                 from ../include/HLCI:34,
                 from HlciTest.C:25:
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.h: In method `basic_string<charT,traits,Allocator>::basic_string(InputIterator, InputIterator)':
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.h:187: warning: declaration of `end' shadows a member of `this'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.h:187: warning: declaration of `begin' shadows a member of `this'
In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.h:652,
                 from /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/string:6,
                 from ../include/Hlci.H:69,
                 from ../include/HLCI:34,
                 from HlciTest.C:25:
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc: In method `void basic_string<charT,traits,Allocator>::alloc(unsigned int, bool)':
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:98: warning: declaration of `size' shadows a member of `this'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h: In function `static char * __default_alloc_template<false,0>::_S_chunk_alloc(unsigned int, int &)':
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:531:   instantiated from `__default_alloc_template<false,0>::_S_refill(unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:419:   instantiated from `__default_alloc_template<false,0>::allocate(unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:33:   instantiated from `basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >::Rep::operator new(unsigned int, unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:60:   instantiated from `basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >::Rep::create(unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:71:   instantiated from `basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >::Rep::clone()'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.h:75:   instantiated from here
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:488: warning: cast increases required alignment of target type
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h: In function `static void * __default_alloc_template<false,0>::_S_refill(unsigned int)':
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:419:   instantiated from `__default_alloc_template<false,0>::allocate(unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:33:   instantiated from `basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >::Rep::operator new(unsigned int, unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:60:   instantiated from `basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >::Rep::create(unsigned int)'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.cc:71:   instantiated from `basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >::Rep::clone()'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/std/bastring.h:75:   instantiated from here
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:542: warning: cast increases required alignment of target type
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:543: warning: cast increases required alignment of target type
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3/stl_alloc.h:546: warning: cast increases required alignment of target type


Ideally, there should be no warnings generated from the 
c++ libraries, even if uncommon warnings are used.
>How-To-Repeat:
This behavior can be demonstrated by creating a simple C++ 
program that #include's <cstring> and compiling using the 
following set of warnings:

-Wall -W -Wshadow -Wpointer-arith     \
-Wbad-function-cast -Wcast-align -Wconversion \
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \
-Wnested-externs -Wwrite-strings \
-Wimplicit-function-declarations -Wctor-dtor-privacy \
-Wnon-virtual-dtor -Wreorder -Wsign-promo -Wsynth 

In particular, -Wcast-align and -Wshadow are the flags that
allow the above errors to be generated.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]