History log of /external/libcxx/src/strstream.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3ec6b84545c594625bf2277ddf01493e98c02c15 29-Aug-2016 Eric Fiselier <eric@efcs.ca> Fix or suppress GCC warnings during build.

Summary:
Currently a number of GCC warnings are emitted when building libc++. This patch fixes or ignores all of them. The primary changes are:

* Work around strict aliasing issues in `typeinfo::hash_code()` by using __attribute__((may_alias)). However I think a non-aliasing `hash_code()` implementation is possible. Further investigation needed.
* Add `_LIBCPP_UNREACHABLE()` to switch in `strstream.cpp` to avoid -Wpotentially-uninitialized.
* Fix -Wunused-value warning in `__all` by adding a void cast.
* Ignore -Wattributes for now. There are a number of real attribute issues when using GCC but enabling the warning is too noisy.
* Ignore -Wliteral-suffix since it warns about the use of reserved identifiers. Note Only GCC 7.0 supports disabling this warning.
* Ignore -Wc++14-compat since it warns about the sized new/delete overloads.



Reviewers: EricWF

Differential Revision: https://reviews.llvm.org/D24003

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@280007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
70bf1c2280d514792b4bc6035c4685e82da79645 29-Jun-2016 Akira Hatanaka <ahatanaka@apple.com> [libcxx] Fix a bug in strstreambuf::overflow.

The end pointer should point to one past the end of the newly allocated
buffer.

rdar://problem/24265174

Differential Revision: http://reviews.llvm.org/D20334


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
897b2f9a70d6666e692dfd6d297eb7f99cb0553a 19-Jun-2016 Eric Fiselier <eric@efcs.ca> Fix various undefined behavior found by UBSan.

* Fix non-null violation in strstream.cpp
Overflow was calling memcpy with a null parameter and a size of 0.

* Fix std/atomics/atomics.flag/ tests:
a.test_and_set() was reading from an uninitialized atomic, but wasn't
using the value. The tests now clear the flag before performing the
first test_and_set. This allows UBSAN to test that clear doesn't read
an invalid value.

* Fix std/experimental/algorithms/alg.random.sample/sample.pass.cpp
The tests were dereferencing a past-the-end pointer to an array so that
they could do pointer arithmetic with it. Instead of dereference the iterator
I changed the tests to use the special 'base()' test iterator method.

* Add -fno-sanitize=float-divide-by-zero to suppress division by zero UBSAN diagnostics.
The tests that cause float division by zero are explicitly aware that they
are doing that. Since this is well defined for IEEE floats suppress the warnings
for now.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
4c6acb5ecd7fab26583353261fd52a9f7ba2f1e0 04-Jan-2014 Joerg Sonnenberger <joerg@bec.de> Switch to using C++ style casts.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@198505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
9de3d4cab3ac91362e2a30406cd005cdc581eec5 13-Oct-2013 Marshall Clow <mclow.lists@gmail.com> Patch from GM to make more implicit bools explicit since we can't stop MSVC warning about this in headers and to warn is the MSVC default. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
3e005bf6b2649da693d6c3109b5947890a0ffec3 14-Aug-2013 Marshall Clow <mclow.lists@gmail.com> Fix signed/unsigned warnings when building libc++ in C++14 mode

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
b74309e3ad06106480d94f93eca0fa491743ae87 19-Mar-2013 Howard Hinnant <hhinnant@apple.com> Marshall Clow found this memory problem in strstream using -fsanitize=address on the test suite.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
ec3773c2dadbeadfc5def927116c2ee9d9c53066 01-Dec-2011 Howard Hinnant <hhinnant@apple.com> Quash a whole bunch of warnings

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@145624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
ac6de546bd30d11eba9b1be40f7dc21cda6fa029 07-Jul-2011 Howard Hinnant <hhinnant@apple.com> Fixing up some ABI issues

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@134639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
0949eedbd621bc1611266fb180d9a356ee1eaf9f 30-Jun-2011 Howard Hinnant <hhinnant@apple.com> _STD -> _VSTD to avoid macro clash on windows

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@134190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
6cf5d8c3aaab7aeaedac2a89085790b9f92d1a4c 14-Feb-2011 Howard Hinnant <hhinnant@apple.com> Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris).

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@125510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
9a21a019461a1d84e1798080fea4347296bf3d67 27-Jan-2011 Howard Hinnant <hhinnant@apple.com> clang found a missing return statement.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
b64f8b07c104c6cc986570ac8ee0ed16a9f23976 16-Nov-2010 Howard Hinnant <hhinnant@apple.com> license change

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
73d21a4f0774d3fadab98e690619a359cfb160a3 05-Sep-2010 Howard Hinnant <hhinnant@apple.com> Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
16e6e1d72fd6a10fc165eba4ca4ed2fa7c45df78 22-Aug-2010 Howard Hinnant <hhinnant@apple.com> Fixing whitespace problems

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
f5256e16dfc425c1d466f6308d4026d529ce9e0b 11-May-2010 Howard Hinnant <hhinnant@apple.com> Wiped out some non-ascii characters that snuck into the copyright.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp
bc8d3f97eb5c958007f2713238472e0c1c8fe02c 11-May-2010 Howard Hinnant <hhinnant@apple.com> libcxx initial import

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/src/strstream.cpp