Skip to content

Commit

Permalink
fix previous; check for C99 compound literals
Browse files Browse the repository at this point in the history
The previous commit was incorrect (or at least insufficient), the
ML-KEM code is actually using compound literals, so test for them.
  • Loading branch information
djmdjm committed Sep 9, 2024
1 parent 7c07bec commit e8a0f19
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
13 changes: 7 additions & 6 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -353,16 +353,17 @@ AC_COMPILE_IFELSE(
[ AC_MSG_RESULT([no]) ]
)

AC_MSG_CHECKING([if compiler supports named struct initialisers])
AC_MSG_CHECKING([if compiler supports compound literals])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <stdlib.h>]],
[[ struct foo { int bar; int baz; };
struct foo blerg = {.bar = 1, .baz = 2};
exit((blerg.bar == 1 && blerg.baz == 2) ? 0 : 1);
[[ struct foo { int bar; int baz; };
void *fooc = &(struct foo){.bar = 1, .baz = 2};
struct foo *foo2 = (struct foo *)fooc;
return (foo2->bar == 1 && foo2->baz == 2) ? 0 : 1;
]])],
[ AC_MSG_RESULT([yes])
AC_DEFINE(NAMED_STRUCT_INITIALISERS, [1],
[compiler supports named struct initializers]) ],
AC_DEFINE(COMPOUND_LITERALS, [1],
[compiler supports compound literals]) ],
[ AC_MSG_RESULT([no]) ]
)

Expand Down
4 changes: 2 additions & 2 deletions defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -942,8 +942,8 @@ struct winsize {
#if defined(VARIABLE_LENGTH_ARRAYS) && defined(VARIABLE_DECLARATION_AFTER_CODE)
# define USE_SNTRUP761X25519 1
#endif
/* The ML-KEM768 imlementation similarly uses named struct initialisers */
#ifdef NAMED_STRUCT_INITIALISERS
/* The ML-KEM768 imlementation similarly uses C99 compound literals */
#ifdef COMPOUND_LITERALS
# define USE_MLKEM768X25519 1
#endif
#endif /* _DEFINES_H */

0 comments on commit e8a0f19

Please sign in to comment.