Commit Graph

643 Commits

Author SHA1 Message Date
das
b02644481a Merge an important change that I mistakenly left out when merging C99
inline function support. This should fix instances where gcc
spuriously reports the following error:

    error: nested function 'foo' declared but never defined
2009-03-25 05:10:32 +00:00
das
c7efb5498d Make gcc use C99 inline semantics in c99 and gnu99 mode. This was the
original intent, but the functionality wasn't implemented until after
gcc 4.2 was released. However, if you compiled a program that would
behave differently before and after this change, gcc 4.2 would have
warned you; hence, everything currently in the base system is
unaffected by this change.  This patch also adds additional warnings
about certain inline function-related bogosity, e.g., using a
static non-const local variable in an inline function.

These changes were merged from a snapshot of gcc mainline from March
2007, prior to the GPLv3 switch. I then ran the regression test suite
from a more recent gcc snapshot and fixed the important bugs it found.
I also squelched the following warning unless -pedantic is specified:

    foo is static but used in inline function bar which is not static

This is consistent with LLVM's behavior, but not consistent with gcc 4.3.

Reviewed by:	arch@
2009-03-14 19:36:13 +00:00
obrien
5bde7108b7 If arm.h is going to define WCHAR_TYPE, don't assume WCHAR_TYPE_SIZE
doesn't already have a definition.

Reported by:	imp
2008-09-10 15:47:31 +00:00
obrien
34e07c5340 We're not quite ready for the full %(endian_spec). 2008-09-01 23:09:45 +00:00
obrien
188674d6ca Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here. 2008-09-01 22:22:44 +00:00
obrien
f18a1ee8d4 Add FreeBSD/MIPS support to GCC. 2008-09-01 18:46:03 +00:00
obrien
1da46bec02 Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared
parts of the configuration aren't duplicated, and arch-specific exceptions
are made "in-place".  Also clean up the FreeBSD/amd64 config a little.
2008-08-31 23:38:28 +00:00
das
0c3466a9f3 Doc updates for changes in the default values of
-ffancy-math-387 and -mmath-errno.
2008-08-10 19:35:09 +00:00
das
7ab38fbab0 Make -fno-math-errno the default. Our libm doesn't support the SysV
mistake of setting errno, and never has.  This will need to be fixed
upstream in a more generic way, but the changes are somewhat more
involved.
2008-08-10 19:33:35 +00:00
das
84a5dbce41 Make -mfancy-math-387 the default on FreeBSD, as it is on most other
operating systems. Previously, gcc would inhibit the generation of
fsqrt, fsin, and several other floating point instructions, for the
benefit of the old in-kernel math emulator, which was removed over 5
years ago.
2008-08-10 19:02:57 +00:00
obrien
8f779d35ce White space fixes. 2008-06-28 15:28:17 +00:00
obrien
5537e363a7 Reduce diff to vendor. 2008-06-28 15:17:02 +00:00
marius
a5bfbb3774 This commit was generated by cvs2svn to compensate for changes in r178388,
which included commits to RCS files with non-trunk default branches.
2008-04-21 20:40:42 +00:00
marius
9e0f3cc19c * gthr-posix.h (__gthread_active_p): Use the Solaris implementation
for FreeBSD as well.

This is the fix for __gthread_active_p() returning false positives
which was committed as rev. 1.1.1.8.2.1 to RELENG_7 but now looped
back to the vendor branch via the GCC repository and relicensed to
be GPLv2 by me.
Thanks go to gerald@ for getting the fix approved upstream and for
committing to the GCC repository.

PR:		119289
Approved by:	core
2008-04-21 20:40:42 +00:00
obrien
436a930242 Do not fold -C*ABS<n> to ABS<-C*n> (i.e., do not move negative constants
inside ABS expression).
Obtained from:	Richard Guenther <rguenther@suse.de>
Approved by:	core
2007-12-11 03:35:39 +00:00
obrien
845b8728c8 This commit was generated by cvs2svn to compensate for changes in r174531,
which included commits to RCS files with non-trunk default branches.
2007-12-11 03:35:39 +00:00
marius
ef6adb6dc2 Allow the targeted CPU type to be set via -mcpu instead of
limiting to the hardcoded equivalent of -mcpu=ultrasparc.

PR:		109510
MFC after:	3 months
2007-12-09 17:41:47 +00:00
obrien
afa6784424 Do not imply -ftree-vrp with -O2 and above. One must implicitly specify
'-ftree-vrp' if one wants it.
Some bad code generation has been tracked to -ftree-vrp.  jdk1{5,6} are
notable examples.

