typedef of missing types

Daniel Kochmański daniel at turtleware.eu
Wed Feb 1 12:00:34 UTC 2017


Hey,

thanks for the report, I've added signed prefixes to all types in that
part:

 /* Missing integer types */
 #if _MSC_VER < 1900
-typedef char int8_t;
-typedef short int16_t;
-typedef int int32_t;
+typedef signed char int8_t;
+typedef signed short int16_t;
+typedef signed int int32_t;
 typedef unsigned char uint8_t;
 typedef unsigned short uint16_t;

as a side note, at least in principle ECL requires C99 support from
16.1.2 release.

I'll push the fix when gitlab gets up again.

Best regards,
Daniel

Jón Hallur Haraldsson writes:

> In ecl/config.h line 220 there is a block labelled /* Missing integer types
> */
>
> The int8_t has a typedef of char which is incompatible with Windows
> standard types.
>
> https://msdn.microsoft.com/en-us/library/323b6b3k.aspx
>
> changing line 221 from:
>
> typedef char int8_t;
> to
> typedef signed char int8_t;
>
> Fixes the issue for me and allows me to compile both lisp code and C++
> projects using ecl.lib
>
>
> I know that char and signed char should be the same but the MS VS compile
> disagrees.


-- 
Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland
TurtleWare - Daniel Kochmański      | www.turtleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi



More information about the ecl-devel mailing list