Boost logo

Boost :

Subject: Re: [boost] [config] compiler/gcc.hpp version 4.5 to update
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-11-13 09:40:34


----- Original Message -----
From: "vicente.botet" <vicente.botet_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Saturday, November 13, 2010 2:07 PM
Subject: Re: [boost] [config] compiler/gcc.hpp version 4.5 to update

> I have some doubts about the procedure. In order to check the flags that must be defined, should I run the
>
> bjam config_info config_test toolset=gcc-4.4.0 cxxflags="-std=c++0x
> bjam config_info config_test toolset=gcc-4.5.0 cxxflags="-std=c++0x
> bjam config_info config_test toolset=gcc-4.6.0 cxxflags="-std=c++0x
>
> and compare the outputs?

Hi again,

unfortunately I don't reach to get the config_info for my installed gcc-4.4. I get the following error

\boost\trunk\libs\config\test>
bjam -a config_info toolset=gcc cxxflags="-std=c++0x" > gcc440x.log

In file included from c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/bits/postypes.h:42,
                 from c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/iosfwd:42,
                 from c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/ios:39,
                 from c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/ostream:40,
                 from c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/iostream:40,
                 from config_info.cpp:19:
c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/cwchar:159: error: '::swprintf' has not been declared
c:\cygwin\gcc-4.4.0\bin\../lib/gcc/i386-pc-mingw32/4.4.0/../../../../include/c++/4.4.0/cwchar:166: error: '::vswprintf' has not been declared

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -std=c++0x -DBOOST_ALL_NO_LIB=1 -I"..\..\.." -c -o "..\..\..\bin.v2\libs\config\test\config_info.test\gcc-mingw-4.4.0\debug\config_info.o" "config_info.cpp"

I gues I have a problem with wide charracters on my config :(

Surprisingly the outputs for 4.5 and 4.6 are the same. See attached files.

There is a common line
  BOOST_NO_CONSTEXPR [no value]

I guess this means that BOOST_NO_CONSTEXPR is defined with no value.

But when I run the following with gcc4.5.0 or gcc 4.6.0

\boost\trunk\libs\config\test\all>
bjam -a BOOST_NO_CONSTEXPR toolset=gcc cxxflags="-std=c++0x" > gcc460x.log

I get the following logs

gcc.compile.c++ ..\..\..\..\bin.v2\libs\config\test\all\no_constexpr_fail.test\gcc-mingw-4.5.0\debug\threading-multi\no_constexpr_fail.o
In file included from ..\no_constexpr_fail.cpp:28:0:
..\/boost_no_constexpr.ipp: In function 'int boost_no_constexpr::test()':
..\/boost_no_constexpr.ipp:19:7: warning: unused variable 'i'

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads -std=c++0x -DBOOST_ALL_NO_LIB=1 -I"..\..\..\.." -c -o "..\..\..\..\bin.v2\libs\config\test\all\no_constexpr_fail.test\gcc-mingw-4.5.0\debug\threading-multi\no_constexpr_fail.o" "..\no_constexpr_fail.cpp"

...failed gcc.compile.c++ ..\..\..\..\bin.v2\libs\config\test\all\no_constexpr_fail.test\gcc-mingw-4.5.0\debug\threading-multi\no_constexpr_fail.o...

or

gcc.compile.c++ ..\..\..\..\bin.v2\libs\config\test\all\no_constexpr_fail.test\gcc-mingw-4.6.0\debug\threading-multi\no_constexpr_fail.o
In file included from ..\no_constexpr_fail.cpp:28:0:
..\/boost_no_constexpr.ipp: In function 'int boost_no_constexpr::test()':
..\/boost_no_constexpr.ipp:19:7: warning: unused variable 'i' [-Wunused-variable]

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads -std=c++0x -DBOOST_ALL_NO_LIB=1 -I"..\..\..\.." -c -o "..\..\..\..\bin.v2\libs\config\test\all\no_constexpr_fail.test\gcc-mingw-4.6.0\debug\threading-multi\no_constexpr_fail.o" "..\no_constexpr_fail.cpp"

...failed gcc.compile.c++ ..\..\..\..\bin.v2\libs\config\test\all\no_constexpr_fail.test\gcc-mingw-4.6.0\debug\threading-multi\no_constexpr_fail.o...

These log let me think that constexpr is provided. How these reports can be interpreted?

BTW I see also

 BOOST_NO_0X_HDR_FUTURE [no value]

But there is no such <future> file. So I think this check should be removed.

Best,
Vicente

P.S I have taken the care to check the gcc version before running each test :)

gcc (GCC) 4.4.0
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gcc (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

\boost\trunk\libs\config\test>gcc --version
gcc (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.








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