History log of /netbsd-current/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_report.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.4 31-Jul-2023 mrg

make this actually be GCC 12.3.0's libsanitizer.

the libsanitizer we used with GCC 9 and GCC 10 was significantly
ahead of the GCC 9 and GCC 10 provided versions.


# 1.3 30-Jul-2023 mrg

initial merge of GCC 12.3.0.

this doesn't include any of the changes to the .c -> .cc files renamed,
and reverts our local changes to the vax port and libsanitizer subdir.
vax GCC was rewritten and our local fixes no longer are relevant, and
the new libsanitizer is more updated than our old one, and merging via
gcc10->gcc12 is not really possible.

unfortunately, our local changes to libsanitizer that aren't related
to the general update of those sources (ie, the netbsd code) will need
to be re-checked and perhaps re-ported.


Revision tags: netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.2 11-Apr-2021 mrg

revert sanitizer back to the version we were using with GCC 9, since
that one was already newer than the GCC 10 version.


# 1.1 01-Mar-2014 mrg

branches: 1.1.1;
Initial revision


# 1.3 30-Jul-2023 mrg

initial merge of GCC 12.3.0.

this doesn't include any of the changes to the .c -> .cc files renamed,
and reverts our local changes to the vax port and libsanitizer subdir.
vax GCC was rewritten and our local fixes no longer are relevant, and
the new libsanitizer is more updated than our old one, and merging via
gcc10->gcc12 is not really possible.

unfortunately, our local changes to libsanitizer that aren't related
to the general update of those sources (ie, the netbsd code) will need
to be re-checked and perhaps re-ported.


Revision tags: netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.2 11-Apr-2021 mrg

revert sanitizer back to the version we were using with GCC 9, since
that one was already newer than the GCC 10 version.


# 1.1 01-Mar-2014 mrg

branches: 1.1.1;
Initial revision


# 1.2 11-Apr-2021 mrg

revert sanitizer back to the version we were using with GCC 9, since
that one was already newer than the GCC 10 version.


# 1.1 01-Mar-2014 mrg

branches: 1.1.1;
Initial revision


Revision tags: gcc-10-3-0
# 1.1.1.9 10-Apr-2021 mrg

initial import of GCC 10.3.0. main changes include:

caveats:
- ABI issue between c++14 and c++17 fixed
- profile mode is removed from libstdc++
- -fno-common is now the default

new features:
- new flags -fallocation-dce, -fprofile-partial-training,
-fprofile-reproducible, -fprofile-prefix-path, and -fanalyzer
- many new compile and link time optimisations
- enhanced drive optimisations
- openacc 2.6 support
- openmp 5.0 features
- new warnings: -Wstring-compare and -Wzero-length-bounds
- extended warnings: -Warray-bounds, -Wformat-overflow,
-Wrestrict, -Wreturn-local-addr, -Wstringop-overflow,
-Warith-conversion, -Wmismatched-tags, and -Wredundant-tags
- some likely C2X features implemented
- more C++20 implemented
- many new arm & intel CPUs known

hundreds of reported bugs are fixed. full list of changes
can be found at:

https://gcc.gnu.org/gcc-10/changes.html


Revision tags: gcc-9-3-0
# 1.1.1.8 05-Sep-2020 mrg

initial import of GCC 9.3.0. changes include:

- live patching support
- shell completion help
- generally better diagnostic output (less verbose/more useful)
- diagnostics and optimisation choices can be emitted in json
- asan memory usage reduction
- many general, and specific to switch, inter-procedure,
profile and link-time optimisations. from the release notes:
"Overall compile time of Firefox 66 and LibreOffice 6.2.3 on
an 8-core machine was reduced by about 5% compared to GCC 8.3"
- OpenMP 5.0 support
- better spell-guesser
- partial experimental support for c2x and c++2a
- c++17 is no longer experimental
- arm AAPCS GCC 6-8 structure passing bug fixed, may cause
incompatibility (restored compat with GCC 5 and earlier.)
- openrisc support


Revision tags: gcc-8-4-0
# 1.1.1.7 11-Aug-2020 mrg

re-import GCC 8.4.0.


Revision tags: gcc-7-5-0
# 1.1.1.6 11-Aug-2020 mrg

import GCC 7.5.0. doing this here so that the vendor branch has
the code we'll merge into gcc.old and the netbsd-9 tree gcc tree.
GCC 8.4.0 will be imported immediately on top of this again,
restoring the current status.

