summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/dwarf2out.c
Commit message (Collapse)AuthorAgeFilesLines
* gcc: Add support for Apple's Block extensionpfg2014-01-051-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* gcc: Add support for label attributes and "unavailable" attribute.pfg2013-12-281-0/+3
| | | | | | | | | | | | | | | 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
* gcc: Add ability to generate DWARF pubtypes section ifpfg2013-12-241-50/+119
| | | | | | | | DEBUG_PUBTYPES_SECTION is defined. Obtained from: gcc 4.3 (rev. 118826; GPLv2) MFC after: 2 weeks
* gcc: more diff reductions against Apple GCC.pfg2013-12-201-5/+6
| | | | | | | Mostly cosmetical changes to aid further merges. Obtained from: gcc 4.3 (rev. 120611, 124839; GPLv2) MFC after: 1 week
* gcc: another round of merges from the gcc pre-43 branch.pfg2013-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | Bring The following revisions from the gcc43 branch[1]: 118360, 118361, 118363, 118576, 119820, 123906, 125246, and 125721. They all have in common that the were merged long ago into Apple's gcc and should help improve the general quality of the compiler and make it easier to bring new features from Apple's gcc42. For details please review the additions to the files: gcc/ChangeLog.gcc43 gcc/cp/ChangeLog.gcc43 (new, adds previous revisions) Reference: [1] http://gcc.gnu.org/viewcvs/gcc/trunk/?pathrev=126700 Obtained from: gcc pre4.3 (GPLv2) branch MFC after: 3 weeks
* gcc: add femit-struct-debug support to reduce Reduce dwarf debug sizepfg2013-11-161-10/+34
| | | | | Obtained from: gcc 4.3 (rev. 123909; GPLv2) MFC after: 3 weeks
* gcc: avoid generating negative values to DW_AT_byte_size.pfg2012-12-281-1/+1
| | | | | | | | The previous change was actually a NOP because size is unsigned and compilers are dumb. Submitted by: Christoph Mallon MFC after: 1 week
* gcc: avoid generating negative values to DW_AT_byte_size.pfg2012-12-281-3/+3
| | | | | | | | | | | | | | | | | There is a bug in gcc (GCC/35998) where dwarf reports sizes of unsigned -1 (0xffffffff). On NetBSD this generated a faulty CTF entry which then caused a segfault in ctfmerge. The issue was worked around in NetBSD's Dtrace but since the issue originated in gcc, it seems reasonable to fix it here. Upstream gcc has been slow to react to this issue and the author that submitted the patch is not interested in licensing the change to us, so I did an independent workaround for the issue. MFC after: 1 week
* Upgrade of base gcc and libstdc++ to the last GPLv2-licensed revisionmm2011-03-291-1/+39
| | | | | | | | | | | | | | | | | | | (rev. 127959 of gcc-4_2-branch). Resolved GCC bugs: c++: 17763, 29365, 30535, 30917, 31337, 31941, 32108, 32112, 32346, 32898, 32992 debug: 32610, 32914 libstdc++: 33084, 33128 middle-end: 32563 rtl-optimization: 33148 tree-optimization: 25413, 32723 target: 32218 Tested by: pointyhat (miwi) Obtained from: gcc (gcc-4_2-branch up to rev. 127959) PR: gnu/153298, gnu/153959, gnu/154385 MFC after: 1 month
* Output DWARF debug information for global 'using' declarations, insteadbms2009-07-221-1/+1
| | | | | | | | | | | of just blowing up. A very similar change to this exists which is GPLv3 licensed, this is my own change. This problem was triggered by running the Boost regression tests. See also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31899 Reviewed by: luigi Approved by: re (kib)
* GCC 4.2.1 release.kan2007-08-141-1/+3
|
* GCC 4.2.0 release.kan2007-05-191-2076/+3265
|
* Gcc 3.4.4 release.kan2005-06-031-12/+68
|
* Gcc 3.4.2 20040728.kan2004-07-281-1720/+2126
|
* Gcc 3.3.3 20031106.kan2003-11-071-4/+17
|
* Gcc 3.3.1-release.kan2003-08-221-2/+3
|
* Gcc 3.3.1-pre as of 2003-07-11.kan2003-07-111-242/+702
|
* Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on 1-Sep-2002 ↵kan2002-09-011-22/+21
| | | | 00:00:01 EDT.
* Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.obrien2002-05-091-35/+124
|
* Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.obrien2002-02-011-4652/+6725
| | | | These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
* Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3obrien2001-02-171-1/+2
|
* Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1obrien2001-01-031-1/+7
|
* Virgin import of the GCC 2.95.1 compilersobrien1999-10-161-324/+575
|
* Virgin import of gcc from EGCS 1.1.2obrien1999-08-261-0/+9884
OpenPOWER on IntegriCloud