History log of /freebsd-10.1-release/contrib/gcc/toplev.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 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.