Hi,

This is the remaining fix for re-enabling native boostrap for
Windows-variant of gcc without disabling -Werror for libgcc.

ChangeLog

2015-02-26  Kai Tietz  <kti...@redhat.com>

    PR target/65038
    * config.in: Regenerated.
    * configure: Likewise.
    * configure.ac (AC_HEADER_STDC): Add explicit.
    (AC_CHECK_HEADERS): Check for default headers
    plus for ftw.h one.
    * libgcov-util.c (gcov_read_profile_dir): Disable use
    of ftw-function, if header not found.
    (ftw_read_file): Don't translate if ftw header isn't
    present.

Regression-tested for x86_64-unknown-linux-gnu.  Bootstrapped for
i686-pc-mingw32.
I will apply soon, if there are no objections.

Regards.
Kai

Index: configure.ac
===================================================================
--- configure.ac    (Revision 220969)
+++ configure.ac    (Arbeitskopie)
@@ -47,6 +47,12 @@ AC_SUBST(libgcc_topdir)
 AC_CONFIG_AUX_DIR($libgcc_topdir)
 AC_CONFIG_HEADER(auto-target.h:config.in)

+AC_CHECK_HEADERS(inttypes.h \
+         stdint.h stdlib.h \
+         ftw.h unistd.h sys/stat.h sys/types.h \
+         string.h strings.h memory.h)
+AC_HEADER_STDC
+
 AC_ARG_ENABLE(shared,
 [  --disable-shared        don't provide a shared libgcc],
 [
Index: libgcov-util.c
===================================================================
--- libgcov-util.c    (Revision 220969)
+++ libgcov-util.c    (Arbeitskopie)
@@ -52,7 +52,9 @@ void gcov_set_verbose (void)

 #include "obstack.h"
 #include <unistd.h>
+#ifdef HAVE_FTW_H
 #include <ftw.h>
+#endif

 static void tag_function (unsigned, unsigned);
 static void tag_blocks (unsigned, unsigned);
@@ -380,6 +382,7 @@ read_gcda_file (const char *filename)
   return obj_info;
 }

+#ifdef HAVE_FTW_H
 /* This will be called by ftw(). It opens and read a gcda file FILENAME.
    Return a non-zero value to stop the tree walk.  */

@@ -417,6 +420,7 @@ ftw_read_file (const char *filename,

   return 0;
 }
+#endif

 /* Initializer for reading a profile dir.  */

@@ -451,7 +455,9 @@ gcov_read_profile_dir (const char* dir_name, int r
       fnotice (stderr, "%s is not a directory\n", dir_name);
       return NULL;
     }
+#ifdef HAVE_FTW_H
   ftw (".", ftw_read_file, 50);
+#endif
   ret = chdir (pwd);
   free (pwd);

Reply via email to