No, long long and unsigned long long is required and it was required
for quite some time. The code is mostly C90 but not strictly.

I suppose on platforms with 64bit long type we could make it work
without long long though. Pull requests are welcome.

Tomas Mraz, OpenSSL


On Tue, 2022-11-01 at 22:52 +0000, Dennis Clarke via openssl-users
wrote:
> 
> Good day :
> 
>       This always bites me when I try strict C90 :
> 
> In file included from include/openssl/x509.h:41,
>                   from apps/include/apps.h:29,
>                   from apps/lib/app_libctx.c:10:
> include/openssl/sha.h:106:37: error: ISO C90 does not support 'long 
> long' [-Wlong-long]
>    106 | #   define SHA_LONG64 unsigned long long
>        |                                     ^~~~
> include/openssl/sha.h:110:5: note: in expansion of macro 'SHA_LONG64'
>    110 |     SHA_LONG64 h[8];
>        |     ^~~~~~~~~~
> include/openssl/sha.h:106:37: error: ISO C90 does not support 'long 
> long' [-Wlong-long]
>    106 | #   define SHA_LONG64 unsigned long long
>        |                                     ^~~~
> include/openssl/sha.h:111:5: note: in expansion of macro 'SHA_LONG64'
>    111 |     SHA_LONG64 Nl, Nh;
>        |     ^~~~~~~~~~
> include/openssl/sha.h:106:37: error: ISO C90 does not support 'long 
> long' [-Wlong-long]
>    106 | #   define SHA_LONG64 unsigned long long
>        |                                     ^~~~
> include/openssl/sha.h:113:9: note: in expansion of macro 'SHA_LONG64'
>    113 |         SHA_LONG64 d[SHA_LBLOCK];
>        |         ^~~~~~~~~~
> gmake[1]: *** [Makefile:3989: apps/lib/libapps-lib-app_libctx.o]
> Error 1
> gmake[1]: Leaving directory '/opt/bw/build/openssl-
> 3.0.7_debian_ppc64.002'
> make: *** [Makefile:2958: build_sw] Error 2
> 
> 
> etc etc ...
> 
> I can just as neatly go to C11 or some such but I thought the whole
> code
>   base was C90 clean ?  At least it was.
> 
> 
> 
> 

-- 
Tomáš Mráz, OpenSSL

Reply via email to