otrv4 / libgoldilocks

An implementation of Mike Hamburg's Ed448 (Goldilocks) curve - derived from libdecaf. This is a mirror of https://bugs.otr.im/otrv4/libgoldilocks
Other
18 stars 6 forks source link

[FYI] make test fails with gcc 9 #14

Closed glitsj16 closed 4 years ago

glitsj16 commented 4 years ago

Hi, I just noticed that building from git master (6b7851c946fb1153b56ae3462cfb4be76a803fa3) throws an error in make test on my Arch Linux box. On another machine running Ubuntu 16.04 LTS it builds fine. So I assume the gcc 9 version from Arch Linux is responsible here.

OS: Arch Linux $ pacman -Q gcc gcc 9.2.0-4

Build snippet:

...
gcc -std=c99 -fno-strict-aliasing -pedantic -Wall -Wextra -Werror -Wunreachable-code -Wmissing-declarations -Wunused-function -Wno-overlength-strings   -Isrc -Isrc/include -Isrc/public_include -Isrc/include/arch_x86_64 -Isrc/arch_x86_64 -Os -march=native  -ffunction-sections -fdata-sections -fvisibility=hidden -fomit-frame-pointer -fPIC  -c -o build/obj/f_generic.o src/f_generic.c
In file included from src/public_include/goldilocks/point_448.h:16,
                 from src/public_include/goldilocks/point_448.hxx:33,
                 from src/public_include/goldilocks/ed448.hxx:22,
                 from src/public_include/goldilocks.hxx:16,
                 from test/test_goldilocks.cxx:12:
src/public_include/goldilocks/common.h: In function ‘goldilocks_bool_t goldilocks_successful(goldilocks_error_t)’:
src/public_include/goldilocks/common.h:97:55: error: overflow in conversion from ‘goldilocks_word_t’ {aka ‘long unsigned int’} to ‘goldilocks_error_t’ changes value from ‘18446744073709551615’ to ‘GOLDILOCKS_SUCCESS’ [-Werror=overflow]
   97 |     goldilocks_dword_t w = ((goldilocks_word_t)e) ^  ((goldilocks_word_t)GOLDILOCKS_SUCCESS);
      |                                                      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[1]: *** [Makefile.custom:168: build/obj/test_goldilocks.o] Error 1

Regards

claucece commented 4 years ago

Hi, @glitsj16!

Thanks for your issue. Can you try now?

Thanks!

glitsj16 commented 4 years ago

@claucece Thanks for the speedy fix, build runs cleanly again, make test included.