Boost logo

Boost :

Subject: [boost] [type_traits] common_type errors with Oracle compiler
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2015-10-01 06:59:18


Hi,

Both oracle-intel-S2-next-cpp11 and oracle-sparc-S2-next-stlport4
testers fail to compile common_type as it is being used in Boost.Chrono.
This in turn affects compilation of Boost.Thread and multiple other
library tests. The error can be seen here:

http://www.boost.org/development/tests/develop/developer/output/oracle-intel-S2-next-cpp11-boost-bin-v2-libs-atomic-test-atomicity-test-sun-next_cpp11-release-threading-multi.html

Just in case if the test results go down, I'm copying the error inline
below. Could it be fixed?

     "CC" -std=c++11 -temp=/tmp/bn -xO4 -mt -erroff=%none -m32 -KPIC
-DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1
-DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED
-DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1
-DNDEBUG -D__typeof__=__typeof__ -I".." -c -o
"/export/home/sstrunk-tester/boost_regression/boost_regression_develop/boost_intel-S2_cpp11/results/boost/bin.v2/libs/atomic/test/atomicity.test/sun-next_cpp11/release/threading-multi/atomicity.o"
"../libs/atomic/test/atomicity.cpp"

"../boost/chrono/duration.hpp", line 405: Error: type is not a member of
boost::common_type<long long, long long>.
"../boost/thread/pthread/timespec.hpp", line 52: Where: While
specializing "boost::common_type<boost::chrono::duration<long long,
boost::ratio<1, 1000000000>>, boost::chrono::duration<long long,
boost::ratio<1, 1>>>".
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from boost::chrono::operator-<Rep1, Period1, Rep2, Period2>(const
duration<Rep1, Period1>&, const duration<Rep2, Period2>&).
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from non-template code.
"../boost/chrono/duration.hpp", line 406: Error: A declaration does not
specify a tag or an identifier.
"../boost/thread/pthread/timespec.hpp", line 52: Where: While
specializing "boost::common_type<boost::chrono::duration<long long,
boost::ratio<1, 1000000000>>, boost::chrono::duration<long long,
boost::ratio<1, 1>>>".
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from boost::chrono::operator-<Rep1, Period1, Rep2, Period2>(const
duration<Rep1, Period1>&, const duration<Rep2, Period2>&).
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from non-template code.
"../boost/chrono/duration.hpp", line 406: Error: Use ";" to terminate
declarations.
"../boost/thread/pthread/timespec.hpp", line 52: Where: While
specializing "boost::common_type<boost::chrono::duration<long long,
boost::ratio<1, 1000000000>>, boost::chrono::duration<long long,
boost::ratio<1, 1>>>".
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from boost::chrono::operator-<Rep1, Period1, Rep2, Period2>(const
duration<Rep1, Period1>&, const duration<Rep2, Period2>&).
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from non-template code.
"../boost/chrono/duration.hpp", line 406: Error: "}" expected instead of
">".
"../boost/thread/pthread/timespec.hpp", line 52: Where: While
specializing "boost::common_type<boost::chrono::duration<long long,
boost::ratio<1, 1000000000>>, boost::chrono::duration<long long,
boost::ratio<1, 1>>>".
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from boost::chrono::operator-<Rep1, Period1, Rep2, Period2>(const
duration<Rep1, Period1>&, const duration<Rep2, Period2>&).
"../boost/thread/pthread/timespec.hpp", line 52: Where: Instantiated
from non-template code.
"../boost/thread/pthread/timespec.hpp", line 52: Error: The operation
"const boost::chrono::duration<long long, boost::ratio<1, 1000000000>> -
boost::chrono::duration<long long, boost::ratio<1, 1>>" is illegal.
5 Error(s) detected.


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