non port: lang/gcc/distinfo |
Number of commits found: 14 |
Saturday, 27 May 2017
|
23:27 gerald
Essentially replace (or rather reinvent) the lang/gcc port, which more
or less ended up identical to lang/gcc5 now that we differentiate between
lang/gccX-devel and lang/gccX ports, by (or as) a meta-port that pulls in
the respective lang/gccX port (based on the setting of $GCC_DEFAULT) and
defines gcc, g++, and gfortran as symlinks to the respective versioned
binaries.
This is the end of a long journey establishing this infrastructure
which is now similar to the one of the python ports, for example,
and makes upgrading the default as well as adjusting the default
locally a lot easier.
(PORTVERSION remains at 5.4.0 for now to avoid PORTEPOCH, but
PORTREVISION gets a bump.)
Suggested by: tijl (a while ago)
|
Saturday, 1 Apr 2017
|
15:03 gerald
Update lang/gcc and hence the default version of GCC in the Ports
Collection (requested by USE_GCC=yes and various USES=compiler
invocations) from GCC 4.9.4 to GCC 5.4.
files/patch-arm-support and files/patch-gcc_system.h have become
obsolete. New patches files/patch-arm-unwind-cxx-support and
files/patch-libc++ help support arm targets and new libc++ in base.
ONLY_FOR_ARCHS now also includes arm.
A new option GRAPHITE_DESC, off by default for now, adds support for
Graphite loop optimizations.
Finally, conflicts with other lang/gcc* ports are adjusted suitably.
In terms of changes for users, this upgrade brings the following:
The default mode for C is now -std=gnu11 instead of -std=gnu89.
New warning options -Wc90-c99-compat and -Wc99-c11-compat may
prove useful on that front.
The C++ front end now has full C++14 language support including
C++14 variable templates, C++14 aggregates with non-static data
member initializers, C++14 extended constexpr, and more.
The Standard C++ Library (libstdc++) has full C++11 support and
experimental full C++14 support. It uses a new ABI by default.
There have been significant improvements to inter-procedural optimizations
and link-time optimization such as One Definition Rule based merging of C++
types as well as register allocation.
OpenMP 4.0 specification offloading features are now supported by the C,
C++, and Fortran compilers. Cilk Plus, an extension to the C and C++
languages to support data and task parallelism, has been added as well.
New warning options -Wswitch-bool, -Wlogical-not-parentheses,
-Wbool-compare and -Wsizeof-array-argument may prove useful as
may new preprocessor directives __has_include, __has_include_next,
and __has_attribute.
GCC can now be built as a shared library for embedding in other processes
(such as interpreters), suitable for Just-In-Time compilation to machine
code. This provides a C API and a C++ wrapper API.
Many code generation improvements for AArch64, ARM, support for
AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally
improvements on many targets.
The Local Register Allocator (LRA) now contains a rematerialization
subpass and is able to reuse the PIC hard register on x86/x86-64 to
improve performance of position independent code.
https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
PR: 216707, 218125
Tested by: antoine (-exp runs)
Supported by: jbeich, tcberner, and others
|
Sunday, 20 Nov 2016
|
09:15 gerald
Long awaited, finally update the default version of GCC in the Ports
Collection as well as the lang/gcc port from GCC 4.8.5 to GCC 4.9.4!
See http://gcc.gnu.org/gcc-4.9/changes.html for an extensive list of
changes and http://gcc.gnu.org/gcc-4.9/porting_to.html for information
on how to port to that new version (if necessary).
files/java-patch-hier required adjustments, gcc/files/patch-arm-libcpp
is not needed any longer (merged upstream), and we're also loosing the
local Stack Protector patches/backports.
PR: 196712
Tested by: antoine (-exp runs)
Supported by: antoine, kwm, and others
|
Sunday, 14 Aug 2016
|
07:28 gerald
GCC uses an AWK script to generate source code that helps process
command-line options. According to POSIX, string comparisons (and
hence sorting) are to be performed based on the locale's collating
order. Alas GNU AWK only does so in POSIX mode, whereas starting
with FreeBSD 11 we do so by default, running into a bug (or false
assumption) with that script used by GCC.
Setting MAKE_ARGS such that AWK is always invoked in the C locale
works around this bug.
PR: 210122, 211742
Submitted by: jkim
|
Friday, 17 Jul 2015
|
08:45 gerald
Update to GCC 4.8.5. Mostly bug fixes, a very conservative update.
|
Sunday, 4 Jan 2015
|
08:38 gerald
Update from the GCC 4.8.3 release to the GCC 4.8.4 release.
This fixes (at least) 87 bugs reported, cf.
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.8.4
for the full list. No new features.
|
Wednesday, 10 Sep 2014
|
19:09 gerald
Update the default version of GCC in the Ports Collection from GCC 4.7.4
to GCC 4.8.3.
This entails updating the lang/gcc port as well as changing the default
in Mk/bsd.default-versions.mk, and it replaces the CONFLICT between the
lang/gcc and lang/gcc47 ports by lang/gcc48.
GCC now uses C++ as its implementation language and performs more
aggressive loop analysis which can be disabled via the
-fno-aggressive-loop-optimizations command-line option.
Compilation of extremely large functions has been signficantly improved,
as have interprocedural optimizations.
A new optimization level -Og has been introduced. It addresses the need
for fast compilation and a superior debugging experience while providing
a reasonable level of run-time performance. This should be better
suitable for development than the default -O0.
A new local register allocator (LRA) has been implemented, which replaces
the 26 year old reload pass and improves generated code quality. For now
it is active on the x86 and x86-64 targets.
AddressSanitizer, a fast memory error detector, has been added and can be
enabled via -fsanitize=address.
Each diagnostic emitted now includes the original source line and a caret
indicating the column.
The new option -Wpedantic is an alias for -pedantic, which is now deprecated.
The C++ frontend and associated run-time library libstdc++ have gained
support for many additional C++11 features. As with previous releases
the Fortrand frontend has seen many improvements as well.
Support for the AArch64 has been added, and there are many improvements
to the x86/x86-64 backend and others.
See http://gcc.gnu.org/gcc-4.8/changes.html for an extense list of changes;
http://gcc.gnu.org/gcc-4.8/porting_to.html for information on how to port
to that new version.
PR: 192025
Tested by: antoine (-exp runs)
|
Saturday, 19 Jul 2014
|
12:47 gerald
Update to GCC 4.7.4, the latest (and final) release in the GCC 4.7
series that closes this branch.
Extend full-regression-test by running contrib/test_summary.
Also clean *.la files in LIBEXEC, and recursively so, there and for
TARGLIB.
|
Monday, 10 Mar 2014
|
20:41 gerald
Update the default version of GCC used in the Ports Collection from
GCC 4.6.4 to GCC 4.7.3. This entails updating the lang/gcc port as
well as changing the default in Mk/bsd.default-versions.mk.
This adds powerpc64 as a supported architecture (and removes ia64,
though it can be supported by manually installing lang/gcc48).
New binaries %%GNU_HOST%%-gcc-ar47, %%GNU_HOST%%-gcc-nm47, and
%%GNU_HOST%%-gcc-ranlib47 are provided to support link-time
optimization (LTO) which scales significantly better.
And it adds support for indirect functions (IFUNCS), experimental
support for transactional memory in the compiler as well as a supporting
run-time library called libitm, a new string length optimization pass,
and support for atomic operations specifying the C++11/C11 memory model.
Version 3.1 of the OpenMP specification is now supported for the C,
C++, and Fortran compilers.
GCC accepts the options -std=c11 and -std=gnu11 for the C11 revision
of the ISO C standard which inlcude support for unicode strings,
nonreturning functions (_Noreturn and <stdnoreturn.h>), alignment
support (_Alignas, _Alignof, max_align_t, <stdalign.h>), and a
__builtin_complex built-in function.
The C++ frontend now accepts the -std=c++11, -std=gnu++11, and
-Wc++11-compat options and implements many C++11 features of the
language including extended friends syntax, explicit override
control, non-static data member initializers, user-defined literals,
alias declarations, delegating constructors, atomic classes, and more.
The C++ standard library and Fortran frontend have received many
improvements. See http://gcc.gnu.org/gcc-4.7/changes.html for an
extense list of changes; http://gcc.gnu.org/gcc-4.7/porting_to.html
for information on how to port to that new version.
PR: 182136
Supported by: Christoph Moench-Tegeder <cmt@burggraben.net> (fixing many ports)
Tested by: bdrewery (two -exp runs)
|
Saturday, 2 Nov 2013
|
23:20 gerald
Update to GCC 4.6.4 which, among others, addresses document building
with new versions of texinfo. [1]
Adopt the new LIB_DEPENDS standard and replace USE_GMAKE by USES=gmake.
Remove an obsolete dependency on bison. [2]
STAGEify.
PR: 183342 [1]
Reported by: Christoph Moench-Tegeder <cmt@burggraben.net> [1], marino [2]
|
Sunday, 3 Mar 2013
|
15:22 gerald
Use the new lang/gcc-ecj45 port when building the Java frontend
instead of including a pre-built version of the Eclipse Java Compiler
(ECJ) ourselves. [1]
Replace the use of DISTFILES by DISTNAME, since we are now down to
one in all cases.
Make binutils a build dependency as well (not just a run-time dependency).
PR: 175072 [1]
|
Saturday, 10 Mar 2012
|
22:48 gerald
Update to the release of GCC 4.6.3. This now supports FreeBSD 10
and later out of the box, no more extra patches necessary.
Feature safe: yes
|
Saturday, 12 Nov 2011
|
13:39 gerald
Update to the GCC 4.6.2 release with a fair amount of bug fixes all
across the board, cf.
http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.6.
for details.
Feature safe: yes
|
Monday, 26 Sep 2011
|
00:54 gerald
Welcome the new lang/gcc port! This shall track our preferred version
of GCC (usually an upstream release). It starts out as GCC 4.6.1 and
is thus in conflict with lang/gcc46 and will move towards later minor
versions of GCC 4.6 and then on to GCC 4.7.
lang/gcc will provide gcc46, g++46, gfortran46 etc. exactly like
lang/gcc46 with which it is interchangible.
This is also planned to be in sync with our existing USE_FORTRAN knob
so that users have the option of using this port, rarely updated, or
the corresponding lang/gcc46 which follows weekly upstream snapshots.
On the way rename %%GCC_VER%% in pkg-plist to %%GCC_VERSION%% and
make the Makefile machinery a bit more generic to minimize differences
between lang/gcc ports based on releases and those based on snapshots.
PR: 156857
| Number of commits found: 14 |
|