Created attachment 179118 [details] Fix system includes in lang/gcc7-devel Similar to bug 212465 and bug 216266, lang/gcc7-devel doesn't compile with libc++ 4.0.0, due to clashes between the redefined abort macro and standard C++ headers. In gcc7 they seem to have realized this issue, and are now using system.h to pull in C++ standard headers, when INCLUDE_xxx is defined, where xxx is ALGORITHM, VECTOR, and so on. In this case only gcov.c needs to be fixed. This should probably be committed upstream too.
This is fine; thanks for digging into this and providing the patch, Dim! Just one request: mind naming the patch files/patch-libc++ ? That'll help me manage things in the longer term. Yes, this definitely should be submitted upstream. If you send this to gcc-patches@gcc.gnu.org, I promise to push it there and commit it. (I'll also create a ChangeLog entry if you prefer, your submission does not have to carry one if you don't know how/want to create one.) Deal? :-)
Oh, and if you prefer I'll take care of committing this to lang/gcc7-devel; just let me know. (If you could submit to gcc-patches@gcc.gnu.org, that would still be great.)
A commit references this bug: Author: dim Date: Sat Jan 21 19:16:07 UTC 2017 New revision: 432076 URL: https://svnweb.freebsd.org/changeset/ports/432076 Log: Fix system includes in lang/gcc7-devel Similar to bug 212465 and bug 216266, lang/gcc7-devel doesn't compile with libc++ 4.0.0, due to clashes between the redefined abort macro and standard C++ headers. Upstream seems to have realized this issue, and are now using system.h to pull in C++ standard headers, when INCLUDE_xxx is defined, where xxx is ALGORITHM, VECTOR, and so on. In this case only gcov.c needs to be fixed. Approved by: gerald (maintainer) PR: 216303 MFH: 2017Q1 Changes: head/lang/gcc7-devel/files/patch-libc++
Thanks, Dimitry! I did ping the upstream maintainers of this part of GCC and also added the "merge quarterly" flag, and think we can now close this PR now your fix is in.