Boost logo

Boost :

From: Marco (mrcekets_at_[hidden])
Date: 2008-01-28 12:51:54


I want to report the following unexpected error that I got compiling the
"dates as strings" example with gcc 4.3.0 (svn 2008 01 28 )

In file included from
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian_io.hpp:12,
                  from
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/conversion.hpp:23,
                  from
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian.hpp:21,
                  from dates_as_strings.cpp:12:
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/date_facet.hpp:560:
error: declaration of ‘void boost::date_time::date_input_facet<date_type,
CharT,
InItrT>::special_values_parser(boost::date_time::special_values_parser<date_type,
charT>)’
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/special_values_parser.hpp:34:
error: changes meaning of ‘special_values_parser’ from ‘class
boost::date_time::special_values_parser<date_type, charT>’
In file included from
/opt/shared/libraries/boost_1_34_1/include/boost/token_iterator.hpp:24,
                  from
/opt/shared/libraries/boost_1_34_1/include/boost/tokenizer.hpp:20,
                  from
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/date_parsing.hpp:14,
                  from
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/parsers.hpp:13,
                  from
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian.hpp:34,
                  from dates_as_strings.cpp:12:

The error is produced with and without the -Wall option. Compiling with
gcc 4.2 all goes fine.
Is it a gcc 4.3 bug or the compiler is pointing out an actual non-strict
iso-compliant coding issue ?

I attached a text file with verbose compile output.

Marco

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

# standard verbose compilation messages

/opt/shared/compilers/gnu-gcc-4.3-linux -Wall -I/opt/shared/libraries/boost_1_34_1/include -L/opt/shared/libraries/boost_1_34_1/linux_x86/gcc/lib -Wl,-rpath,/opt/shared/libraries/boost_1_34_1/linux_x86/gcc/lib -lboost_date_time dates_as_strings.cpp -o dates_as_strings
In file included from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian_io.hpp:12,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/conversion.hpp:23,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian.hpp:21,
                 from dates_as_strings.cpp:12:
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/date_facet.hpp:560: error: declaration of ‘void boost::date_time::date_input_facet<date_type, CharT, InItrT>::special_values_parser(boost::date_time::special_values_parser<date_type, charT>)’
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/special_values_parser.hpp:34: error: changes meaning of ‘special_values_parser’ from ‘class boost::date_time::special_values_parser<date_type, charT>’
In file included from /opt/shared/libraries/boost_1_34_1/include/boost/token_iterator.hpp:24,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/tokenizer.hpp:20,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/date_parsing.hpp:14,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/parsers.hpp:13,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian.hpp:34,
                 from dates_as_strings.cpp:12:
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp: In member function ‘bool boost::offset_separator::operator()(InputIterator&, InputIterator, Token&)’:
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp:338: warning: suggest explicit braces to avoid ambiguous ‘else’
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp: In member function ‘bool boost::char_separator<Char, Traits>::operator()(InputIterator&, InputIterator, Token&)’:
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp:451: warning: suggest explicit braces to avoid ambiguous ‘else’

#more verbose compilation messages

/opt/shared/compilers/gnu-gcc-4.3-linux -v -Wall -I/opt/shared/libraries/boost_1_34_1/include -L/opt/shared/libraries/boost_1_34_1/linux_x86/gcc/lib -Wl,-rpath,/opt/shared/libraries/boost_1_34_1/linux_x86/gcc/lib -lboost_date_time dates_as_strings.cpp -o dates_as_strings
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc_4.3_src/configure --prefix=/opt/shared/compilers/gcc_4.3 --with-local-prefix=/opt/shared/compilers/gcc_4.3 --enable-threads=posix --enable-shared --enable-long-long --enable-__cxa_atexit --enable-bootstrap --disable-libunwind-exceptions -enable-clocale=gnu --enable-languages=c,c++
Thread model: posix
gcc version 4.3.0 20080128 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-Wall' '-I/opt/shared/libraries/boost_1_34_1/include' '-L/opt/shared/libraries/boost_1_34_1/linux_x86/gcc/lib' '-o' 'dates_as_strings' '-shared-libgcc' '-mtune=generic'
 /opt/shared/compilers/gcc_4.3/libexec/gcc/i686-pc-linux-gnu/4.3.0/cc1plus -quiet -v -I/opt/shared/libraries/boost_1_34_1/include -D_GNU_SOURCE dates_as_strings.cpp -quiet -dumpbase dates_as_strings.cpp -mtune=generic -auxbase dates_as_strings -Wall -version -o /home/ocholin/tmp/ccjaOIk3.s
ignoring nonexistent directory "/opt/shared/compilers/gcc_4.3/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/shared/libraries/boost_1_34_1/include
 /opt/shared/compilers/gcc_4.3/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0
 /opt/shared/compilers/gcc_4.3/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0/i686-pc-linux-gnu
 /opt/shared/compilers/gcc_4.3/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward
 /opt/shared/compilers/gcc_4.3/include
 /opt/shared/compilers/gcc_4.3/lib/gcc/i686-pc-linux-gnu/4.3.0/include
 /opt/shared/compilers/gcc_4.3/lib/gcc/i686-pc-linux-gnu/4.3.0/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.3.0 20080128 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 4.3.0 20080128 (experimental), GMP version 4.2.1, MPFR version 2.2.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 59725ee6703e67e737785d2f28f4fcd8
In file included from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian_io.hpp:12,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/conversion.hpp:23,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian.hpp:21,
                 from dates_as_strings.cpp:12:
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/date_facet.hpp:560: error: declaration of ‘void boost::date_time::date_input_facet<date_type, CharT, InItrT>::special_values_parser(boost::date_time::special_values_parser<date_type, charT>)’
/opt/shared/libraries/boost_1_34_1/include/boost/date_time/special_values_parser.hpp:34: error: changes meaning of ‘special_values_parser’ from ‘class boost::date_time::special_values_parser<date_type, charT>’
In file included from /opt/shared/libraries/boost_1_34_1/include/boost/token_iterator.hpp:24,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/tokenizer.hpp:20,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/date_parsing.hpp:14,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/parsers.hpp:13,
                 from /opt/shared/libraries/boost_1_34_1/include/boost/date_time/gregorian/gregorian.hpp:34,
                 from dates_as_strings.cpp:12:
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp: In member function ‘bool boost::offset_separator::operator()(InputIterator&, InputIterator, Token&)’:
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp:338: warning: suggest explicit braces to avoid ambiguous ‘else’
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp: In member function ‘bool boost::char_separator<Char, Traits>::operator()(InputIterator&, InputIterator, Token&)’:
/opt/shared/libraries/boost_1_34_1/include/boost/token_functions.hpp:451: warning: suggest explicit braces to avoid ambiguous ‘else’


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk