diff options
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r-- | lib/spack/spack/spec.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 2d097bc739..0752908a38 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -2225,7 +2225,10 @@ class Spec(object): if not spec.virtual: pkg_cls = spec.package_class pkg_variants = pkg_cls.variants - not_existing = set(spec.variants) - set(pkg_variants) + # reserved names are variants that may be set on any package + # but are not necessarily recorded by the package's class + not_existing = set(spec.variants) - ( + set(pkg_variants) | set(spack.directives.reserved_names)) if not_existing: raise UnknownVariantError(spec.name, not_existing) |