Opened 16 years ago

Closed 12 years ago

#761 closed Patches (wontfix)

[mpl] evc4 port

Reported by: vividos Owned by: Aleksey Gurtovoy
Milestone: Component: mpl
Version: None Severity: Problem
Keywords: Cc:

Description (last modified by Marshall Clow)

Hi,
I'm trying to port Boost 1.34 CVS to the eMbedded
Visual C++ 4 compiler. In many projects there are
compiler errors that lead back to MPL header files
located in boost\mpl\aux_\preprocessed\msvc60\, or.hpp
and and.hpp. They produce the following errors (example
for or.hpp):

or.hpp(41) : error C2908: explicit specialization;
'or_impl<0>' has already been instantiated from the
primary template
or.hpp(41) : error C2039: 'result_' : is not a member
of '`global namespace''
or.hpp(41) : error C2143: syntax error : missing ';'
before '<'
or.hpp(41) : error C2059: syntax error : '<'
or.hpp(43) : error C2143: syntax error : missing ';'
before '{'
or.hpp(43) : error C2447: missing function header
(old-style formal list?)

The following patch would add the necessary
specialisation for or_impl<true> and and_impl<true> to
the struct definition directly, and only for the evc4
compiler (msvc8 with ARM target wouldn't use the
alternative code).

As I guess from the folders name the files are
auto-generated. If the patch is rejected, is there a
possibility to generate the proper code for the
evc4-compiler?

Change History (3)

comment:1 by Mateusz Loskot, 16 years ago

Logged In: YES 
user_id=736047

The eVC++ 4.0 compiler is based on Visual C++ 6.0, so
templates support is weak.
Theoretically, is it feasible to build MPL using these
compiler at all?

Mateusz Loskot

comment:2 by Daryle Walker, 15 years ago

Component: Nonempl
Severity: Problem

comment:3 by Marshall Clow, 12 years ago

Description: modified (diff)
Resolution: Nonewontfix
Status: assignedclosed

Since we do not have a test setup for this compiler (no volunteers) and this ticket is four years old, I am closing it.

Note: See TracTickets for help on using tickets.