these PRs in the GCC bugzilla are fixed with this update:

89869 80693 89795 84272 85593 86669 87148 87647 87895 88103 88107 88563
88870 88976 89002 89187 89195 89234 89303 89314 89354 89361 89403 89412
89512 89520 89590 89621 89663 89679 89704 89734 89872 89933 90090 90208
87075 85870 89009 89242 88167 80864 81933 85890 86608 87145 88857 89024
89119 89214 89511 89612 89705 89400 81740 82186 84552 86554 87609 88105
88149 88415 88739 88903 89135 89223 89296 89505 89572 89677 89698 89710
90006 90020 90071 90328 90474 91126 91162 91812 91887 90075 88998 89945
87047 87506 88074 88656 88740 91137 89008 84010 89349 91136 91347 91995
89397 87030 60702 78884 85594 87649 87725 88181 88470 88553 88568 88588
88620 88644 88906 88949 89246 89587 89726 89768 89796 89998 90108 90756
90950 91704 88825 88983 86538 51333 89446 90220 91308 92143 89392 90213
90278 91131 91200 91510 89037 91481 87673 88418 88938 88948 90547 27221
58321 61250 67183 67958 77583 83531 86215 88648 88720 88726 89091 89466
89629 90105 90329 90585 90760 90924 91087 89222 81956 71861 35031 69455
81849 82993 85798 88138 88155 88169 88205 88206 88228 88249 88269 88376
77703 80260 82077 86248 88393 90786 57048 66089 66695 67679 68009 71723
72714 84394 85544 87734 88298 90937 91557 63891 64132 65342 68649 68717
71066 71860 71935 77746 78421 78645 78865 78983 79485 79540 85953 88326
89651 90744


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119 gcc-8-3-0
# 1.1.1.5 01-Oct-2019 mrg

import GCC 8.3. it includes these new features:
- many optimisations improved: inter-procedural, profile-directed,
LTO, loops including user-controllable unroll support, and more.
- columns numbers added to line numbers in dwarf
- gcov extended significantly
- many sanitizer updates
- many new warning messages
- many better hints and more useful error messages
- minor ABI changes on x86-64 libstdc++, and some c++17 modes
- draft c++2a features
- better c++17 experimental support
- Armv8.4-A supported, better 8.2-A and 8.3-A support, including
32 bit arm port. cortex a-55, a-75 and a-55.a-75 combo support.
- in the GCC bugzilla, 8.1 shows 1149 bugs fixed, 8.2 shows 100, and
8.3 shows 158.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 gcc-7-4-0
# 1.1.1.4 19-Jan-2019 mrg

import GCC 7.4.0. main changes include:

The non-standard C++0x type traits has_trivial_default_constructor,
has_trivial_copy_constructor and has_trivial_copy_assign have been
removed.

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed.

Many optimiser improvements

DWARF-5 support.

Many new and enhanced warnings.

Warnings about format strings now underline the pertinent part of
the string, and can offer suggested fixes.

Several new warnings related to buffer overflows and buffer
truncation.

New __builtin_add_overflow_p, __builtin_sub_overflow_p,
__builtin_mul_overflow_p built-ins added that test for overflow.

The C++ front end has experimental support for all of the current
C++17 draft.

The -fverbose-asm option has been expanded to prints comments
showing the source lines that correspond to the assembly.

The gcc and g++ driver programs will now provide suggestions for
misspelled arguments to command-line options.


AArch64 specific:

GCC has been updated to the latest revision of the procedure call
standard (AAPCS64) to provide support for parameter passing when
data types have been over-aligned.

The ARMv8.2-A and ARMv8.3-A architecture are now supported.

ARM specific:

Support for the ARMv5 and ARMv5E architectures has been
deprecated (which have no known implementations).

A new command-line option -mpure-code has been added. It does not
allow constant data to be placed in code sections.

x86 specific:

Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software
Guard Extensions (SGX) ISA extensions has been added.

PPC specific:

GCC now diagnoses inline assembly that clobbers register r2.

RISC-V specific:

Support for the RISC-V instruction set has been added.

SH specific:

Support for SH5/SH64 has been removed.

Support for SH2A has been enhanced.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 gcc-6-5-0 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base gcc-6-4-0
# 1.1.1.3 02-Feb-2018 mrg

