[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

c++/10858: bogus compiler failure while compiling Boost.Python




>Number: 10858 >Category: c++ >Synopsis: bogus compiler failure while
compiling Boost.Python >Confidential: no >Severity: serious >Priority:
medium >Responsible: unassigned >State: open >Class: rejects-legal
>Submitter-Id: net >Arrival-Date: Mon May 19 11:56:00 UTC 2003
>Closed-Date: >Last-Modified: >Originator: Dominique Devriese
>Release: 3.3 (Debian) (Debian testing/unstable) >Organization:
>Environment: System: Linux appel 2.4.20-1-686 #1 Sat Mar 22 13:16:21
EST 2003 i686 GNU/Linux Architecture: i686

	
host: i386-pc-linux-gnu build: i386-pc-linux-gnu target:
i386-pc-linux-gnu configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang
--prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--with-system-zlib --enable-nls --without-included-gettext
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc
i386-linux >Description:
	G++ 3.3 fails when compiling a certain c++ file from the
	Boost.Python library.  The precise line is:

        BOOST_STATIC_ASSERT(
            sizeof(
                convert_function_must_take_value_or_const_reference(&ToPython::convert,
                1L))
            == sizeof(int));

	which is precompiled to:

        typedef ::boost::static_assert_test<
        sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( sizeof(
        convert_function_must_take_value_or_const_reference(&ToPython::convert,
        1L)) == sizeof(int) ) >)> boost_static_assert_typedef_31;

	This gives the following output:

domi: /tmp> g++ -c python_scripter.i
/usr/include/boost/python/converter/as_to_python_function.hpp:28:
sorry, unimplemented: `
   method_call_expr' not supported by dump_expr
   /usr/include/boost/python/converter/as_to_python_function.hpp:28:
   sorry, unimplemented: `
   method_call_expr' not supported by dump_expr
   /usr/include/boost/python/converter/as_to_python_function.hpp:28:
   sorry, unimplemented: `
   method_call_expr' not supported by dump_expr
   /usr/include/boost/python/converter/as_to_python_function.hpp:28:
   sorry, unimplemented: `
   method_call_expr' not supported by dump_expr

	I'm not sure what this means, but GCC 3.2 does not reject the code:

domi: /tmp> g++-3.2 -c python_scripter.3.2.i

>How-To-Repeat:

	Download the python_scripter.i file from
	http://www.student.kuleuven.ac.be/~m0320063/python_scripter.i.bz2
	bunzip2 it, and compile it as follows: 
	"g++-3.3 -c python_scripter.i"

>Fix:
	No idea, sorry.  Hope you manage to fix it, and thanks in
	advance.
>Release-Note:
>Audit-Trail:
>Unformatted:



Reply to: