[C++-sig] boost/python 1.33.1 breaks aliasing rules (original) (raw)

Philipp Thomas pth at suse.de
Wed Dec 7 17:16:28 CET 2005


I'll do a patch that changes all affected places

And here is the patch I'm going to be using for SUSE Linux:

--- libs/python/src/dict.cpp +++ libs/python/src/dict.cpp @@ -28,9 +28,9 @@

detail::new_reference dict_base::call(object const& arg_) {

}

dict_base::dict_base() --- libs/python/src/list.cpp +++ libs/python/src/list.cpp @@ -9,10 +9,11 @@

detail::new_non_null_reference list_base::call(object const& arg_) {

}

--- libs/python/src/long.cpp +++ libs/python/src/long.cpp @@ -8,24 +8,25 @@

new_non_null_reference long_base::call(object const& arg_) {

}

new_non_null_reference long_base::call(object const& arg_, object const& base) {

}

long_base::long_base()

-{} +{

long_base::long_base(object_cref arg) : object(long_base::call(arg)) --- libs/python/src/object/class.cpp +++ libs/python/src/object/class.cpp @@ -538,9 +538,11 @@ void class_base::add_property( char const* name, object const& fget, char const* docstr) {

@@ -548,9 +550,11 @@ void class_base::add_property( char const* name, object const& fget, object const& fset, char const* docstr) {

--- libs/python/src/str.cpp +++ libs/python/src/str.cpp @@ -8,9 +8,10 @@

detail::new_reference str_base::call(object const& arg_) {

}

str_base::str_base() --- libs/python/src/tuple.cpp +++ libs/python/src/tuple.cpp @@ -8,9 +8,10 @@

detail::new_reference tuple_base::call(object const& arg_) {

}

tuple_base::tuple_base()

-- Anything whose specification is too complicated to explain easily probably needs to be redesigned. David Abrahams on boost



More information about the Cplusplus-sig mailing list