summaryrefslogtreecommitdiff
path: root/boost
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-07-23 16:07:11 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-07-23 16:07:11 +0100
commitb8b792babfa63ce2f59104117c961e96d8e265a7 (patch)
tree6cd40719cbc758942591433a290be86c3a1e75da /boost
parenta1cb33edbbb03bbb5f856d8c180b8ad97bd708b0 (diff)
Related: boost#4127 strict-aliasing rules warning
Change-Id: I9b4f9009c29276054ff94a427adf51c2094377b5
Diffstat (limited to 'boost')
-rw-r--r--boost/boost.4127.warnings.patch19
-rw-r--r--boost/makefile.mk2
2 files changed, 21 insertions, 0 deletions
diff --git a/boost/boost.4127.warnings.patch b/boost/boost.4127.warnings.patch
new file mode 100644
index 000000000000..11a955fd301a
--- /dev/null
+++ b/boost/boost.4127.warnings.patch
@@ -0,0 +1,19 @@
+--- misc/boost_1_44_0/boost/smart_ptr/make_shared.hpp (revision 69250)
++++ misc/build/boost_1_44_0/boost/smart_ptr/make_shared.hpp (revision 69251)
+@@ -50,5 +50,16 @@
+ if( initialized_ )
+ {
++#if defined( __GNUC__ )
++
++ // fixes incorrect aliasing warning
++ T * p = reinterpret_cast< T* >( storage_.data_ );
++ p->~T();
++
++#else
++
+ reinterpret_cast< T* >( storage_.data_ )->~T();
++
++#endif
++
+ initialized_ = false;
+ }
diff --git a/boost/makefile.mk b/boost/makefile.mk
index e223ddf63c68..5ce795f1e7fe 100644
--- a/boost/makefile.mk
+++ b/boost/makefile.mk
@@ -53,6 +53,8 @@ TARFILE_MD5=f02578f5218f217a9f20e9c30e119c6a
PATCH_FILES=$(TARFILE_NAME).patch
#https://svn.boost.org/trac/boost/ticket/3780
PATCH_FILES+=boost.3780.aliasing.patch
+#https://svn.boost.org/trac/boost/ticket/4127
+PATCH_FILES+=boost.4127.warnings.patch
#https://svn.boost.org/trac/boost/ticket/4713
PATCH_FILES+=boost.4713.warnings.patch
#https://svn.boost.org/trac/boost/ticket/5119