Commit Graph

588 Commits

Author SHA1 Message Date
Max Kellermann 88f5220acf util/Manual: drop support for gcc 4.6 2017-07-05 12:25:20 +02:00
Max Kellermann 3e87ac75a1 util/Manual: use C++11 initializer 2017-07-05 12:12:41 +02:00
Max Kellermann 9237f2a80c util/{Const,Writable}Buffer: add array constructor 2017-07-05 12:09:27 +02:00
Max Kellermann 61aca389c4 util/{Const,Writable}Buffer: add typedef value_type 2017-07-05 12:08:34 +02:00
Max Kellermann 80438c4876 util/BindMethod: add BIND_FUNCTION() 2017-07-05 12:04:29 +02:00
Max Kellermann 70ac4fa96b util/AllocatedString: implement AllocatedString<wchar_t>::Duplicate() 2017-07-05 10:26:39 +02:00
Max Kellermann 979f1b6c39 Merge tag 'v0.20.9'
release v0.20.9
2017-06-04 12:57:05 +02:00
Max Kellermann a057b4f6d8 *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
Max Kellermann cdd2d4cc1d util/StringView: add method EndsWith() 2017-05-17 12:39:01 +02:00
Max Kellermann 907fb257cd util/StringAPI: add StringToken(), StringIsEqualIgnoreCase(), StringCollate() 2017-05-16 23:04:27 +02:00
Max Kellermann 60bd60db03 util/String{Compare,API}: add more "noexcept" 2017-05-16 23:02:36 +02:00
Max Kellermann 0fcc28a108 util/String{Compare,API}: indent with tabs 2017-05-16 23:01:43 +02:00
Max Kellermann ab8005f03e util/ScopeExit: include cleanup 2017-05-16 22:56:30 +02:00
Max Kellermann 5e8f578e78 util/ConcatString: return the end pointer 2017-05-16 11:56:56 +02:00
Max Kellermann a4b1633e11 util/ConcatString: use std::copy_n() instead of memcpy() 2017-05-16 11:56:19 +02:00
Max Kellermann fea211a109 util/Alloc: move template functions to ConcatString.hxx 2017-05-16 11:32:55 +02:00
Max Kellermann 59e4f1ee0f *: remove lots of GCC 4.8 fallback code
We can remove those C++11 and C++14 kludges because we require GCC 4.9
now.
2017-05-16 11:29:15 +02:00
Max Kellermann 86a0a42a8d util/StringView: add "noexcept" 2017-05-16 10:27:14 +02:00
Max Kellermann 662842126d util/SplitString: add "noexcept" 2017-05-16 10:23:50 +02:00
Max Kellermann 66e3801b1e util/MimeType: add "noexcept" 2017-05-16 10:23:38 +02:00
Max Kellermann a30cf60422 util/FormatString: add "noexcept" 2017-05-16 10:22:52 +02:00
Max Kellermann c2b8b818c7 util/DivideString: add "noexcept" 2017-05-16 10:22:36 +02:00
Max Kellermann 4284b0e2b8 util/ByteReverse: add "noexcept" 2017-05-16 10:21:59 +02:00
Max Kellermann 9def9b35b9 util/Exception: add "noexcept" 2017-05-16 10:20:17 +02:00
Max Kellermann 4faef28cc5 Merge tag 'v0.20.7'
release v0.20.7
2017-05-15 23:01:49 +02:00
Max Kellermann 788e3b31e1 *: remove "pure" and "const" attributes from throwing functions
The "pure" and "const" attributes are not so well-defined, and a
recent clang version implements an optimization which pushes the
definition's boundary beyond what I believed it was.  clang now
assumes that functions declared "pure" cannot throw exceptions, even
if they lack the "noexcept" specification.

When compiled with this new clang version, MPD will crash randomly if
an exception happens to get thrown by such as "pure" function
(https://github.com/MusicPlayerDaemon/MPD/issues/41).

This commit removes all such misplaced "pure" and "const" attributes,
closing #41.
2017-05-08 17:25:06 +02:00
Max Kellermann 71f0ed8b74 *: add "noexcept" to many, many function prototypes
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann d68772d45a util/{Foreign,Static}FifoBuffer: update API documentation 2017-04-24 20:19:14 +02:00
Max Kellermann 52cb425e33 util/StaticFifoBuffer: add method GetCapacity() 2017-04-24 20:18:44 +02:00
Max Kellermann ed3220f37f util/{Foreign,Static}FifoBuffer: use C++11 initializers 2017-04-24 20:16:18 +02:00
Max Kellermann f6e428ac22 Merge branch 'v0.20.x' 2017-04-24 11:44:27 +02:00
Max Kellermann 38da76bbe0 util/ScopeExit: copy enabled tag in move constructor 2017-04-12 13:11:43 +02:00
Max Kellermann e26d49efb7 Merge tag 'v0.20.6'
release v0.20.6
2017-03-10 17:02:32 +01:00
Max Kellermann 42a3a87f13 util/HugeAllocator: paranoid check for sysconf()<0
Just in case.
2017-03-01 21:50:26 +01:00
Ben Boeckel 9dfedbe619 ReusableArray: fix build error on GCC7
GCC7 outputs the following error without this change:

    src/util/ReusableArray.hxx:61:35: error: no matching function for call to ‘swap(size_t&, const size_t&)’
       std::swap(capacity, src.capacity);

which can be resolved by just using an rvalue-reference rather than a
const rvalue-reference.

Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
2017-03-01 19:38:41 +01:00
Max Kellermann 29d03ab937 Merge tag 'v0.20.5'
release v0.20.5
2017-02-20 21:59:40 +01:00
Max Kellermann bc1c927952 util/TimeFormat: suppress -Wunused on Windows 2017-02-20 21:44:01 +01:00
Max Kellermann 4146475c73 util/ChronoUtil: new utility library for std::chrono 2017-02-11 22:23:33 +01:00
Thomas Zander 51147203be free() require cstdlib to be included 2017-01-31 21:21:37 +01:00
Max Kellermann 4f01387edf util/StringBuffer: new utility class 2017-01-17 22:03:42 +01:00
Max Kellermann 6eea56861b AUTHORS, ...: update my email address 2017-01-17 11:54:55 +01:00
Max Kellermann d842d21be0 util/ReusableArray: add method GetCapacity() 2017-01-11 20:37:12 +01:00
Max Kellermann 3514fd2433 util/ReusableArray: add move constructor/operator 2017-01-11 20:37:12 +01:00
Max Kellermann 6778ff27ea util/ReusableArray: use C++11 initializers 2017-01-11 20:33:01 +01:00
Max Kellermann 6c6947b01f util/UriUtil: add uri_get_path() 2017-01-08 11:05:58 +01:00
Max Kellermann 44493ca0c4 util/TimeParser: add "pure" attribute 2017-01-08 10:41:08 +01:00
Max Kellermann 42acf78b09 util/TimeParser: wrapper for strptime()
Move code from SongFilter.cxx.
2017-01-07 22:11:45 +01:00
Max Kellermann a34dfd55be util/HugeAllocator: remove deprepcated dynamic exception specifications 2017-01-04 10:32:21 +01:00
Max Kellermann 5900253b85 update copyright year 2017-01-03 20:48:59 +01:00
Max Kellermann 52652cb609 command/{Player,Error}: extract messages from nested exceptions 2016-12-29 14:46:13 +01:00