2008-03-13 Dennis Czeremin <dennis.czeremin@smiths-heimann.com>
PR libstdc++/35566
* include/bits/stl_multimap.h (multimap<>::multimap(_InputIterator,
_InputIterator)): Forward to _M_insert_equal, not _M_insert_unique.
This patch was GPL2 at the time and fixes a regression introduced with
the merge of GCC r129013 in FreeBSD r236829.
MFC after: 3 days
Sponsored by: Bally Wulff Games & Entertainment GmbH
from clang about possible keywords being treated as identifiers for the
remainder of the translation unit (a.k.a. -Wkeyword-compat), when using
libstdc++ in combination with -Wsystem-headers. This will not only fix
devd, but any C++ program using libstdc++.
MFC after: 3 days
X-MFC-With: r263694
Google released and enhanced version of gcc-4.2.1 plus their local
patches for Android[1].
The patches are owned by Google and the license hasn't been changed
from the original GPLv2. We are only bringing a subset of the
available patches that may be helpful in FreeBSD. Changes specific
to android are not included.
From the README.google file[1].
Patches applied to google_vendor_src_branch/gcc/gcc-4.2.1:
gcc/Makefile.in
gcc/c-common.c
gcc/c-common.h
gcc/c-opts.c
gcc/c-typeck.c
gcc/cp/typeck.c
gcc/doc/invoke.texi
gcc/flags.h
gcc/opts.c
gcc/tree-flow.h
gcc/tree-ssa-alias-warnings.c
gcc/tree-ssa-alias.c
Backport of -Wstrict-aliasing from mainline.
Silvius Rus <rus@google.com>
gcc/coverage.c:
Patch coverage_checksum_string for PR 25351.
Seongbae Park <spark@google.com>
Not yet submitted to FSF.
gcc/c-opts.c
gcc/c-ppoutput.c
gcc/c.opt
gcc/doc/cppopts.texi
libcpp/Makefile.in
libcpp/directives-only.c
libcpp/directives.c
libcpp/files.c
libcpp/include/cpplib.h
libcpp/init.c
libcpp/internal.h
libcpp/macro.c
Support for -fdirectives-only.
Ollie Wild <aaw@google.com>.
Submitted to FSF but not yet approved.
libstdc++-v3/include/ext/hashtable.h
http://b/742065http://b/629994
Reduce min size of hashtable for hash_map, hash_set from 53 to 5
libstdc++-v3/include/ext/hashtable.h
http://b/629994
Do not iterate over buckets if hashtable is empty.
gcc/common.opt
gcc/doc/invoke.texi
gcc/flags.h
gcc/gimplify.c
gcc/opts.c
Add Saito's patch for -finstrument-functions-exclude-* options.
gcc/common.opt
gcc/doc/invoke.texi
gcc/final.c
gcc/flags.h
gcc/opts.c
gcc/testsuite/gcc.dg/Wframe-larger-than.c
Add a new flag -Wframe-larger-than- which enables a new warning
when a frame size of a function is larger than specified.
This patch hasn't been integrated into gcc mainline yet.
gcc/tree-vrp.c
Add a hack to avoid using ivopts information for pointers starting
at constant values.
Reference:
[1]
https://android.googlesource.com/toolchain/gcc/+/master/gcc-4.2.1/
Obtained from: Google Inc.
MFC after: 3 weeks
The standard (n3242, section 17.6.1.1, paragraph 4) says that, because these are
declared as macros in the C specification (even though they are
implemented as functions in the C++ library) they should be in the global
namespace.
A surprising number of configure checks rely on this. It was broken by recent
cleanups to math.h.
when building other C++ software with it. Also fix one actual bug in
libsupc++, which was exposed by such a warning. This latter fix is the
only functional change.
MFC after: 1 week
Modified Fri Jul 10 07:44:34 2009 CDT by rafael
backport part of
http://gcc.gnu.org/ml/gcc-cvs/2007-10/msg00118.html
The patch is for libstdc++ and it was GPL2 at the time.
Modified Tue Apr 29 01:20:19 2008 CDT by asl
Backport from mainline (pre-GPLv3).
Fix for sizeof(const void*) > sizeof(unsigned long).
Approved by: jhb (mentor)
MFC after: 2 weeks
the following warning produced by clang trunk:
In file included from /usr/src/sbin/devd/devd.cc:91:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/4.2/map:64:
/usr/obj/usr/src/tmp/usr/include/c++/4.2/bits/stl_tree.h:987:2: error: add explicit braces to avoid dangling else [-Werror,-Wdangling-else]
else
^
MFC after: 3 days
from the gcc 4.2 branch.
The libraries in the gcc-4_2-branch remained under the LGPLv2.
The changes can be reproduced with the following command:
svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-4_2-branch/libstdc++-v3
-r 127959:135556
Reviewed by: mm
Approved by: jhb (mentor)
MFC after: 2 weeks
with clang, by removing two unneeded using declarations. Otherwise, you
would get errors similar to:
/usr/include/c++/4.2/debug/map.h:77:20: error: dependent using declaration resolved to type without 'typename'
using _Base::value_compare;
^
N.B.: Take care when you actually use the debug versions of any
libstdc++ header. They are more likely to contain problems, because
they are exercised far less often, and since the standard library
complexity guarantees don't always apply anymore, compile times can
drastically increase.
MFC after: 2 weeks
o Make the value_type, vector_type, iterator, __mutex_type types of
free_list class so we can access them
o In some cases template keywords must be inserted to treat classes as
dependent template names
o Remove two 'inline' keywords where they do not make sense
Submitted by: Dimitry Andric <dimitry at andric.com>
Reviewed by: trema