# Sanity test a C compiler. # Copyright (C) 2006, 2009-2015, 2018-2021 Free Software Foundation, # Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Paul Eggert. AC_DEFUN([BISON_TEST_FOR_WORKING_C_COMPILER], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include int test_array[CHAR_BIT];]])], [], [AC_MSG_FAILURE([cannot compile a simple C program])]) AC_SUBST([BISON_C_WORKS], [:]) ]) # BISON_CHECK_WITH_POSIXLY_CORRECT(CODE) # -------------------------------------- # Run the Autoconf CODE with POSIXLY_CORRECT set to 1, and restored to # its initial value afterwards. AC_DEFUN([BISON_CHECK_WITH_POSIXLY_CORRECT], [gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" _COMPILER_POSIXLY_CORRECT to true/false. AC_DEFUN([BISON_LANG_COMPILER_POSIXLY_CORRECT], [AC_CACHE_CHECK([whether $_AC_CC supports POSIXLY_CORRECT=1], [bison_cv_[]_AC_LANG_ABBREV[]_supports_posixly_correct], [BISON_CHECK_WITH_POSIXLY_CORRECT( [AC_LINK_IFELSE([AC_LANG_PROGRAM], [bison_cv_[]_AC_LANG_ABBREV[]_supports_posixly_correct=yes], [bison_cv_[]_AC_LANG_ABBREV[]_supports_posixly_correct=no])])]) case $bison_cv_[]_AC_LANG_ABBREV[]_supports_posixly_correct in yes) AC_SUBST(_AC_LANG_PREFIX[_COMPILER_POSIXLY_CORRECT], [true]) ;; no) AC_SUBST(_AC_LANG_PREFIX[_COMPILER_POSIXLY_CORRECT], [false]);; esac ]) # BISON_C_COMPILER_POSIXLY_CORRECT # -------------------------------- # Whether the C compiler supports -g in POSIXLY_CORRECT mode. AC_DEFUN([BISON_C_COMPILER_POSIXLY_CORRECT], [AC_LANG_PUSH([C]) BISON_LANG_COMPILER_POSIXLY_CORRECT AC_LANG_POP([C]) ])