Mantis - ALGLIB
Viewing Issue Advanced Details
633 General major always 2014-11-25 12:48 2014-12-04 12:34
PeterZajac  
SergeyB  
normal  
resolved 3.8.1  
fixed  
none    
none 3.9.0  
C++
0000633: FIXED: wrong 32/64 bit integer typedefs for MSVC compiler
The integer typedefs for the Microsoft Visual C++ compiler located in lines 159 and 174 of "ap.h" are using deprecated type names. The typedefs use the "_int32" and "_int64" types (prefixed with a single underscore), which are only defined when compiling with Microsoft C++ Language extensions enabled (which is the default). Disabling these extensions explicitly by supplying the "/Za" compiler option leads to the following errors:

ap.h(159): error C2146: syntax error : missing ';' before identifier 'ae_int32_t'
ap.h(159): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
ap.h(174): error C2146: syntax error : missing ';' before identifier 'ae_int64_t'
ap.h(174): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int


This problem can be resolved easily by replacing the (single-underscore) "_int32"/"_int64" type names by the (double-underscore) "__int32"/"__int64" types, resp., see:
http://msdn.microsoft.com/en-us/library/29dh1w7z.aspx
Issue History
2014-11-25 12:48 PeterZajac New Issue
2014-11-25 12:48 PeterZajac Programming language => C++
2014-12-01 18:54 SergeyB Status new => assigned
2014-12-01 18:54 SergeyB Assigned To => SergeyB
2014-12-01 18:54 SergeyB Target Version => Next 'Optimization' release
2014-12-04 12:34 SergeyB Status assigned => resolved
2014-12-04 12:34 SergeyB Fixed in Version => Next 'Optimization' release
2014-12-04 12:34 SergeyB Resolution open => fixed
2014-12-04 12:34 SergeyB Summary Wrong 32/64 bit integer typedefs for MSVC compiler => FIXED: wrong 32/64 bit integer typedefs for MSVC compiler

There are no notes attached to this issue.