Boost logo

Boost Users :

From: Sergey Serokurov (serg67_at_[hidden])
Date: 2005-07-28 21:13:44


HI All,

I am getting compilation errors using
Microsoft (R) C/C++ Optimizing Compiler Version
13.10.2240.8 for IA-64
The compiler is shipped with Windows DDK
(WINDDK\3790\bin\ia64).
The same code compiles perfectly well with 32 bit
Microsoft compiler (13.10.2179.0)

The Boost version is 1.32.0
Is it a known issue with the compiler? Is there a
workaround?

Content of the StdAfx.h file which is being compiled
as a the pre-compiled header is:

#include <boost/multi_index_container.hpp>
#include <boost/multi_index/member.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/mem_fun.hpp>
#include <boost/multi_index/composite_key.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/intrusive_ptr.hpp>
#include <boost/functional.hpp>
#include <boost/variant.hpp>
#include <boost/ref.hpp>

The following is the compiler output:

P'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST=
NOLINK=1 NOPASS0=1 IA64=1'
cl -nologo -Iia64\ -I. -IC:\WINDDK\3790\inc\mfc42
-IC:\WINDDK\3790\inc\atl30 -I\include
-IC:\WINDDK\3790\inc\ddk\wnet IC:\WINDDK\3790\inc\crt
C:\WINDDK\3790

\inc\wnet\crt\stl60 -D_WIN64 -D_IA64_=1 -DIA64=1
-DNO_HW_DETECT -D_MSC_EXTENSIONS
-DCONDITION_HANDLING=1 -DNT_INST=0 -DWIN32=100
-D_NT1X_=100 -DWINNT=1

-D_WIN32_WINNT=0x0502 /DWINVER=0x0502
-D_WIN32_IE=0x0600 -D_MERCED_A0_=1 -DDEVL=1
-D__BUILDMACHINE__=WinDDK -DFPO=0 -DNDEBUG -D_DLL=1
-D_MT=1 -DUNICODE

-D_UNICODE -DNOATLNAMESPACE /D_ATL_DLL /c /Zel /Zp8
/Gy /Gi- /W3 /Wp64 /GX /GR /Zi /Od /d2QIA64_fr32
/FdC:\main\SWSvc\objfre_wnet_IA64\ia64\ -

FIC:\WINDDK\3790\inc\wnet\warning.h /YlSWSvc
/Ycstdafx.h /Fpobjfre_wnet_IA64\ia64\stdafx.pch
/Fo"C:\objfre_wnet_IA64\ia64\_stdafx.obj" /Tp

#include "stdafx.h"

pch_hdr.src
\boost-1_32\boost\mpl\if.hpp(63) : error C2226: syntax
error : unexpected type 'value'
\boost-1_32\boost\mpl\if.hpp(73) : see reference to
class template instantiation
'boost::mpl::if_<T1,T2,T3>' being compiled
\boost-1_32\boost\mpl\if.hpp(63) : error C2144: syntax
error : 'value' should be preceded by '('
\boost-1_32\boost\mpl\if.hpp(67) : error C2976:
'boost::mpl::if_c' : too few template arguments
\boost-1_32\boost\mpl\if.hpp(37) : see declaration of
'boost::mpl::if_c'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(21)
: error C2143: syntax error : missing ')' before '>'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(28)
: see reference to class template instantiation
'boost::mpl::less_impl<Tag1,Tag2>' being compiled
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(21)
: error C2059: syntax error : '>'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(26)
: error C2947: expecting '>' to terminate
template-argument-list, found '>'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(26)
: error C2976: 'boost::mpl::if_c' : too few template
arguments
\boost-1_32\boost\mpl\if.hpp(37) : see declaration of
'boost::mpl::if_c'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(87)
: error C2143: syntax error : missing ')' before '>'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(89)
: see reference to class template instantiation
'boost::mpl::less_impl<Tag1,Tag2>::apply<N1,N2>'

being compiled
        with
        [
            Tag1=boost::mpl::integral_c_tag,
            Tag2=boost::mpl::integral_c_tag
        ]
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(87)
: error C2059: syntax error : '>'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(88)
: error C2143: syntax error : missing ';' before '{'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(89)
: error C2143: syntax error : missing ';' before '}'
\boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(89)
: fatal error C1004: unexpected end of file found

Thank you,
Sergey Serokurov


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net