Vladimir Prus <[EMAIL PROTECTED]> writes:

| Gabriel Dos Reis wrote:
| > "Joel de Guzman" <[EMAIL PROTECTED]> writes:
| > | Hi,
| > | | I'm not sure if you are aware of this but g++ 2.95.3 cannot
| > | handle the casts:
| > | | g++ 2.95.3 [no STLport]
| > | C:/dev/boost/boost/mpl/integral_c.hpp:67: sorry, not implemented: 
|`static_cast_expr' not supported
| > | by dump_expr
| > This means that the part of GCC-2.95.x compiler responsible for
| > pretty-printing "static_cast_expr" was not taught to do its homework.
| 
| First of all, this looks like a major problem: looking at
| regressiong tests result for linux, I see that filesystem tests fail for
| that reason, and some other too -- 53% of tests fail.
| 
| Further, I can't understand the following part of regression logs:
| 
| operations_test / gcc
| [snip]
|      /opt/gcc2/bin//g++  -c -Wall -ftemplate-depth-100   -g -O0
| -fno-inline -I"../libs/filesystem/test"  -I
| "/home/boost/boost-regress/boost"  -o
| 
|"../libs/filesystem/test/bin/operations_test.test/gcc/debug/runtime-link-dynamic/operations_test.o"
| "/home/boost/boost-regress/boost/libs/filesystem/test/operations_test.cpp"
| 
| operations_test / gcc2953
| [snip]
| 
| Compiler output:
| [snip]
|      /opt/gcc2/bin//g++  -c -Wall -ftemplate-depth-100   -g -O0
| -fno-inline -I"../libs/filesystem/test"  -I
| "/home/boost/boost-regress/boost"  -o
| 
|"../libs/filesystem/test/bin/operations_test.test/gcc2953/debug/runtime-link-dynamic/operations_test.o"
| "/home/boost/boost-regress/boost/libs/filesystem/test/operations_test.cpp"

I must admit I'm neither familiar with Boost's regression testsuite,
so I would need your help to see what you don't understand.

| Is the same compiler invoked in both cases? This is very likely, because I've
| just build filesystem library with gcc3.2/Boost.Build2 without problems.
| 
| BTW, Gabriel, why you say about "pretty-printing"? I though no
| RTL is pretty printed in default gcc settings...

No.  

I'm not sure this is the right to discuss GCC initernals. But since
you asked: GCC mainly uses two data structures 

   1) "tree" for anything that has to do with front-ends; i.e. source
       programs  are parsed and represented as trees.

    2) "RTL" for middle-end and back-ends.  Trees are translated from
       trees. 

The routine dump_expr mentioned in the "sorry message" only deals with
trees ("static_cast_expr" is an instance of tree).  What is happening
is that, somehow, that routine has been called to dump a static_cast
expression.

-- Gaby
 
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to