Fix more bugs in specific tests under AC_LANG(C++).

Found by exhaustive testing for differences between probe results
under AC_LANG(C) and AC_LANG(C++).

 * lib/autoconf/c.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Cast result of
   malloc for C++ compatibility.
 * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Declare yywrap
   as extern "C" when compiling as C++.
This commit is contained in:
Zack Weinberg 2020-11-09 13:08:13 -05:00
parent 8e54013958
commit a8b69e68aa
No known key found for this signature in database
GPG Key ID: 384F8E68AC65B0D5
2 changed files with 5 additions and 2 deletions

View File

@ -1993,8 +1993,8 @@ AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER],
#include <stddef.h>
struct s { int n; double d[]; };]],
[[int m = getchar ();
struct s *p = malloc (offsetof (struct s, d)
+ m * sizeof (double));
struct s *p = (struct s *) malloc (offsetof (struct s, d)
+ m * sizeof (double));
p->d[0] = 0.0;
return p->d != (double *) NULL;]])],
[ac_cv_c_flexmember=yes],

View File

@ -747,6 +747,9 @@ fi])])
AC_DEFUN([_AC_PROG_LEX_YYTEXT_DECL],
[cat >conftest.l <<_ACEOF[
%{
#ifdef __cplusplus
extern "C"
#endif
int yywrap(void);
%}
%%