branches: 1.1.1.3.2; 1.1.1.3.4;
import GCC 6.4.0. see this url for details which are too large to
include here:

http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 gcc-5-5-0 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


Revision tags: gcc-9-3-0
# 1.1.1.8 05-Sep-2020 mrg

initial import of GCC 9.3.0. changes include:

- live patching support
- shell completion help
- generally better diagnostic output (less verbose/more useful)
- diagnostics and optimisation choices can be emitted in json
- asan memory usage reduction
- many general, and specific to switch, inter-procedure,
profile and link-time optimisations. from the release notes:
"Overall compile time of Firefox 66 and LibreOffice 6.2.3 on
an 8-core machine was reduced by about 5% compared to GCC 8.3"
- OpenMP 5.0 support
- better spell-guesser
- partial experimental support for c2x and c++2a
- c++17 is no longer experimental
- arm AAPCS GCC 6-8 structure passing bug fixed, may cause
incompatibility (restored compat with GCC 5 and earlier.)
- openrisc support


Revision tags: gcc-8-4-0
# 1.1.1.7 11-Aug-2020 mrg

re-import GCC 8.4.0.


Revision tags: gcc-7-5-0
# 1.1.1.6 11-Aug-2020 mrg

import GCC 7.5.0. doing this here so that the vendor branch has
the code we'll merge into gcc.old and the netbsd-9 tree gcc tree.
GCC 8.4.0 will be imported immediately on top of this again,
restoring the current status.

these PRs in the GCC bugzilla are fixed with this update:

89869 80693 89795 84272 85593 86669 87148 87647 87895 88103 88107 88563
88870 88976 89002 89187 89195 89234 89303 89314 89354 89361 89403 89412
89512 89520 89590 89621 89663 89679 89704 89734 89872 89933 90090 90208
87075 85870 89009 89242 88167 80864 81933 85890 86608 87145 88857 89024
89119 89214 89511 89612 89705 89400 81740 82186 84552 86554 87609 88105
88149 88415 88739 88903 89135 89223 89296 89505 89572 89677 89698 89710
90006 90020 90071 90328 90474 91126 91162 91812 91887 90075 88998 89945
87047 87506 88074 88656 88740 91137 89008 84010 89349 91136 91347 91995
89397 87030 60702 78884 85594 87649 87725 88181 88470 88553 88568 88588
88620 88644 88906 88949 89246 89587 89726 89768 89796 89998 90108 90756
90950 91704 88825 88983 86538 51333 89446 90220 91308 92143 89392 90213
90278 91131 91200 91510 89037 91481 87673 88418 88938 88948 90547 27221
58321 61250 67183 67958 77583 83531 86215 88648 88720 88726 89091 89466
89629 90105 90329 90585 90760 90924 91087 89222 81956 71861 35031 69455
81849 82993 85798 88138 88155 88169 88205 88206 88228 88249 88269 88376
77703 80260 82077 86248 88393 90786 57048 66089 66695 67679 68009 71723
72714 84394 85544 87734 88298 90937 91557 63891 64132 65342 68649 68717
71066 71860 71935 77746 78421 78645 78865 78983 79485 79540 85953 88326
89651 90744


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119 gcc-8-3-0
# 1.1.1.5 01-Oct-2019 mrg

import GCC 8.3. it includes these new features:
- many optimisations improved: inter-procedural, profile-directed,
LTO, loops including user-controllable unroll support, and more.
- columns numbers added to line numbers in dwarf
- gcov extended significantly
- many sanitizer updates
- many new warning messages
- many better hints and more useful error messages
- minor ABI changes on x86-64 libstdc++, and some c++17 modes
- draft c++2a features
- better c++17 experimental support
- Armv8.4-A supported, better 8.2-A and 8.3-A support, including
32 bit arm port. cortex a-55, a-75 and a-55.a-75 combo support.
- in the GCC bugzilla, 8.1 shows 1149 bugs fixed, 8.2 shows 100, and
8.3 shows 158.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 gcc-7-4-0
# 1.1.1.4 19-Jan-2019 mrg

import GCC 7.4.0. main changes include:

The non-standard C++0x type traits has_trivial_default_constructor,
has_trivial_copy_constructor and has_trivial_copy_assign have been
removed.

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed.

Many optimiser improvements

