Andrey Semashev
87489a4346
Fixed inconsistent linkage specification on MSVC. Code cleanup.
...
cc32906071 introduced inconsistent
BOOST_UTF8_DECL markup between function declarations and definitions,
which caused MSVC build errors. This commit fixes this.
Also, replaced unneeded BOOST_UTF8_DECL markup with inline for functions
that are only used internally. Made get_cont_octet_out_count static.
Additionally, removed duplicate octet1_modifier_table definitions
and moved it to a function-local static.
Whitespace and formatting cleanup.
Closes https://github.com/boostorg/filesystem/issues/204 .
2021-08-18 00:47:12 +03:00
Robert Ramey
db4c8248c0
Merge commit 'a01fe6d57b906edf0400daebfb5ea88bb4582f44' into develop
...
* commit 'a01fe6d57b906edf0400daebfb5ea88bb4582f44':
Update CMakeLists.txt
Fixed out-of-bounds access in utf8_codecvt_facet::do_length.
Update maintainer list
Disabled libstdc++ debug mode to work around gcc 10.1 bug.
Added a workaround for removed nested typedefs in std::allocator.
Added a workaround for C++20 ostream having deleted operator<< for wchar_t.
Added gcc 10 build jobs to Travis CI.
Use more up-to-date location of lightweight_test.hpp
Converted binary_search_test to lightweight_test.hpp
Converted allocator_utilities_test to lightweight_test.hpp
Converted blank_test to lightweight_test.hpp.
Removed use of deprecated header boost/detail/iterator.hpp.
Reordered includes.
Added boost/config.hpp.
Changed because config.hpp is not being included
Added clang-10 jobs to Travis CI.
Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
Disabled OS X builds because they are slow on Travis CI.
Updated CI configs, added compilers.
2021-08-14 11:08:29 -07:00
Robert Ramey
cc32906071
adjustments to visibiity
2021-08-14 11:08:14 -07:00
Andrey Semashev
131208d8cc
Fixed out-of-bounds access in utf8_codecvt_facet::do_length.
...
The loop in do_length used to dereference from_end pointer, which
could point to an out-of-bounds memory. Rewritten the loop to
avoid this and also make the logic a bit more clear.
Closes https://github.com/boostorg/detail/pull/21 .
2021-03-17 14:12:36 +03:00
Andrey Semashev
63f2e170cb
Removed use of deprecated header boost/detail/iterator.hpp.
2020-05-10 23:14:19 +03:00
Andrey Semashev
c281caa89f
Reordered includes.
2020-05-06 20:31:14 +03:00
Edward Diener
f5bb480082
Added boost/config.hpp.
2020-05-06 13:16:18 -04:00
Edward Diener
3b9267be46
Changed because config.hpp is not being included
2020-05-06 11:15:57 -04:00
Edward Diener
116cc18560
Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
2020-03-23 09:35:45 -04:00
Marcel Raad
1e5a4ad35e
Fix -Wextra-semi clang warnings
...
Remove superfluous semicola.
2019-02-25 10:19:45 +01:00
Peter Dimov
b29edf18cb
Move ~utf_codecvt_facet to .ipp file to try to fix visibility issues
2018-09-17 21:46:12 +03:00
Daniel James
83d7ee837d
Remove use of BOOST_MPL_AUX_LAMBDA_SUPPORT
...
It's only need when compilers don't support template template parameters or
partial specialization. I don't think there are any such compilers in use.
2018-04-08 20:57:32 +01:00
Daniel James
3fc08cca25
Stop using mpl::void_ in reference_content
2018-04-08 20:57:31 +01:00
Daniel James
abfaa1443a
Use type traits bool type in reference_content
2018-04-08 20:57:31 +01:00
Daniel James
121cbef225
Use true_type/false_type from type traits in is_xxx.hpp
2018-04-08 20:57:31 +01:00
Daniel James
be57f3c000
Remove mpl dependency from allocator_utilities.hpp
2018-04-08 20:57:31 +01:00
Daniel James
941fff4dc0
Stop using mpl binary logic classes in indirect_traits
...
Was going to use the ice_* classes from type traits, but they're deprecated.
2018-04-08 20:57:07 +01:00
Daniel James
6172f9a30e
Use type traits' true type in boost::blank
2018-04-08 20:55:53 +01:00
Andrey Semashev
824721a753
Trim trailing spaces.
2018-01-01 15:52:37 +03:00
Daniela Engert
1631ba8134
Most members of std::allocate are deprecated in C++17
...
Replace them by their cousins from std::allocator_traits.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-12-30 18:15:56 +01:00
Andrey Semashev
cf6808b26f
Swapped the standard and non-standard overrides for do_length.
2017-10-29 19:31:28 +03:00
Andrey Semashev
aee87734a8
Fixed do_length virtual override.
...
Fixed a bug introduced by b47fccb4a4 , which
commented the correct virtual function override and thus broke length() result.
2017-10-29 19:27:04 +03:00
Robert Ramey
b47fccb4a4
adjusted visibility to permit passing of tests on mingw for serialization library
2017-10-22 11:22:45 -07:00
Andrey Semashev
15d8f9a59c
Actualized numeric_traits implementation.
...
1. Ported to Boost.TypeTraits primitives for type inspection and simple
metaprogramming instead of local implementations. This effectively
drops any workarounds for compilers without support for partial template
specializations. Such compilers are long outdated.
2. Include more fine-grained headers from Boost.TypeTraits to optimize
compilation times.
3. Made numeric_distance function constexpr.
4. Updated the test accordingly (i.e. replaced the use of now removed local
components with Boost.TypeTraits). Also replaced lexical_cast with
standard streams to further reduce dependencies.
None of these changes should affect functionality.
2017-09-20 02:01:51 +03:00
Beman
ce79a887c4
Add BOOST_CONSTEXPR where required by C++ Std [bitmark.types].
...
Add operator! and function bitmask_set as Boost extensions.
2017-08-28 07:32:08 -04:00
Beman
782208b04d
Revert "adjustment to avoid linking problem: vtable not found found for ~utf8_codecvt_facet.hpp"
...
This reverts commit 73c12230c3 .
Reverted because the change broke GCC/MinGW builds of Filesystem.
2017-08-28 07:27:30 -04:00
Robert Ramey
73c12230c3
adjustment to avoid linking problem: vtable not found found for ~utf8_codecvt_facet.hpp
2017-08-13 15:11:17 -07:00
Andrey Semashev
94f1e6b0c6
Fixed length calculation and added a test.
2016-08-07 23:35:04 +03:00
Robert Ramey
10f1da5034
corrected usage of visibility macro with inline function
2016-06-09 11:00:30 -07:00
Robert Ramey
e9c548eeb5
correction in visibility for utf8 facet
2016-04-15 09:42:19 -07:00
Robert Ramey
11a9234e13
re-correct visibility macro for utf8-codecvt
2016-03-28 14:43:26 -07:00
Robert Ramey
313c13b263
Added test for utf8_codecvt
2016-03-28 10:29:57 -07:00
Robert Ramey
99f7f4042f
Revert "change visibility setting to import/export from visibility"
...
This reverts commit bda87dd74e .
2016-03-23 09:34:48 -07:00
Robert Ramey
bda87dd74e
change visibility setting to import/export from visibility
2016-03-20 23:16:13 -07:00
Robert Ramey
fbf832c900
make utf8 visible
2016-02-26 17:58:54 -08:00
Robert Ramey
32b98c7586
correct usage of visibility macro for MSVC
2015-10-23 15:12:36 -07:00
Robert Ramey
9fcf2ae390
update visibility attributes
2015-10-20 12:00:27 -07:00
Andrey Semashev
b0a2809915
Corrected indents, removed trailing spaces.
2015-04-02 18:36:26 +03:00
Edward Diener
fbc7c23ab1
Remove dependency on deprecated type_trait headers
2015-04-01 12:16:29 -04:00
Edward Diener
3dde52aaa3
Corrected is_postfix_incrementable implementation
2015-03-31 21:04:47 -04:00
Edward Diener
f24860d28c
Remove unneeded header file inclusion for deprecated type_traits header.
2015-03-30 02:23:13 -04:00
Beman
fcaf168000
Initial commit if lightweight_test_report.hpp, aimed at making it easier for users to supply sample programs in bug reports. First use will be in filesystem.
2014-12-28 09:06:33 -05:00
Robert Ramey
1fef8494fe
eliminated MACRO for do length by providing both const and non-const versions
2014-12-12 21:28:21 -08:00
Beman
26cf086520
Fix #10354 from Juan Alday. As he pointed out, the declaration (in detail/utf8_codecvt_facet.hpp) and definition (in detail/utf8_codecvt_facet.ipp) need to use the same signature. Reapply Marshall Clow's [SVN r81616] and [SVN r81877] from November and December, 2012, as these appear to correctly supply const for the msvc/dinkumware library (since fixed) that used a do_length() first argument. Revert the portion of [SVN r86722] that removed BOOST_CODECVT_DO_LENGTH_CONST from the do_length() signature in utf8_codecvt_facet.ipp so that it stays in sync with utf8_codecvt_facet.hpp. For the same reason, copy the __IBMCPP__ workaround from utf8_codecvt_facet.ipp to utf8_codecvt_facet.hpp. Verified all libraries (filesystem, log, program_options, property_tree, serialization) that use utf8_codecvt_facet passed all tests before, and then after, these changes. Also applied minor edits to the use comments embedded in utf8_codecvt_facet.hpp.
2014-09-03 17:43:39 -04:00
Beman
5ef03bffe3
Move get_cont_octet_out_count_impl from unnamed namespace to namespace detail. Workaround for unnamed namespace symbols having external linkage prior to C++11, which causes duplicate symbol errors in libraries (for example filesystem) that link in multiple object files (differing only in namespaces) built from the same source file, allowing two versions to exist side-by-side in the same lib or dll.
2014-09-01 07:29:57 -04:00
Andrey Semashev
275643c97b
Removed trailing spaces.
2014-06-13 01:14:22 +04:00
Andrey Semashev
509c2421e3
Added a workaround for MinGW-32 so that fenv.h actually gets included.
2014-06-13 00:29:39 +04:00
Andrey Semashev
e87cff715b
The header was moved to winapi module.
2014-06-09 20:48:39 +04:00
Peter Dimov
3e560e9927
Remove obsolete boost/pending/cstddef.hpp.
2014-06-08 01:39:33 +03:00
Peter Dimov
1dc95cb4cb
Remove boost/pending/integer_log2.hpp, moved to integer.
2014-06-06 04:28:06 +03:00