Opened 9 years ago

Closed 9 years ago

#9199 closed Bugs (worksforme)

Fail to build under Visual Studio 2013 RC since revision 86107

Reported by: gauchyler@… Owned by: jsiek
Milestone: To Be Determined Component: concept_check
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description

From revision 86107, boost cannot be built under Visual Studio 2013 RC. For example, by entering the command line to build 'test':

bjam stage --with-test

The following error message is returned:

unit_test_parameters.cpp
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(42) : err
or C2065: 'ReadableIterator' : undeclared identifier
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(42) : err
or C2065: 'Iterator' : undeclared identifier
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(43) : err
or C2448: 'BOOST_concept' : function-style initializer appears to be a function
definition
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(43) : err
or C2143: syntax error : missing ';' before ':'
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(43) : err
or C2065: 'Iterator' : undeclared identifier
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(43) : err
or C2923: 'boost::Assignable' : 'Iterator' is not a valid template type argument
 for parameter 'TT'
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(44) : err
or C2143: syntax error : missing ';' before ','
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(44) : err
or C2059: syntax error : ','
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(44) : err
or C2065: 'Iterator' : undeclared identifier
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(44) : err
or C2923: 'boost::CopyConstructible' : 'Iterator' is not a valid template type a
rgument for parameter 'TT'
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(46) : err
or C2143: syntax error : missing ';' before '{'
D:\Documents\Libraries\boost_repo\boost/iterator/iterator_concepts.hpp(46) : err
or C2447: '{' : missing function header (old-style formal list?)
...

Change History (7)

comment:1 by forwiss@…, 9 years ago

same here. I's trying to build date_time. Sure enough, reverting to rev 86106 worked. What really amazes me: in rev 86107 the same code lines as in rev 86106 are active for cl12rc.

I got down to modifying the essential lines in file

boost-trunk\boost\concept\detail\concept_def.hpp

to

 #if 1 
 #define BOOST_concept(blah) \
  ...
 #endif 

I may also replace the #if 1 and do this and cl12rc still did the build:

 // #if 1
 #pragma message("dude, this message line fixes build for cl12rc!?")
 #define BOOST_concept(blah) \
  ...
 // #endif

But as soon as I had neither of those preprocessor commands beforehand the #define BOOST_concept, cl12rc reported the same compile errors mentioned in the first posting.

My evaluation time for VS2013RC has expired some time ago, but cl12rc still works when called from cmd, e.g. by bjam. I sense, there might be a bug in the preprocessor of cl12rc, not necessarily a bug in the boost src file "concept_def.hpp"

comment:2 by anonymous, 9 years ago

It works, Thanks

comment:3 by yaoyuan1216@…, 9 years ago

Works.

comment:4 by matthewaveryusa@…, 9 years ago

ticket submitted to MSVC in case it's a preprocessor bug on MSVC connect's website, id# 804975

comment:5 by acharles <acharles@…>, 9 years ago

This no longer reproduces with this version of 2013:

Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x86

comment:6 by acharles <acharles@…>, 9 years ago

Note, it doesn't reproduce with the develop branch of Boost.

comment:7 by acharles, 9 years ago

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.