From 5d9d5ceb7f47aef8dce5bc2e48a0dc8e88583c4c Mon Sep 17 00:00:00 2001 From: Steven Watanabe Date: Tue, 16 Apr 2013 00:14:37 +0000 Subject: [PATCH] Tweak type.is-derived. [SVN r83922] --- src/build/type.jam | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/build/type.jam b/src/build/type.jam index 4c2c30862..e8cc44ebb 100644 --- a/src/build/type.jam +++ b/src/build/type.jam @@ -53,6 +53,7 @@ rule register ( type : suffixes * : base-type ? ) .types += $(type) ; .base.$(type) = $(base-type) ; .derived.$(base-type) += $(type) ; + .bases.$(type) = $(type) $(.bases.$(base-type)) ; # Store suffixes for generated targets. .suffixes.$(type) = [ new property-map ] ; @@ -192,13 +193,7 @@ rule base ( type ) # rule all-bases ( type ) { - local result = $(type) ; - while $(type) - { - type = [ base $(type) ] ; - result += $(type) ; - } - return $(result) ; + return $(.bases.$(type)) ; } @@ -221,7 +216,7 @@ rule all-derived ( type ) # rule is-derived ( type base ) { - if $(base) in [ all-bases $(type) ] + if $(base) in $(.bases.$(type)) { return true ; }