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;

Reply via email to