DWARF-5 support.

Many new and enhanced warnings.

Warnings about format strings now underline the pertinent part of
the string, and can offer suggested fixes.

Several new warnings related to buffer overflows and buffer
truncation.

New __builtin_add_overflow_p, __builtin_sub_overflow_p,
__builtin_mul_overflow_p built-ins added that test for overflow.

The C++ front end has experimental support for all of the current
C++17 draft.

The -fverbose-asm option has been expanded to prints comments
showing the source lines that correspond to the assembly.

The gcc and g++ driver programs will now provide suggestions for
misspelled arguments to command-line options.


AArch64 specific:

GCC has been updated to the latest revision of the procedure call
standard (AAPCS64) to provide support for parameter passing when
data types have been over-aligned.

The ARMv8.2-A and ARMv8.3-A architecture are now supported.

ARM specific:

Support for the ARMv5 and ARMv5E architectures has been
deprecated (which have no known implementations).

A new command-line option -mpure-code has been added. It does not
allow constant data to be placed in code sections.

x86 specific:

Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software
Guard Extensions (SGX) ISA extensions has been added.

PPC specific:

GCC now diagnoses inline assembly that clobbers register r2.

RISC-V specific:

Support for the RISC-V instruction set has been added.

SH specific:

Support for SH5/SH64 has been removed.

Support for SH2A has been enhanced.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 gcc-6-5-0 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base gcc-6-4-0
# 1.1.1.3 02-Feb-2018 mrg

branches: 1.1.1.3.2; 1.1.1.3.4;
import GCC 6.4.0. see this url for details which are too large to
include here:

http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 gcc-5-5-0 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


Revision tags: gcc-8-4-0
# 1.1.1.7 11-Aug-2020 mrg

re-import GCC 8.4.0.


Revision tags: gcc-7-5-0
# 1.1.1.6 11-Aug-2020 mrg

import GCC 7.5.0. doing this here so that the vendor branch has
the code we'll merge into gcc.old and the netbsd-9 tree gcc tree.
GCC 8.4.0 will be imported immediately on top of this again,
restoring the current status.

these PRs in the GCC bugzilla are fixed with this update:

89869 80693 89795 84272 85593 86669 87148 87647 87895 88103 88107 88563
88870 88976 89002 89187 89195 89234 89303 89314 89354 89361 89403 89412
89512 89520 89590 89621 89663 89679 89704 89734 89872 89933 90090 90208
87075 85870 89009 89242 88167 80864 81933 85890 86608 87145 88857 89024
89119 89214 89511 89612 89705 89400 81740 82186 84552 86554 87609 88105
88149 88415 88739 88903 89135 89223 89296 89505 89572 89677 89698 89710
90006 90020 90071 90328 90474 91126 91162 91812 91887 90075 88998 89945
87047 87506 88074 88656 88740 91137 89008 84010 89349 91136 91347 91995
89397 87030 60702 78884 85594 87649 87725 88181 88470 88553 88568 88588
88620 88644 88906 88949 89246 89587 89726 89768 89796 89998 90108 90756
90950 91704 88825 88983 86538 51333 89446 90220 91308 92143 89392 90213
90278 91131 91200 91510 89037 91481 87673 88418 88938 88948 90547 27221
58321 61250 67183 67958 77583 83531 86215 88648 88720 88726 89091 89466
89629 90105 90329 90585 90760 90924 91087 89222 81956 71861 35031 69455
81849 82993 85798 88138 88155 88169 88205 88206 88228 88249 88269 88376
77703 80260 82077 86248 88393 90786 57048 66089 66695 67679 68009 71723
72714 84394 85544 87734 88298 90937 91557 63891 64132 65342 68649 68717
71066 71860 71935 77746 78421 78645 78865 78983 79485 79540 85953 88326
89651 90744


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119 gcc-8-3-0
# 1.1.1.5 01-Oct-2019 mrg

import GCC 8.3. it includes these new features:
- many optimisations improved: inter-procedural, profile-directed,
LTO, loops including user-controllable unroll support, and more.
- columns numbers added to line numbers in dwarf
- gcov extended significantly
- many sanitizer updates
- many new warning messages
- many better hints and more useful error messages
- minor ABI changes on x86-64 libstdc++, and some c++17 modes
- draft c++2a features
- better c++17 experimental support
- Armv8.4-A supported, better 8.2-A and 8.3-A support, including
32 bit arm port. cortex a-55, a-75 and a-55.a-75 combo support.
- in the GCC bugzilla, 8.1 shows 1149 bugs fixed, 8.2 shows 100, and
8.3 shows 158.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 gcc-7-4-0
# 1.1.1.4 19-Jan-2019 mrg

