|
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