Commit Graph

401 Commits

Author SHA1 Message Date
Ion Gaztañaga
90e39b62bc Merge branch 'develop' of https://github.com/justinbrewer/interprocess into justinbrewer-develop 2016-11-13 00:42:07 +01:00
Ion Gaztañaga
b860e7c255 Avoid GCC address sanitizer errors with incorrect vbptr in constructor 2016-11-12 23:55:57 +01:00
Ion Gaztañaga
3e216dd481 Avoid reference to null errors in sanitizers 2016-11-12 23:55:20 +01:00
Ion Gaztañaga
622bc616d3 Some old shmat implementation take the address as a non-const void pointer so uncast it to make code portable. 2016-11-12 19:18:27 +01:00
Ion Gaztañaga
3d9318aace Disable forceinline for older compilers due to bugs 2016-11-12 19:18:02 +01:00
Justin Brewer
5d42ab216e Add xsi_key(key_t) constructor 2016-11-05 02:14:11 -04:00
Ion Gaztañaga
446d4cdf37 Fix variadic indexes from int to std::size_t. 2016-08-23 02:16:26 +02:00
Ion Gaztañaga
8253c1b0ad Use boost::is_convertible instead of the old implementation, as MSVC compilers can have odd compilation errors with is_convertible. 2016-08-09 22:34:14 +02:00
Ion Gaztañaga
941d4488b8 Silence windows header warnings for old GCC compilers marking it as a system header 2016-06-29 14:46:21 +02:00
Sebastian Theophil
b281e9557b Fix undefined behavior
managed_open_or_create_impl::priv_open_or_create calls
construct_func.get_min_size() before construct_func::operator().

The implementation of create_open_func::get_min_size called the static
function segment_manager::get_min_size() by making a member function
call on m_frontend->get_segment_manager() which is still null at this
point.