import GCC 7.4.0. main changes include:

The non-standard C++0x type traits has_trivial_default_constructor,
has_trivial_copy_constructor and has_trivial_copy_assign have been
removed.

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed.

Many optimiser improvements

DWARF-5 support.

Many new and enhanced warnings.

Warnings about format strings now underline the pertinent part of
the string, and can offer suggested fixes.

Several new warnings related to buffer overflows and buffer
truncation.

New __builtin_add_overflow_p, __builtin_sub_overflow_p,
__builtin_mul_overflow_p built-ins added that test for overflow.

The C++ front end has experimental support for all of the current
C++17 draft.

The -fverbose-asm option has been expanded to prints comments
showing the source lines that correspond to the assembly.

The gcc and g++ driver programs will now provide suggestions for
misspelled arguments to command-line options.


AArch64 specific:

GCC has been updated to the latest revision of the procedure call
standard (AAPCS64) to provide support for parameter passing when
data types have been over-aligned.

The ARMv8.2-A and ARMv8.3-A architecture are now supported.

ARM specific:

Support for the ARMv5 and ARMv5E architectures has been
deprecated (which have no known implementations).

A new command-line option -mpure-code has been added. It does not
allow constant data to be placed in code sections.

x86 specific:

Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software
Guard Extensions (SGX) ISA extensions has been added.

PPC specific:

GCC now diagnoses inline assembly that clobbers register r2.

RISC-V specific:

Support for the RISC-V instruction set has been added.

SH specific:

Support for SH5/SH64 has been removed.

Support for SH2A has been enhanced.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 gcc-6-5-0 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base gcc-6-4-0
# 1.1.1.3 02-Feb-2018 mrg

branches: 1.1.1.3.2; 1.1.1.3.4;
import GCC 6.4.0. see this url for details which are too large to
include here:

http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 gcc-5-5-0 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


Revision tags: gcc-8-3-0
# 1.1.1.5 01-Oct-2019 mrg

import GCC 8.3. it includes these new features:
- many optimisations improved: inter-procedural, profile-directed,
LTO, loops including user-controllable unroll support, and more.
- columns numbers added to line numbers in dwarf
- gcov extended significantly
- many sanitizer updates
- many new warning messages
- many better hints and more useful error messages
- minor ABI changes on x86-64 libstdc++, and some c++17 modes
- draft c++2a features
- better c++17 experimental support
- Armv8.4-A supported, better 8.2-A and 8.3-A support, including
32 bit arm port. cortex a-55, a-75 and a-55.a-75 combo support.
- in the GCC bugzilla, 8.1 shows 1149 bugs fixed, 8.2 shows 100, and
8.3 shows 158.


Revision tags: netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 gcc-7-4-0
# 1.1.1.4 19-Jan-2019 mrg

import GCC 7.4.0. main changes include:

The non-standard C++0x type traits has_trivial_default_constructor,
has_trivial_copy_constructor and has_trivial_copy_assign have been
removed.

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed.

Many optimiser improvements

DWARF-5 support.

Many new and enhanced warnings.

Warnings about format strings now underline the pertinent part of
the string, and can offer suggested fixes.

Several new warnings related to buffer overflows and buffer
truncation.

New __builtin_add_overflow_p, __builtin_sub_overflow_p,
__builtin_mul_overflow_p built-ins added that test for overflow.

The C++ front end has experimental support for all of the current
C++17 draft.

The -fverbose-asm option has been expanded to prints comments
showing the source lines that correspond to the assembly.

The gcc and g++ driver programs will now provide suggestions for
misspelled arguments to command-line options.


AArch64 specific:

GCC has been updated to the latest revision of the procedure call
standard (AAPCS64) to provide support for parameter passing when
data types have been over-aligned.

The ARMv8.2-A and ARMv8.3-A architecture are now supported.

ARM specific:

Support for the ARMv5 and ARMv5E architectures has been
deprecated (which have no known implementations).

A new command-line option -mpure-code has been added. It does not
allow constant data to be placed in code sections.

