|
Boost : |
Subject: [boost] [chrono] Compiler errors for mpl/abs.hpp
From: lcaminiti (lorcaminiti_at_[hidden])
Date: 2011-04-14 18:28:30
Hello all,
I am trying to compile the example below on MSVC using Boost.Chrono
(headers-only) from the sandbox but I am getting some compiler errors.
What am I doing wrong?
Thank you very much.
--Lorenzo
#define BOOST_CHRONO_INLINED
#include <boost/chrono.hpp>
#include <boost/spirit/include/phoenix.hpp>
#include
#include
#include
#include
#include
int main(int argc, char* argv[]) {
assert(argc == 2);
unsigned long n = sqrt(double(atol(argv[1])));
using boost::phoenix::ref;
using boost::phoenix::arg_names::_1;
double sum = 0.0;
int factor = 1;
std::vector v(n);
std::fill(v.begin(), v.end(), 1.0);
boost::chrono::duration sec;
for (unsigned long i = 0; i < n; ++i) {
boost::chrono::system_clock::time_point start =
boost::chrono::system_clock::now();
std::for_each(v.begin(), v.end(), (
ref(sum) += factor * _1
));
sec += boost::chrono::system_clock::now() - start;
}
std::cout << sec.count() << std::endl;
assert(sum == n * n);
return 0;
}
E:\sandbox\boost-sandbox-local\libs\local\example>cl /EHs /Ox /I..\..\..
/I"c:\P
rogram Files\boost\boost_1_46_1" /I..\..\..\..\boost-sandbox-chrono.x
benchmark_
boost_phoenix.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for
80x86
Copyright (C) Microsoft Corporation. All rights reserved.
benchmark_boost_phoenix.cpp
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(72) : error C2143:
syntax e
rror : missing ',' before ')'
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(75) : see
reference
to class template instantiation 'boost::mpl::abs_impl::apply' being
compiled
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(72) : error C2059:
syntax e
rror : ')'
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(74) : error C2143:
syntax e
rror : missing ';' before '{'
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(75) : error C2143:
syntax e
rror : missing ';' before '}'
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(72) : error C2143:
syntax e
rror : missing ';' before '}'
..\..\..\..\boost-sandbox-chrono.x\boost/mpl/abs.hpp(72) : fatal error
C1004: un
expected end-of-file found
-- View this message in context: http://boost.2283326.n4.nabble.com/boost-chrono-Compiler-errors-for-mpl-abs-hpp-tp3450863p3450863.html Sent from the Boost - Dev mailing list archive at Nabble.com.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk