Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71983 - sandbox/function/boost/function
From: dsaritz_at_[hidden]
Date: 2011-05-16 11:28:10


Author: psiha
Date: 2011-05-16 11:28:10 EDT (Mon, 16 May 2011)
New Revision: 71983
URL: http://svn.boost.org/trac/boost/changeset/71983

Log:
Temporarily commented out the usage of the restrict keyword after compilation-failure reports with MinGW GCC 4.5.1...
Text files modified:
   sandbox/function/boost/function/function_base.hpp | 16 +++++++++++-----
   1 files changed, 11 insertions(+), 5 deletions(-)

Modified: sandbox/function/boost/function/function_base.hpp
==============================================================================
--- sandbox/function/boost/function/function_base.hpp (original)
+++ sandbox/function/boost/function/function_base.hpp 2011-05-16 11:28:10 EDT (Mon, 16 May 2011)
@@ -7,7 +7,7 @@
 ///
 /// Copyright (c) Douglas Gregor 2001-2006
 /// Copyright (c) Emil Dotchevski 2007
-/// Copyright (c) Domagoj Saric 2010
+/// Copyright (c) Domagoj Saric 2010-2011
 ///
 /// Use, modification and distribution is subject to the Boost Software
 /// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -304,11 +304,17 @@
        */
 
       // http://msdn.microsoft.com/en-us/library/5ft82fed(VS.80).aspx (ad unions)
-
+ //...zzz...G++4.5.1/MinGW is reported to fail because of invalid use of
+ //...zzz...restrict for function pointers and because of converting a
+ //...zzz...restrict-qualified pointer to a non-restrict-qualified when
+ //...zzz...returning from a function (manager_ptr::functor_ptr)...
+ //...zzz...unable to reproduce this with GCC (4.0, 4.2, 4.5.3, 4.6.0) or
+ //...zzz...Clang on OS X...commenting out until investigated and
+ //...zzz...resolved...
       union function_buffer
       {
         // For pointers to function objects
- void * BF_POINTER_RESTRICT obj_ptr;
+ void * /*BF_POINTER_RESTRICT*/ obj_ptr;
 
         // For 'trivial' function objects (that can be managed without type
         // information) that must be allocated on the heap (we must only save
@@ -320,12 +326,12 @@
         } trivial_heap_obj;
 
         // For function pointers of all kinds
- void (* BF_POINTER_RESTRICT func_ptr)();
+ void (* /*BF_POINTER_RESTRICT*/ func_ptr)();
 
         // For bound member pointers
         struct bound_memfunc_ptr_t {
           class X;
- void (X::* BF_POINTER_RESTRICT memfunc_ptr)(int);
+ void (X::* /*BF_POINTER_RESTRICT*/ memfunc_ptr)(int);
           void * obj_ptr;
         } bound_memfunc_ptr;
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk