stlport warning: "__WORD_BIT" redefined

Guy Middleton guy at obstruction.com
Thu Sep 11 10:13:13 PDT 2003


I have stlport-gcc-4.5.3_1 installed on a 5.1-RELEASE system, with gcc 3.2.2.

Compiling this program generates the following warning:

#include <vector>
int main() {
    std::vector<int> iv;
    return 0;
}


$ c++ -O -pipe -march=pentium3 -Wall -I/usr/local/include/stlport -D_STLP_DEBUG  -L/usr/local/lib -lstlport_gcc_stldebug vector.cc  -o vector
In file included from /usr/local/include/stlport/stl/_vector.h:575,
                 from /usr/local/include/stlport/vector:36,
                 from vector.cc:1:
/usr/local/include/stlport/stl/_bvector.h:37:1: warning: "__WORD_BIT" redefined
In file included from /usr/include/sys/limits.h:40,
                 from /usr/include/limits.h:128,
                 from /usr/include/g++/climits:49,
                 from /usr/local/include/stlport/climits:27,
                 from /usr/local/include/stlport/stl/_algobase.h:43,
                 from /usr/local/include/stlport/vector:32,
                 from vector.cc:1:
/usr/include/machine/_limits.h:99:1: warning: this is the location of the previous definition


The warning is correct, __WORD_BIT is defined in the system _limits.h and is
redefined by STL.  It seems the addition of __WORD_BIT to _limits.h is new; I
could not find it in limits.h on a 4.6-RELEASE system.


More information about the freebsd-ports mailing list