This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Use INCLUDE_xxx macros in gcov.c for pulling in standard C++ headers


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 <dim@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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]