x86 specific:

Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software
Guard Extensions (SGX) ISA extensions has been added.

PPC specific:

GCC now diagnoses inline assembly that clobbers register r2.

RISC-V specific:

Support for the RISC-V instruction set has been added.

SH specific:

Support for SH5/SH64 has been removed.

Support for SH2A has been enhanced.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 gcc-6-5-0 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base gcc-6-4-0
# 1.1.1.3 02-Feb-2018 mrg

branches: 1.1.1.3.2; 1.1.1.3.4;
import GCC 6.4.0. see this url for details which are too large to
include here:

http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 gcc-5-5-0 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


Revision tags: gcc-7-4-0
# 1.1.1.4 19-Jan-2019 mrg

import GCC 7.4.0. main changes include:

The non-standard C++0x type traits has_trivial_default_constructor,
has_trivial_copy_constructor and has_trivial_copy_assign have been
removed.

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed.

Many optimiser improvements

DWARF-5 support.

Many new and enhanced warnings.

Warnings about format strings now underline the pertinent part of
the string, and can offer suggested fixes.

Several new warnings related to buffer overflows and buffer
truncation.

New __builtin_add_overflow_p, __builtin_sub_overflow_p,
__builtin_mul_overflow_p built-ins added that test for overflow.

The C++ front end has experimental support for all of the current
C++17 draft.

The -fverbose-asm option has been expanded to prints comments
showing the source lines that correspond to the assembly.

The gcc and g++ driver programs will now provide suggestions for
misspelled arguments to command-line options.


AArch64 specific:

GCC has been updated to the latest revision of the procedure call
standard (AAPCS64) to provide support for parameter passing when
data types have been over-aligned.

The ARMv8.2-A and ARMv8.3-A architecture are now supported.

ARM specific:

Support for the ARMv5 and ARMv5E architectures has been
deprecated (which have no known implementations).

A new command-line option -mpure-code has been added. It does not
allow constant data to be placed in code sections.

x86 specific:

Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software
Guard Extensions (SGX) ISA extensions has been added.

PPC specific:

GCC now diagnoses inline assembly that clobbers register r2.

RISC-V specific:

Support for the RISC-V instruction set has been added.

SH specific:

Support for SH5/SH64 has been removed.

Support for SH2A has been enhanced.


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 gcc-6-5-0 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base gcc-6-4-0
# 1.1.1.3 02-Feb-2018 mrg

import GCC 6.4.0. see this url for details which are too large to
include here:

http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 gcc-5-5-0 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


Revision tags: gcc-6-4-0
# 1.1.1.3 02-Feb-2018 mrg

import GCC 6.4.0. see this url for details which are too large to
include here:

http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)


Revision tags: gcc-5-5-0 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


Revision tags: pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base gcc-5-4-0 gcc-5-3-0
# 1.1.1.2 24-Jan-2016 mrg

import GCC 5.3.0. see these urls for details which are too large to
include here:

http://gcc.gnu.org/gcc-4.9/changes.html
http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
floating-point register support is now obsolete and has been removed.
It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
The meaning of the -mfp64 command-line option has changed. It is now
used to enable the FP64A and FP64 ABI extensions.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE gcc-4-8-5-pre-gcc-old-import netbsd-7-0-RC3 netbsd-7-0-RC2 post-gcc-4-8-5-merge gcc-4-8-5 netbsd-7-0-RC1 gcc-4-8-4 gcc-4-8-20141009 tls-maxphys-base netbsd-7-base gcc-4-8-3 yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 gcc-4-8-3-pre-r208254 gcc-4-8-3-pre-r206687
# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


# 1.1 01-Mar-2014 mrg

branches: 1.1.1;
Initial revision


# 1.1.1.1 01-Mar-2014 mrg

branches: 1.1.1.1.4; 1.1.1.1.8;
import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/


# 1.1.1.1.8.2 19-Aug-2014 tls

Rebase to HEAD as of a few days ago.


# 1.1.1.1.8.1 01-Mar-2014 tls

file tsan_report.h was added on branch tls-maxphys on 2014-08-19 23:54:38 +0000


# 1.1.1.1.4.2 21-May-2014 yamt

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")


# 1.1.1.1.4.1 01-Mar-2014 yamt

file tsan_report.h was added on branch yamt-pagecache on 2014-05-22 16:37:02 +0000