summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2020-01-02 19:48:00 -0800
committerTodd Gamblin <tgamblin@llnl.gov>2020-11-17 10:04:13 -0800
commite31be3da565dd353cdb75db195c047ab154a8b56 (patch)
tree5e1e950e564856ed1cd0f73276c12d92d3874818 /lib
parent04295f6531ead1ffbbb12431adf975affc872962 (diff)
downloadspack-e31be3da565dd353cdb75db195c047ab154a8b56.tar.gz
spack-e31be3da565dd353cdb75db195c047ab154a8b56.tar.bz2
spack-e31be3da565dd353cdb75db195c047ab154a8b56.tar.xz
spack-e31be3da565dd353cdb75db195c047ab154a8b56.zip
concretizer bugfix: *at most* one provider for any virtual
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/solver/concretize.lp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp
index e2de60b887..817c529082 100644
--- a/lib/spack/spack/solver/concretize.lp
+++ b/lib/spack/spack/solver/concretize.lp
@@ -33,9 +33,9 @@ depends_on(P, D, T) :- declared_dependency(P, D, T), not virtual(D), node(P).
1 { depends_on(P, Q, T) : provides_virtual(Q, V) } 1
:- declared_dependency(P, V, T), virtual(V), node(P).
-% for any virtual, there can only be one node providing it in the DAG
+% for any virtual, there can be at most one provider in the DAG
provider(P, V) :- node(P), provides_virtual(P, V).
-1 { provider(P, V) : node(P) } 1 :- virtual(V).
+0 { provider(P, V) : node(P) } 1 :- virtual(V).
% give dependents the virtuals they want
provider_weight(D, N)