Honza, Nathan, On Sat, 21 Jan 2017, Dimitry Andric wrote: > As discussed with the FreeBSD gcc ports maintainer [1], building trunk > gcc with libc++ requires standard C++ headers to be included *before* > gcc/system.h, otherwise the redefinition of abort() to fancy_abort() > will cause trouble. > > In r235362, most gcc C++ sources were updated to define INCLUDE_xxx > macros before including gcc/system.h, which fixes the incompatibility > with libc++. However, gcc/gcov.c was apparently missed. Attached is a > patch to update it.
can you approve this as gcov maintainers? Without this, GCC 7 will fail to build with newer versions of Clang/libc++. Below you find Dimitry's patch with a ChangeLog I created. Bootstrapped on x86_64-unknown-freebsd11.0, and I can take care of committing. Gerald 2017-01-21 Dimitry Andric <d...@freebsd.org> * gcov.c (INCLUDE_ALGORITHM): Define. (INCLUDE_VECTOR): Define. No longer include <vector> and <algorithm>. Index: gcov.c =================================================================== --- gcov.c (revision 244750) +++ gcov.c (working copy) @@ -31,6 +31,8 @@ probabilities of fall through arcs. */ #include "config.h" +#define INCLUDE_ALGORITHM +#define INCLUDE_VECTOR #include "system.h" #include "coretypes.h" #include "tm.h" @@ -41,8 +43,6 @@ #include <getopt.h> -#include <vector> -#include <algorithm> #include "md5.h" using namespace std;