mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-25 03:44:04 +08:00
437eea66a4
As Iain reported, my change broke the case when one has bison >= 3, but make decides there is no reason to regenerate plural.c, unfortunately that seems to be a scenario I haven't tested. The problem is that the pregenerated plural.c has been generated with bison 1.35, but when config.h says HAVE_BISON3, the code assumes it is the bison3 variant. What used to work fine is when one has bison >= 3 and plural.c has been regenerated (e.g. do touch intl/plural.y and it will work), or when one doesn't have any bison (then nothing is regenerated, but HAVE_BISON3 isn't defined either), or when one has bison < 3 and doesn't need to regenerate, or when one has bison < 3 and it is regenerated. The following patch fixes this, by killing the HAVE_BISON3 macro from config.h, and instead remembering the fact whether plural.c has been created with bison < 3 or bison >= 3 in a separate new plural-config.h header. The way this works: - user doesn't have bison - user has bison >= 3, but intl/{plural-config.h,plural.c} aren't older than intl/plural.y - user has bison < 3, but intl/{plural-config.h,plural.c} aren't older than intl/plural.y pregenerated !USE_BISON3 plural.c and plural-config.h from source dir is used, nothing in the objdir - user has bison >= 3 and intl/plural.y is newer Makefile generates plural.c and USE_BISON3 plural-config.h in the objdir, which is then used in preference to srcdir copies - user has bison < 3 and intl/plural.y is newer Makefile generates plural.c and !USE_BISON3 plural-config.h in the objdir, which is then used in preference to srcdir copies I have tested all these cases and make all-yes worked in all the cases. If one uses the unsupported ./configure where srcdir == objdir, I guess (though haven't tested) that it should still work, just it would be nice if such people didn't try to check in the plural{.c,-config.h} they have regenerated. What doesn't work, but didn't work before either (just tested gcc-9 branch too) is when one doesn't have bison and plural.y is newer than plural.c. Don't do that ;) 2020-04-16 Jakub Jelinek <jakub@redhat.com> PR bootstrap/92008 intl/ * configure.ac: Remove HAVE_BISON3 AC_DEFINE. * Makefile.in (HEADERS): Add plural-config.h. (.y.c): Also create plural-config.h. (dcigettext.o loadmsgcat.o plural.o plural-exp.o): Also depend on plural-config.h. (plural-config.h): Depend on plural.c. * plural-exp.h: Include plural-config.h. Use USE_BISON3 instead of HAVE_BISON3. * plural.y: Use USE_BISON3 instead of HAVE_BISON3. * configure: Regenerated. * plural.c: Regenerated. * config.h.in: Regenerated. * plural-config.h: Generated. contrib/ * gcc_update: Add intl/plural.y dependency for intl/plural-config.h.
281 lines
7.5 KiB
C
281 lines
7.5 KiB
C
/* config.h.in. Generated from configure.ac by autoheader. */
|
|
|
|
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
|
systems. This function is required for `alloca.c' support on those systems.
|
|
*/
|
|
#undef CRAY_STACKSEG_END
|
|
|
|
/* Define to 1 if using `alloca.c'. */
|
|
#undef C_ALLOCA
|
|
|
|
/* Define because we depend on libiconv. */
|
|
#undef DEPENDS_ON_LIBICONV
|
|
|
|
/* Define to 1 if translation of program messages to the user's native
|
|
language is requested. */
|
|
#undef ENABLE_NLS
|
|
|
|
/* Define to enable relocation. */
|
|
#undef ENABLE_RELOCATABLE
|
|
|
|
/* Define to 1 if you have `alloca', as a function or macro. */
|
|
#undef HAVE_ALLOCA
|
|
|
|
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
|
*/
|
|
#undef HAVE_ALLOCA_H
|
|
|
|
/* Define to 1 if you have the <argz.h> header file. */
|
|
#undef HAVE_ARGZ_H
|
|
|
|
/* Define if the GNU dcgettext() function is already present or preinstalled.
|
|
*/
|
|
#undef HAVE_DCGETTEXT
|
|
|
|
/* Define to 1 if you have the `feof_unlocked' function. */
|
|
#undef HAVE_FEOF_UNLOCKED
|
|
|
|
/* Define to 1 if you have the `fgets_unlocked' function. */
|
|
#undef HAVE_FGETS_UNLOCKED
|
|
|
|
/* Define to 1 if you have the `getcwd' function. */
|
|
#undef HAVE_GETCWD
|
|
|
|
/* Define to 1 if you have the `getc_unlocked' function. */
|
|
#undef HAVE_GETC_UNLOCKED
|
|
|
|
/* Define to 1 if you have the `getegid' function. */
|
|
#undef HAVE_GETEGID
|
|
|
|
/* Define to 1 if you have the `geteuid' function. */
|
|
#undef HAVE_GETEUID
|
|
|
|
/* Define to 1 if you have the `getgid' function. */
|
|
#undef HAVE_GETGID
|
|
|
|
/* Define to 1 if you have the `getpagesize' function. */
|
|
#undef HAVE_GETPAGESIZE
|
|
|
|
/* Define if the GNU gettext() function is already present or preinstalled. */
|
|
#undef HAVE_GETTEXT
|
|
|
|
/* Define to 1 if you have the `getuid' function. */
|
|
#undef HAVE_GETUID
|
|
|
|
/* Define if you have the iconv() function. */
|
|
#undef HAVE_ICONV
|
|
|
|
/* Define if <inttypes.h> exists and doesn't clash with <sys/types.h>. */
|
|
#undef HAVE_INTTYPES_H
|
|
|
|
/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
|
|
declares uintmax_t. */
|
|
#undef HAVE_INTTYPES_H_WITH_UINTMAX
|
|
|
|
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
|
|
#undef HAVE_LANGINFO_CODESET
|
|
|
|
/* Define if your <locale.h> file defines LC_MESSAGES. */
|
|
#undef HAVE_LC_MESSAGES
|
|
|
|
/* Define to 1 if you have the <limits.h> header file. */
|
|
#undef HAVE_LIMITS_H
|
|
|
|
/* Define to 1 if you have the <locale.h> header file. */
|
|
#undef HAVE_LOCALE_H
|
|
|
|
/* Define to 1 if you have the <malloc.h> header file. */
|
|
#undef HAVE_MALLOC_H
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#undef HAVE_MEMORY_H
|
|
|
|
/* Define to 1 if you have the `mempcpy' function. */
|
|
#undef HAVE_MEMPCPY
|
|
|
|
/* Define to 1 if you have a working `mmap' system call. */
|
|
#undef HAVE_MMAP
|
|
|
|
/* Define to 1 if you have the `munmap' function. */
|
|
#undef HAVE_MUNMAP
|
|
|
|
/* Define to 1 if you have the <nl_types.h> header file. */
|
|
#undef HAVE_NL_TYPES_H
|
|
|
|
/* Define to 1 if you have the `putenv' function. */
|
|
#undef HAVE_PUTENV
|
|
|
|
/* Define to 1 if you have the `setenv' function. */
|
|
#undef HAVE_SETENV
|
|
|
|
/* Define to 1 if you have the `setlocale' function. */
|
|
#undef HAVE_SETLOCALE
|
|
|
|
/* Define to 1 if you have the <stddef.h> header file. */
|
|
#undef HAVE_STDDEF_H
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#undef HAVE_STDINT_H
|
|
|
|
/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
|
|
uintmax_t. */
|
|
#undef HAVE_STDINT_H_WITH_UINTMAX
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#undef HAVE_STDLIB_H
|
|
|
|
/* Define to 1 if you have the `stpcpy' function. */
|
|
#undef HAVE_STPCPY
|
|
|
|
/* Define to 1 if you have the `strcasecmp' function. */
|
|
#undef HAVE_STRCASECMP
|
|
|
|
/* Define to 1 if you have the `strdup' function. */
|
|
#undef HAVE_STRDUP
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#undef HAVE_STRINGS_H
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#undef HAVE_STRING_H
|
|
|
|
/* Define to 1 if you have the `strtoul' function. */
|
|
#undef HAVE_STRTOUL
|
|
|
|
/* Define to 1 if you have the <sys/param.h> header file. */
|
|
#undef HAVE_SYS_PARAM_H
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#undef HAVE_SYS_STAT_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to 1 if you have the `tsearch' function. */
|
|
#undef HAVE_TSEARCH
|
|
|
|
/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
|
|
#undef HAVE_UINTMAX_T
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
/* Define if you have the unsigned long long type. */
|
|
#undef HAVE_UNSIGNED_LONG_LONG
|
|
|
|
/* Define to 1 if you have the `__argz_count' function. */
|
|
#undef HAVE___ARGZ_COUNT
|
|
|
|
/* Define to 1 if you have the `__argz_next' function. */
|
|
#undef HAVE___ARGZ_NEXT
|
|
|
|
/* Define to 1 if you have the `__argz_stringify' function. */
|
|
#undef HAVE___ARGZ_STRINGIFY
|
|
|
|
/* Define to 1 if you have the `__fsetlocking' function. */
|
|
#undef HAVE___FSETLOCKING
|
|
|
|
/* Define as const if the declaration of iconv() needs const. */
|
|
#undef ICONV_CONST
|
|
|
|
/* Define if integer division by zero raises signal SIGFPE. */
|
|
#undef INTDIV0_RAISES_SIGFPE
|
|
|
|
/* Define because this is libintl. */
|
|
#undef IN_LIBINTL
|
|
|
|
/* Define because this is a library. */
|
|
#undef IN_LIBRARY
|
|
|
|
/* Define if there is no xmalloc. */
|
|
#undef NO_XMALLOC
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#undef PACKAGE_BUGREPORT
|
|
|
|
/* Define to the full name of this package. */
|
|
#undef PACKAGE_NAME
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#undef PACKAGE_STRING
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#undef PACKAGE_TARNAME
|
|
|
|
/* Define to the home page for this package. */
|
|
#undef PACKAGE_URL
|
|
|
|
/* Define to the version of this package. */
|
|
#undef PACKAGE_VERSION
|
|
|
|
/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
|
|
#undef PRI_MACROS_BROKEN
|
|
|
|
/* If using the C implementation of alloca, define if you know the
|
|
direction of stack growth for your system; otherwise it will be
|
|
automatically deduced at runtime.
|
|
STACK_DIRECTION > 0 => grows toward higher addresses
|
|
STACK_DIRECTION < 0 => grows toward lower addresses
|
|
STACK_DIRECTION = 0 => direction of growth unknown */
|
|
#undef STACK_DIRECTION
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#undef STDC_HEADERS
|
|
|
|
/* Enable extensions on AIX 3, Interix. */
|
|
#ifndef _ALL_SOURCE
|
|
# undef _ALL_SOURCE
|
|
#endif
|
|
/* Enable GNU extensions on systems that have them. */
|
|
#ifndef _GNU_SOURCE
|
|
# undef _GNU_SOURCE
|
|
#endif
|
|
/* Enable threading extensions on Solaris. */
|
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
|
# undef _POSIX_PTHREAD_SEMANTICS
|
|
#endif
|
|
/* Enable extensions on HP NonStop. */
|
|
#ifndef _TANDEM_SOURCE
|
|
# undef _TANDEM_SOURCE
|
|
#endif
|
|
/* Enable general extensions on Solaris. */
|
|
#ifndef __EXTENSIONS__
|
|
# undef __EXTENSIONS__
|
|
#endif
|
|
|
|
|
|
/* Define to 1 if on MINIX. */
|
|
#undef _MINIX
|
|
|
|
/* Define to 2 if the system does not provide POSIX.1 features except with
|
|
this defined. */
|
|
#undef _POSIX_1_SOURCE
|
|
|
|
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
|
#undef _POSIX_SOURCE
|
|
|
|
/* Define to empty if `const' does not conform to ANSI C. */
|
|
#undef const
|
|
|
|
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
|
calls it, or to nothing if 'inline' is not supported under any name. */
|
|
#ifndef __cplusplus
|
|
#undef inline
|
|
#endif
|
|
|
|
/* Define to `long int' if <sys/types.h> does not define. */
|
|
#undef off_t
|
|
|
|
/* Define this entry point correctly. */
|
|
#undef relocate
|
|
|
|
/* Define this entry point correctly. */
|
|
#undef set_relocation_prefix
|
|
|
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
|
#undef size_t
|
|
|
|
/* Define to unsigned long or unsigned long long if <stdint.h> and
|
|
<inttypes.h> don't define. */
|
|
#undef uintmax_t
|