#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
261188 |
|
26-Jan-2014 |
pfg |
MFC r260311, r260831:
gcc: Add support for Apple's Block extension
Block objects [1] are a C-level syntactic and runtime feature. They are similar to standard C functions, but in addition to executable code they may also contain variable bindings to automatic (stack) or managed (heap) memory. A block can therefore maintain a set of state (data) that it can use to impact behavior when executed.
This port is based on Apple's GCC 5646 with some bugfixes from Apple GCC 5666.3. It has some small differences with the support in clang, which remains the recommended compiler.
Perhaps the most notable difference is that in GCC __block is not actually a keyword, but a macro. There may be workaround for this issue in the future. Other issues can be consulted in the clang documentation [2]
For better compatiblity with Apple's GCC and llvm-gcc, some related fixes and features from Apple have been included. Support for the non-standard nested functions in GCC is now off by default.
No effort was made to update the ObjC support since FreeBSD doesn't carry ObjC in the base system but some of the code crept in and was more difficult to remove than to adjust.
References: [1] https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html [2] http://clang.llvm.org/compatibility.html#block-variable-initialization
Obtained from: Apple GCC 4.2
|
#
260918 |
|
20-Jan-2014 |
pfg |
MFC r260014, r260099:
gcc: Add support for label attributes and "unavailable" attribute.
Apple GCC has extensions to support for both label attributes and an "unavailable" attribute. These are critical for objc but are also useful in regular C/C++.
Obtained from: Apple GCC 4.2 - 5531
|
#
259694 |
|
21-Dec-2013 |
pfg |
MFC r258017, r258429, r258748, r258817:
Merge updates from FSF pre4.3 GCC inspired on Apple's gcc:
Updates to libiberty and mangling. New align attribute. Merge Apple updates to libstdc++.
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
215840 |
|
25-Nov-2010 |
dim |
Apply backported fix for gcc PR 20218. This makes __attribute__ ((visibility ("hidden"))) work properly, and fixes building devel/glib20 with newer binutils.
Silence from: current@
|
#
169699 |
|
19-May-2007 |
kan |
FreeBSD uses unchanged versions of this files.
|
#
161660 |
|
26-Aug-2006 |
kan |
Resolve conflicts after GCC 3.4.6 20060825 import.
|
#
146908 |
|
03-Jun-2005 |
kan |
Merge conflicts for GCC 3.4.4.
|
#
132734 |
|
28-Jul-2004 |
kan |
Merge FreeBSD modifications into gcc 3.4.2-prelelease: 1.2 -fformat-extensions.
Remove r1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha) as obsolete. Move r1.14 (-O0 -O1 optimize alignment for time, not size) to opts.c.
|
#
122199 |
|
07-Nov-2003 |
kan |
Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob), 1.14 (-O/-O1 optimize alignment for time, not size).
Back out r1.22 which used to enable warnings in system headers by default.
|
#
119272 |
|
22-Aug-2003 |
kan |
Enable warn_system_heders by default.
|
#
119267 |
|
22-Aug-2003 |
kan |
Merge FreeBSD modifications into gcc 3.3.1-release: 1.2 -fformat-extensions. 1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha. 1.14 -O0 -O1 optimize alignment for time, not size.
|
#
117414 |
|
11-Jul-2003 |
kan |
Merge FreeBSD modifications into gcc 3.3.1-prerelease: 1.2 -fformat-extensions. 1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha. 1.14 -O0 -O1 optimize alignment for time, not size.
|
#
107595 |
|
04-Dec-2002 |
obrien |
Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob), 1.14 (-O/-O1 optimize alignment for time, not size) into Gcc 3.2.1 release.
|
#
104765 |
|
10-Oct-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.2 -fformat-extensions 1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha 1.14 -O0 -O1 should optimize alignment for time, not size
Approved by: obrien
|
#
103792 |
|
22-Sep-2002 |
obrien |
Turn off the "-O2 flag TRIGGERS KNOWN OPTIMIZER BUGS" warning.
From current testsuite results, the optimizer bugs don't appear to exist anymore. RTH@cygnus.com did a lot of work on the Alpha ELF code generator for GCC 3.2[.0]. A recent FreeBSD/AXP GCC bootstrap is at http://gcc.gnu.org/ml/gcc-testresults/2002-09/msg00604.html In this bootstraps, all gcc libraries are built with -O2 and c-torture gives -O2 a real workout. None of the remaining failures have anything to do with -O2 optimizer bugs.
Submitted by: Loren James Rittle <rittle@latour.rsch.comm.mot.com>
|
#
102796 |
|
01-Sep-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.2 -fformat-extensions 1.7 optimization downgrade 1.14 -O0 -O1 should optimize alignment for time, not size
Approved by: obrien
|
#
98584 |
|
21-Jun-2002 |
obrien |
Clarify revision 1.14: Gcc 3.1's -O0 and -O1 actually optimized alignment for space, but we feel it should optimize alignment for time like Gcc 2.95 used to. Optimization for space should give 1-byte alignment on i386's, but doesn't quite.
|
#
98573 |
|
21-Jun-2002 |
obrien |
cc -O0 and -O1 didn't do the easy optimization of alignment for space. Instead it attempted to do the easy optimization of alignment for time, which should be to 1-byte alignment on i386's.
Submitted by: bde
|
#
96289 |
|
09-May-2002 |
obrien |
Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade) into the Gcc 3.1 prerelease.
|
#
90282 |
|
06-Feb-2002 |
obrien |
Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade) into GCC 3.1-snap.
|
#
81749 |
|
16-Aug-2001 |
obrien |
Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer value, it forces GCC to not optimize above this level. For intance, GCC made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the Alpha platform when building ports.
|
#
72566 |
|
17-Feb-2001 |
obrien |
Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format) into GCC 2.95.3(RC#3).
|
#
70640 |
|
03-Jan-2001 |
obrien |
Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format) into GCC 2.95.3(RC#1).
|
#
69460 |
|
01-Dec-2000 |
obrien |
Comment an endif.
|
#
58599 |
|
26-Mar-2000 |
obrien |
Yell about -O2 on the Alpha. Forceably downgrade -O2+ if "FORCE_OPTIMIZATION_DOWNGRADE" is defined when GCC is built.
|
#
56392 |
|
22-Jan-2000 |
obrien |
Merge in fixes from the GCC anoncvs tree.
|
#
52768 |
|
01-Nov-1999 |
obrien |
This adds rev 1.2 (-fformat-extensions) to GCC 2.95.2.
|
#
52558 |
|
27-Oct-1999 |
obrien |
This adds rev 1.2 (-fformat-extensions) to GCC 2.95.1.
|
#
50615 |
|
30-Aug-1999 |
obrien |
Fix conflicts. This adds rev 1.2 (-fformat-extensions) to EGCS 1.1.2.
|
#
38510 |
|
24-Aug-1998 |
bde |
Support printf format checking of FreeBSD kernel formats %[Dbrz]. This is enabled by the undocumented option -fformat-extensions. This option should be named better and/or give more control over the extensions.
Fixed a message - don't warn about the field width when it's the precision that has the wrong type. Didn't fix excessive checking for the precision relative to the type - ANSI requires both to be ints, but gcc permits the field width to be either int or unsigned int.
|
#
18335 |
|
18-Sep-1996 |
peter |
This commit was generated by cvs2svn to compensate for changes in r18334, which included commits to RCS files with non-trunk default branches.
|
#
18334 |
|
18-Sep-1996 |
peter |
Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the non-i386, non-unix, and generatable files have been trimmed, but can easily be added in later if needed.
gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's handy to have both available for reference for such little cost.
The freebsd-specific changes will then be committed, and once the dust has settled, the bmakefiles will be committed to use this code.
|