From e516ef7eb73ae19cc07c4f1da5270783b54a17f1 Mon Sep 17 00:00:00 2001 From: Sylvain Henry Date: Tue, 12 Jan 2021 16:04:51 +0100 Subject: Hadrian: fix flavour parser Hadrian was silently using the "quick" flavour when "quick-debug" or "quick-validate" was used. This patch fixes the parser and ensures that the whole input is consumed. --- hadrian/src/Flavour.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs index a7a32ed634..ec9bfa2c5b 100644 --- a/hadrian/src/Flavour.hs +++ b/hadrian/src/Flavour.hs @@ -117,13 +117,14 @@ parseFlavour baseFlavours transformers str = parser = do base <- baseFlavour transs <- P.many flavourTrans + P.eof return $ foldr ($) base transs baseFlavour :: Parser Flavour baseFlavour = P.choice [ f <$ P.try (P.string (name f)) - | f <- baseFlavours - ] + | f <- reverse (sortOn name baseFlavours) + ] -- needed to parse e.g. "quick-debug" before "quick" flavourTrans :: Parser (Flavour -> Flavour) flavourTrans = do -- cgit v1.2.1