diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2020-01-03 17:32:30 -0800 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2020-11-17 10:04:13 -0800 |
commit | 71726a9b3392c3ca5f2dd8745d770dc3d0a238e6 (patch) | |
tree | ed3b9468c5c508e7cc094b0c34eee21a6447caec /lib | |
parent | 309ae856ab8c894b4635a07efb31c7643df1e91f (diff) | |
download | spack-71726a9b3392c3ca5f2dd8745d770dc3d0a238e6.tar.gz spack-71726a9b3392c3ca5f2dd8745d770dc3d0a238e6.tar.bz2 spack-71726a9b3392c3ca5f2dd8745d770dc3d0a238e6.tar.xz spack-71726a9b3392c3ca5f2dd8745d770dc3d0a238e6.zip |
concretizer bugfix: require at least one value for multi-value variants
We didn't have a cardinality constraint for multi-valued variants, so the
solver wasn't filling them in.
- [x] add a requirement for at least one value for multi-valued variants
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/solver/concretize.lp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 817c529082..6f5b584dfa 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -78,6 +78,10 @@ node(D) :- node(P), depends_on(P, D). 1 { variant_value(P, V, X) : variant_possible_value(P, V, X) } 1 :- node(P), variant(P, V), variant_single_value(P, V). +% at least one variant value for multi-valued variants. +1 { variant_value(P, V, X) : variant_possible_value(P, V, X) } + :- node(P), variant(P, V), not variant_single_value(P, V). + % if a variant is set to anything, it is considered 'set'. variant_set(P, V) :- variant_set(P, V, _). |