Approved by:	re(kensmith)
2007-10-02 20:06:14 +00:00
kan
e2c3cc81d7 Update locally changed files to GCC 4.2.1.
Approved by: re (kensmith)
2007-08-14 03:04:42 +00:00
kan
3cae63863e Merge files that are no longer carry FreeBSD local changes.
Approved by:	re (kensmith)
2007-08-14 03:02:26 +00:00
kan
d2ff90cc58 GCC 4.2.1 release. 2007-08-14 02:45:23 +00:00
kan
f3fdf8c006 This commit was generated by cvs2svn to compensate for changes in r171825,
which included commits to RCS files with non-trunk default branches.
2007-08-14 02:45:23 +00:00
kan
236631e30e Disable shared libgcc use for profiled builds. GNU linker pulls symbols
out of libgcc_s.so.1 somehow and fails to record DT_NEEED dependency
when linking with profiled libraries despite --ld-as-needed option.
2007-05-28 23:02:56 +00:00
cognet
ae26a6fdf6 FreeBSD expects VFP, so use that as the default FPU.
Reviewed by:	kan
2007-05-21 08:38:42 +00:00
kan
b3076ee991 Cosmetics: remove extra space from GCC version string. 2007-05-19 06:37:32 +00:00
kan
cd1d71d72c Merge arm-freebsd.h.diff directly into the target file. Maintaining
separate patch is much more painful than taking this file off the
vendor branch.
2007-05-19 03:11:26 +00:00
kan
dc05684072 Add FMT_FLAG_NULL_FORMAT_OK flag. 2007-05-19 03:09:31 +00:00
kan
8a2681fa7e Remove files that are no more part of GCC distribution from FSF branch. 2007-05-19 02:42:17 +00:00
kan
23d2c3da1f This commit was generated by cvs2svn to compensate for changes in r169708,
which included commits to RCS files with non-trunk default branches.
2007-05-19 02:42:17 +00:00
kan
fb9b6e57a1 Remove files that are not part of GCC distribution anymore. 2007-05-19 02:34:18 +00:00
kan
ce13d58119 Update configuration files for GCC 4.2. 2007-05-19 02:30:20 +00:00
kan
5d74891d60 Merge local FreeBSD changes for -mno-align-long-strings. 2007-05-19 02:26:26 +00:00
kan
671dcce5dd Merge local FreeBSD changes. 2007-05-19 02:23:49 +00:00
kan
54ed20e5b2 In FreeBSD -O0 -O1 optimize alignment for time, not size. 2007-05-19 02:22:16 +00:00
kan
bc51ca6502 Merge local changes for -mprofiler-epilogue support. 2007-05-19 02:18:38 +00:00
kan
79fb5d415e Merge local FreeBSD changes to support -fformat-extensions. 2007-05-19 02:16:45 +00:00
kan
0de094c1fc Add FreeBSD suffix to GCC version string. 2007-05-19 02:14:13 +00:00
kan
cadd557b2c FreeBSD uses unchanged versions of this files. 2007-05-19 02:12:21 +00:00
kan
1f9ea4d0a4 GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
kan
d033934870 This commit was generated by cvs2svn to compensate for changes in r169689,
which included commits to RCS files with non-trunk default branches.
2007-05-19 01:19:51 +00:00
bde
09347a415f Fixed -mprofiler-epilogue. The garbage collector apparently doesn't
understand that non-local variables can never be collected, and when
it collected the static variable for mexitcount_libfunc, gcc aborted
on the next use of this variable.

This quick fix is to reinitialize the variable on every use and depend
on garbage collection recovering the small amount of memory wasted by
this, and not worry by the small amount of time wasted by this.  It
would be better to initialize the variable together with most of the
other libfuncs in optabs.c and depend on whatever magic is there to
prevent its collection, but we initialize it here to avoid taking at
least 2 more files off the vendor branch.
2006-10-25 07:29:22 +00:00
ru
f928d7c5b7 Removed these from HEAD as well. 2006-09-21 07:55:28 +00:00
ru
41f6ba7670 These files live in the doc/ subdir in later releases of GCC. 2006-09-21 07:54:02 +00:00
ru
27cbd2a492 This commit was generated by cvs2svn to compensate for changes in r162512,
which included commits to RCS files with non-trunk default branches.
2006-09-21 07:54:02 +00:00
ru
0981bee822 Updated manpages for 3.4.6 release.
OK'ed by:	kan
Obtained from:	gcc-3.4.6.tar.bz2
2006-09-21 07:45:37 +00:00
ru
c13f72f1a0 This commit was generated by cvs2svn to compensate for changes in r162509,
which included commits to RCS files with non-trunk default branches.
2006-09-21 07:45:37 +00:00
kan
d2e7ac2a73 Resolve conflicts after GCC 3.4.6 20060825 import. 2006-08-26 21:37:21 +00:00
kan
ab6c6e434e Gcc 3.4.6 as of 2006/08/25 #116475. 2006-08-26 21:29:10 +00:00
kan
5c84bed2e8 This commit was generated by cvs2svn to compensate for changes in r161651,
which included commits to RCS files with non-trunk default branches.
2006-08-26 21:29:10 +00:00
obrien
1d93f083bf Locate __FreeBSD_cc_version's value beside __FreeBSD__'s value to make it
easier to keep them in sync.
2005-10-30 19:04:47 +00:00