$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r69352 - sandbox/variadic_templates
From: cppljevans_at_[hidden]
Date: 2011-02-27 16:33:22
Author: cppljevans
Date: 2011-02-27 16:33:20 EST (Sun, 27 Feb 2011)
New Revision: 69352
URL: http://svn.boost.org/trac/boost/changeset/69352
Log:
Describe compiler requirements, esp. the need for:
  -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
Text files modified: 
   sandbox/variadic_templates/README.compiler_requirements.txt |    58 +++++++++++++++++++++++++++++---------- 
   1 files changed, 43 insertions(+), 15 deletions(-)
Modified: sandbox/variadic_templates/README.compiler_requirements.txt
==============================================================================
--- sandbox/variadic_templates/README.compiler_requirements.txt	(original)
+++ sandbox/variadic_templates/README.compiler_requirements.txt	2011-02-27 16:33:20 EST (Sun, 27 Feb 2011)
@@ -1,16 +1,44 @@
-The tests in libs/composite_storage/sandbox/pack were compiled and run
-with:
- 
-ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100408/gcc-g++-4.5-20100408.tar.bz2
-
-An earlier version:
-
-ftp://gcc.gnu.org/pub/gcc/snapshots/4.4-20090630/gcc-4.4-20090630.tar.bz2
-
-failed to compile one test and gave error message:
-
-one_of_multiple_dispatch.test.cpp:371:   instantiated from here
-../../../../boost/composite_storage/pack/multiple_dispatch/replace_source_with_target_ptr.hpp:84:
-error: incompatible types in assignment of '<brace-enclosed
-initializer list>' to 'void* [2]'
+As of Date=2011-02-27:
 
+  There's two compilers, that I(Larry Evans) know of that can compiler
+  variadic templates.  The first is gcc.  Recently (2011 Jan), clang
+  has been able to compile variadic templates; however, it still has
+  some problems, unrelated to variadic templates, on linux:
+  
+    http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013533.html
+    
+  For g++, only later versions (>= g++4.5) will work:
+  
+    The tests in libs/composite_storage/sandbox/pack were compiled and
+    run with:
+     
+    ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100408/gcc-g++-4.5-20100408.tar.bz2
+    
+    An earlier version:
+    
+    ftp://gcc.gnu.org/pub/gcc/snapshots/4.4-20090630/gcc-4.4-20090630.tar.bz2
+    
+    failed to compile one test and gave error message:
+    
+    one_of_multiple_dispatch.test.cpp:371: instantiated from here
+    ../../../../boost/composite_storage/pack/multiple_dispatch/replace_source_with_target_ptr.hpp:84:
+    error: incompatible types in assignment of '<brace-enclosed
+    initializer list>' to 'void* [2]'
+    
+  In addition, the compiler needs to be called with the:
+  
+   -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+   
+  option.  This is because, otherwise, compilation of files such as:
+  
+    http://svn.boost.org/svn/boost/sandbox/variadic_templates/libs/composite_storage/sandbox/pack/predator_prey.cpp
+    
+  will result in errors, such as:
+  
+/home/evansl/prog_dev/boost-svn/ro/boost_1_46_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp:50:22: error: expected nested-name-specifier before 'apply_wrap5'
+/home/evansl/prog_dev/boost-svn/ro/boost_1_46_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp:50:22: error: expected ';' at end of member declaration
+/home/evansl/prog_dev/boost-svn/ro/boost_1_46_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp:50:33: error: expected unqualified-id before '<' token
+/home/evansl/prog_dev/boost-svn/ro/boost_1_46_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp:61:22: error: expected nested-name-specifier before 'apply_wrap5'
+/  
+  
+