associated with it as well as java from CATEGORIES).
In addition to changes to Makefile, pkg-plist, and pkg-descr, this also
removes files/java-patch-hier.
GCC 4.9 was first released in summer 2014 and went end-of-life upstream
a year ago, but GCC 5 is very well established by now and also provides
support for Java (GCJ/libgcj), and so does GCC 6, and this simplifies
this port significantly and also speeds up the build.
While we are here, streamline the setting of INFO.
While testing the clang390-import branch, I ran into the following
errors building lang/gcc49:
In file included from /wrkdirs/usr/ports/lang/gcc49/work/gcc-4.9.4/gcc/c/c-objc-common.c:33:
In file included from /usr/include/c++/v1/new:70:
/usr/include/c++/v1/exception:267:5: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
_VSTD::abort();
^~~~~~~
/usr/include/c++/v1/__config:451:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
^
/wrkdirs/usr/ports/lang/gcc49/work/gcc-4.9.4/gcc/system.h:685:13: note: 'fancy_abort' declared here
extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
^
1 error generated.
What is happening here, is that the source file includes gcc/system.h,
which defines abort to fancy_abort, and then the source file includes
<new>, which attempts to call _VSTD::abort() (the _VSTD is a libc++
alias for std::). The macro definition then causes the above breakage.
Newer gcc ports, such as gcc5 and gcc6 don't show this issue, because
upstream gcc first added an include of <algorithm> (which indirectly
includes <new>) in r217348 [1], and later even add a direct include of
<new> in r232736 [2].
Fix it for this version, by adding the direct include of <new> to
gcc/system.h. This makes the 'second' includes of <new> in some .c
files superfluous, but at least they won't result in errors.
[1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=217348
[2] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=232736
Approved by: gerald (maintainer)
PR: 212465
MFH: 2016Q3
The large patch is the same as the one from r376266.
The second patch is a temporary fix for the bootstrap failure on all
ARM targets. This fix will be hopefully soon applied to gcc-4.9.x upstream.
Thanks again to Sean Bruno for testing and Gerald for approving.
Approved by: gerald (maintainer)
Add pkg-message that references the need to use -Wl,-rpath=... . [1]
No longer install rebuild-gcj-db49 (which requires bash among others)
and its man page.
PR: 185902 [1]
for libitm which didn't expect the OS to define __always_inline by
itself (and differently).
Also, this no longer installs libffi and its info and man pages which
was always meant to remain for internal use only.
Feature safe: yes
very early development stages.
Business as usual with the C, C++, Fortran, Java compilers and tools
invoked as gcc49, g++49, gfortran49, gcj49 and so forth. Initially
this may be relatively stable due to the GCC 4.8.0 stabilization
efforts, but be prepared for a rough ride the coming months as this
goes through active development.