m4/ax_emptyarray.m4
0fc5b8b3
 dnl @synopsis AX_EMPTY_ARRAY
 dnl
 dnl Define EMPTY_ARRAY_SIZE to be either "0"
 dnl or "" depending on which syntax the compiler
 dnl prefers for empty arrays in structs.
 dnl
 dnl @version
 dnl @author James Yonan <jim@yonan.net>
 AC_DEFUN([AX_EMPTY_ARRAY], [
bdd80be1
 	AS_VAR_PUSHDEF([VAR],[ax_cv_c_empty_array])dnl
 	AC_CACHE_CHECK(
 		[for C compiler empty array size],
 		[VAR],
 		[AC_COMPILE_IFELSE(
 			[AC_LANG_PROGRAM(
 				,
 				[[
 struct { int foo; int bar[0]; } mystruct;
 				]]
 			)],
 			[VAR=0],
 			[AC_COMPILE_IFELSE(
 				[AC_LANG_PROGRAM(
 					,
 					[[
 struct { int foo; int bar[]; } mystruct;
 					]]
 				)],
 				[VAR=],
 				[AC_MSG_ERROR([C compiler is unable to creaty empty arrays])]
 			)]
 		)]
 	)dnl
 	AC_DEFINE_UNQUOTED(
 		[EMPTY_ARRAY_SIZE],
 		[$VAR],
 		[Dimension to use for empty array declaration]
 	)dnl
 	AS_VAR_POPDEF([VAR])dnl
 ])