The crashes when compiling with clang’s undefined behavior sanitizer
2016-06-28 10:30:59 +02:00
Ion Gaztañaga
6fe5f1abc6 Change -pedantic warning disabling method for GCC 6, as it does not like the previous solution. 2016-06-25 11:24:38 +02:00
Ion Gaztañaga
fe75848cb6 Merge branch 'fix_mingw' of https://github.com/pavelvat/interprocess into pavelvat-fix_mingw 2015-12-23 23:29:02 +01:00
Ion Gaztañaga
e242de82aa Replaced BOOST_FORCEINLINE with BOOST_INTERPROCESS_FORCEINLINE so it's configurable. 2015-12-23 21:42:33 +01:00
Pavel Vatagin
f2c5e598b8 Fixed case sensetive for linux mingw 2015-12-23 20:50:12 +03:00
Marshall Clow
90892fcbf9 Update gcc version check for 'diagnostic pop' 2015-12-08 11:33:16 -08:00
Marshall Clow
fe47ea6f36 Update gcc version check for 'diagnostic push' 2015-12-08 11:32:23 -08:00
Ion Gaztañaga
73b3d75cf9 - Added BOOST_FORCE_INLINE to offset_ptr function.
- Reimplemented pointer_plus_bits to correct bugs and use uintptr_t instead of std::size_t.
2015-10-17 00:26:24 +02:00
Ion Gaztañaga
e64e3b5acc Remove undefined behaviour from offset_ptr. Used uintptr_t internally and all calculations are done in unsigned integers.
Support GCC 3.4, which does not allow advanced sfinae in assignment operators.
2015-10-14 23:29:53 +02:00
Ion Gaztañaga
1374fd2d67 Removed uninitialized variable warnings in GCC 2015-10-14 22:25:00 +02:00
Ion Gaztañaga
b0cb8716cc Support GCC 3.4 on Mingw. Ifdef Wbemidl derived code, which is not supported by Mingw, extra cast in interlocked operations. 2015-10-14 22:24:27 +02:00
Ion Gaztañaga
a082f0826f Reduce date_time include dependencies. 2015-10-14 22:22:18 +02:00
Ion Gaztañaga
eab4a9bd12 New documentation macros 2015-10-14 22:21:03 +02:00
Ion Gaztañaga
01ae144003 Added pragma diagnostic for GCC warnings 2015-10-14 22:20:32 +02:00
Ion Gaztañaga
e1a659468b #undef msvc bug workaround macro after being used 2015-09-30 22:28:06 +02:00
Ion Gaztañaga
845d352287 Fixed Trac bug #11699 ("Forward declarations of std templates causes stack corruption under Visual Studio 2015") 2015-09-30 22:20:18 +02:00
Ion Gaztañaga
d4c6011831 Removed unused piecewise_construct; 2015-09-18 13:47:23 +02:00
Ion Gaztañaga
bd14ee3b0c Use newly refactored move/detail/std_fwd_xxx.hpp headers 2015-09-14 22:39:18 +02:00
Ion Gaztañaga
e352a84dd2 Fixed Trac #5139 ("Initial Stream Position in Boost.Interprocess.Vectorstream") 2015-06-24 16:18:17 +02:00
Ion Gaztañaga
5c090a64be Remove dead XSI code. 2015-06-23 22:57:33 +02:00
Ion Gaztañaga
9b5ccf2d4b Cleanup commented code in exceptions.hpp and update changelog with pull #19 2015-06-23 22:11:32 +02:00
Ion Gaztañaga
88e2e960fe Merge branch 'bugfix/exception-visibility' of https://github.com/Romain-Geissler/interprocess into Romain-Geissler-bugfix/exception-visibility 2015-06-23 22:01:25 +02:00
Ion Gaztañaga
c04a5db131 Support libc++ & gcc in std fwd declarations 2015-06-09 14:53:13 +02:00
Romain Geissler
c98d55c79f Fix exception visibility. 2015-05-18 23:58:26 +02:00
Ion Gaztañaga
5c00dab958 Try to support GCC's versioned std namespaces in forward declarations. 2015-02-26 00:37:48 +01:00
Ion Gaztañaga
09784e6201 Include boost/config.hpp before testing BOOST_HAS_PRAGMA_ONCE. 2015-02-02 16:12:21 +01:00
Ion Gaztañaga
c35b660d52 Use BOOST_NOEXCEPT AND BOOST_NOINLINE instead of cumstom macros 2015-02-01 01:01:54 +01:00
Ion Gaztañaga
25bb48435f - Rewritten posix features detection according to the first POSIX/Single Unix Specification that standardized it.
- Added macro for unnamed semaphores as OSX claims this support but returns ENOSYS, which is not very useful.
- Added macro for mapped files, as QNX does not support them.
2015-01-31 23:18:32 +01:00
Ion Gaztañaga
870d1b8e2d Avoid octal for GCc version check 2015-01-14 15:47:49 +01:00
Ion Gaztañaga
5b20f4910d Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once. 2015-01-10 12:50:47 +01:00
Ion Gaztañaga
6c8ba8d3e9 - Erased unused test and files.
- Used simplified simple_swap, nothrow and placement new
2015-01-10 11:06:24 +01:00
Ion Gaztañaga
89e02ab28c Remove Boost.Preprocessor dependency and reuse variadic tools from Container. 2015-01-08 15:39:38 +01:00
Ion Gaztañaga
a8b8eac741 More dependency reduction: Reused Boost.Move/Boost.Intrusive/Boost.Container utilities, removed some standard headers.
Removed some GCC warnings.
2015-01-07 00:56:27 +01:00
Ion Gaztañaga
256eb4e6cd Use <boost/container/detail/minimal_char_traits_header.hpp> to avoid including <string> when possible. 2015-01-04 02:33:38 +01:00
Ion Gaztañaga
37d00bc798 Compile-time dependency reduction. Update to Boost.Container changes. 2015-01-02 19:40:37 +01:00
Ion Gaztañaga
2f61f8543c Merge branch 'feature/haiku-support' of https://github.com/jessicah/interprocess into jessicah-feature/haiku-support 2014-11-22 09:18:49 +01:00
Ion Gaztañaga
366b20dfc9 Use boost::long_long_type to avoid warnings in -pedantic 2014-11-22 09:16:45 +01:00
Adrien Destugues
8fb11b021b haiku: we don't have XSI shared memory, so don't try to use it.
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2014-11-16 13:43:52 +13:00
Ion Gaztañaga
060efcfffb Put the forward declaration of _ReadWriteBarrier before the intrinsic pragma to avoid errors in some MSVC versions 2014-10-18 17:58:22 +02:00
Ion Gaztañaga
ddb2bf50c0 Add Mingw support, as _ReadWriteBarrier is a MSVC intrinsic. 2014-10-18 17:42:29 +02:00
Ion Gaztañaga
ac06eb010a Removed GCC warnings about unused parameters 2014-10-13 23:33:30 +02:00