Opened 13 years ago

Closed 13 years ago

#3568 closed Bugs (fixed)

integer.hpp fails to compile with /Za switch

Reported by: muckjail@… Owned by: Daryle Walker
Milestone: Boost 1.41.0 Component: integer
Version: Boost 1.40.0 Severity: Problem
Keywords: Cc: mateusz@…

Description

This little snippet complies fine with the /Ze switch which enables Microsoft extensions

#include <boost/integer.hpp> int main(){

return 0;

} But if you disable microsoft extensions with the /Za switch then you get the following errors mess of errors.

1>c:\boost\include\boost-1_40\boost\integer_fwd.hpp(70) : error C2039: 'long_long_type' : is not a member of 'boost' 1>c:\boost\include\boost-1_40\boost\integer_fwd.hpp(70) : error C2065: 'long_long_type' : undeclared identifier 1>c:\boost\include\boost-1_40\boost\integer_fwd.hpp(70) : error C2913: explicit specialization; 'boost::integer_traits' is not a specialization of a class template 1>c:\boost\include\boost-1_40\boost\integer_fwd.hpp(73) : error C2913: explicit specialization; 'boost::integer_traits' is not a specialization of a class template 1>c:\boost\include\boost-1_40\boost\integer_traits.hpp(67) : error C2913: explicit specialization; 'boost::integer_traits' is not a specialization of a class template 1>c:\boost\include\boost-1_40\boost\integer_traits.hpp(73) : error C2913: explicit specialization; 'boost::integer_traits' is not a specialization of a class template 1>c:\boost\include\boost-1_40\boost\integer_traits.hpp(79) : error C2913: explicit specialization; 'boost::integer_traits' is not a specialization of a class template more...

Change History (2)

comment:1 by mloskot <mateusz@…>, 13 years ago

Cc: mateusz@… added

comment:2 by John Maddock, 13 years ago

Resolution: fixed
Status: newclosed

(In [57843]) Fix preprocessor logic for long long support. Fixes #3657. Fixes #3568.

Note: See TracTickets for help on using tickets.