summaryrefslogtreecommitdiff
path: root/contrib/gcc/c-decl.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove contrib/gcc and contrib/gcclibsEd Maste2020-02-291-9138/+0
| | | | | | | | | GCC 4.2.1 was disconnected from FreeBSD in r358454. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=358459
* gcc42: Fix minor C99 parse bugConrad Meyer2016-05-271-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | DR #289[0] came down and gcc4.2.1 was on the wrong side of history. Partially revert GCC r42574 (just remove the error) to rectify the parse bug to match Clang and other compliant C99 compilers. An example declaration gcc tripped on before this fix: void foobar(int [static 1]); An example declaration gcc did not trip on before this fix: void foobar(int name[static 1]); Bump __FreeBSD_cc_version. [0]: http://www.open-std.org/JTC1/SC22/WG14/www/docs/dr_289.htm Reported by: allanjude Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300822
* gcc: Add support for Apple's Block extensionPedro F. Giffuni2014-01-051-2/+1012
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 that __block is not actually a keyword, but a macro. There will be workaround for this issue in a near 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. Reference: [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 MFC after: 3 weeks Notes: svn path=/head/; revision=260311
* gcc: Add support for label attributes and "unavailable" attribute.Pedro F. Giffuni2013-12-281-0/+53
| | | | | | | | | | | | | | | | | | 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++. Apparently at least the label attributes might have found their way to upstream GCC but the code doesn't seem available on the GPLv2 tree so we are taking the code directly from Apple. To make this clearer we are preserving the annoying "APPLE LOCAL" tags and the ChangeLogs when they are available. Obtained from: Apple GCC 4.2 - 5531 MFC after: 3 weeks Notes: svn path=/head/; revision=260014
* gcc: upstream alignment cleanups.Pedro F. Giffuni2013-11-291-6/+5
| | | | | | | | | | | | | This solves GCC/32617 and contributes to reduce differences with Apple's gcc42. Complete some references in the ChangeLog while here. Obtained from: gcc 4.3 (rev. 126529, 126588; GPLv2) MFC after: 3 weeks Notes: svn path=/head/; revision=258748
* gcc: Add a new option -Wvla to warn variable length array.Pedro F. Giffuni2013-11-161-11/+56
| | | | | | | | Obtained from: gcc 4.3 (rev. 122851; GPLv2) MFC after: 3 weeks Notes: svn path=/head/; revision=258204
* - Fix typo in check_for_nested_with_variably_modified presentUlrich Spörlein2011-07-011-0/+2
| | | | | | | | | | | | | - Implement -Wvariable-decl. - Port -Wtrampolines support from gcc3. (all three also via OpenBSD) PR: gnu/127136, gnu/157019 Submitted by: Henning Petersen, Pedro Giffuni MFC after: 6 weeks Notes: svn path=/head/; revision=223715
* Merge an important change that I mistakenly left out when merging C99David Schultz2009-03-251-1/+3
| | | | | | | | | | inline function support. This should fix instances where gcc spuriously reports the following error: error: nested function 'foo' declared but never defined Notes: svn path=/head/; revision=190404
* Make gcc use C99 inline semantics in c99 and gnu99 mode. This was theDavid Schultz2009-03-141-69/+133
| | | | | | | | | | | | | | | | | | | | | | | | 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@ Notes: svn path=/head/; revision=189824
* FreeBSD uses unchanged versions of this files.Alexander Kabaev2007-05-191-2933/+4220
| | | | Notes: svn path=/head/; revision=169699
* Resolve conflicts after GCC 3.4.6 20060825 import.Alexander Kabaev2006-08-261-32/+45
| | | | Notes: svn path=/head/; revision=161660
* Fix bug where static forward declarations weren't accepted.David E. O'Brien2005-09-071-1/+4
| | | | | | | | | | This allows us to fix non-ISO-C constructs in our kernel to legal ISO-C. Submitted by: rodrigc Obtained from: http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00006.html Notes: svn path=/head/; revision=149846
* Stock files.Alexander Kabaev2005-06-031-11/+27
| | | | Notes: svn path=/head/; revision=146906
* Use stock version of this file.Alexander Kabaev2004-07-281-3107/+2683
| | | | | | | | Revision 1.3 to suppress warnings on K&R main is not useful anymore since GCC suppresses such warnings unconditionally now. Notes: svn path=/head/; revision=132730
* Merge r1.3 (suppress warnings on K&R main).Alexander Kabaev2003-11-071-10/+87
| | | | Notes: svn path=/head/; revision=122196
* Merge FreeBSD modifications into gcc 3.3.1-release:Alexander Kabaev2003-08-221-0/+9
| | | | | | | 1.3 suppress warnings on K&R main. Notes: svn path=/head/; revision=119268
* Merge FreeBSD modifications into gcc 3.3.1-prerelease:Alexander Kabaev2003-07-111-948/+453
| | | | | | | | | | 1.3 suppress warnings on K&R main. Rev. 1.2 (options for kernel printf enhancements) changes have been moved to another Notes: svn path=/head/; revision=117421
* Merge FreeBSD modifications into gcc 3.2.2 release:Alexander Kabaev2003-02-101-51/+3
| | | | | | | | 1.2 kernel printf enhancements framework. 1.3 suppress prototype warnings on K&R main. Notes: svn path=/head/; revision=110623
* Merge revs 1.2 (kernel printf framework) and 1.3 (suppress K&R main warnings)David E. O'Brien2002-12-041-1/+1
| | | | | | | into Gcc 3.2.1 release. Notes: svn path=/head/; revision=107593
* Merge FreeBSD modifications into gcc 3.2.1-prerelease:Alexander Kabaev2002-10-101-19/+4
| | | | | | | | | | 1.2 kernel printf enchancements framework 1.3 suppress warnings on K&R main Approved by: obrien Notes: svn path=/head/; revision=104761
* Merge FreeBSD modifications into gcc 3.2.1-prerelease:Alexander Kabaev2002-09-011-8/+18
| | | | | | | | | | 1.2 kernel printf enchancements framework 1.3 suppress warnings on K&R main Approved by: obrien Notes: svn path=/head/; revision=102790
* If you want to not warn on K&R main(); this is how it should be implemented.David E. O'Brien2002-05-141-1/+13
| | | | Notes: svn path=/head/; revision=96557
* Add framework for our kernel printf enhancements.David E. O'Brien2002-05-141-0/+23
| | | | Notes: svn path=/head/; revision=96549
* Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.David E. O'Brien2002-05-091-155/+196
| | | | Notes: svn path=/vendor/gcc/dist/; revision=96263
* Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.David E. O'Brien2002-02-011-2228/+2235
| | | | | | | These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST. Notes: svn path=/vendor/gcc/dist/; revision=90075
* Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3David E. O'Brien2001-02-171-1/+2
| | | | Notes: svn path=/vendor/gcc/dist/; revision=72562
* Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"David E. O'Brien2000-03-091-0/+1
| | | | | | | branch as of March 7th, 2000. Notes: svn path=/vendor/gcc/dist/; revision=57844
* Virgin import of the GCC 2.95.1 compilersDavid E. O'Brien1999-10-161-173/+265
| | | | Notes: svn path=/vendor/gcc/dist/; revision=52284
* Virgin import of gcc from EGCS 1.1.2David E. O'Brien1999-08-261-281/+673
| | | | Notes: svn path=/vendor/gcc/dist/; revision=50397
* Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of thePeter Wemm1996-09-181-0/+6967
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. Notes: svn path=/vendor/gcc/dist/; revision=18334