Sigh.  This appears to be a combination of issues related to the
new headers being included.

        First, src/gcc/intl.h includes:

#ifndef HAVE_SETLOCALE
# define setlocale(category, locale) (locale)
#endif

and auto-host.h in the build directory includes:

/* Define to 1 if you have the `setlocale' function. */
#ifndef USED_FOR_TARGET
#define HAVE_SETLOCALE 1
#endif

but the define is triggering, causing

struct lconv *localeconv(void);
char   *setlocale(int, const char *);

to become

struct lconv *localeconv(void);
char   *(int, const char *);

        The second problem is including tm.h means that options.c sees

#undef  TARGET_ALTIVEC_VRSAVE
#define TARGET_ALTIVEC_VRSAVE 0

conflicting with options.c

/* Set by -mvrsave.
   Generate VRSAVE instructions when generating AltiVec code  */
int TARGET_ALTIVEC_VRSAVE;

which it did not see before.  Other uses of the variable protect it with a
test that it is not a constant, but options.c does not.

        I can remove the TARGET_ALTIVEC_VESAVE definition, but the
setlocale() problem is more fundamental.

David

Reply via email to