$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r83822 - trunk/tools/build/v2/build
From: steven_at_[hidden]
Date: 2013-04-09 16:08:22
Author: steven_watanabe
Date: 2013-04-09 16:08:22 EDT (Tue, 09 Apr 2013)
New Revision: 83822
URL: http://svn.boost.org/trac/boost/changeset/83822
Log:
Don't auto-grist the argument in feature.attributes.  This function is hot and it hurts performance.
Text files modified: 
   trunk/tools/build/v2/build/build-request.jam |     2 +-                                      
   trunk/tools/build/v2/build/feature.jam       |     3 +--                                     
   2 files changed, 2 insertions(+), 3 deletions(-)
Modified: trunk/tools/build/v2/build/build-request.jam
==============================================================================
--- trunk/tools/build/v2/build/build-request.jam	(original)
+++ trunk/tools/build/v2/build/build-request.jam	2013-04-09 16:08:22 EDT (Tue, 09 Apr 2013)
@@ -194,7 +194,7 @@
             lresult = [ regex.split $(p) "," ] ;
         }
 
-        if $(feature) && free in [ feature.attributes $(feature) ]
+        if $(feature) && free in [ feature.attributes <$(feature)> ]
         {
             # If we have free feature, then the value is everything
             # until the end of the command line token. Slashes in
Modified: trunk/tools/build/v2/build/feature.jam
==============================================================================
--- trunk/tools/build/v2/build/feature.jam	(original)
+++ trunk/tools/build/v2/build/feature.jam	2013-04-09 16:08:22 EDT (Tue, 09 Apr 2013)
@@ -223,7 +223,7 @@
 #
 rule attributes ( feature )
 {
-    return $($(:E=:G=$(feature)).attributes) ;
+    return $($(feature).attributes) ;
 }
 
 
@@ -1232,7 +1232,6 @@
     subfeature fu : subfu2 : q r s ;
 
     assert.result optional : attributes <fu> ;
-    assert.result optional : attributes fu ;
 
     assert.result <runtime-link>static <define>foobar <optimization>on
         <toolset>gcc:<define>FOO <toolset>gcc <variant>debug <stdlib>native