Copyright | (C) 2024 Martijn Bastiaan |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
Safe Haskell | None |
Language | Haskell2010 |
Utilities to detect and report GHC / operating system combinations that are known to be buggy.
Synopsis
- fullCompilerVersion :: Version
- os :: OS
- data BrokenOn
- data GhcVersion = Ghc {}
- data GhcRange = GhcRange {
- from :: GhcVersion
- to :: GhcVersion
- ghcInRange :: GhcVersion -> GhcRange -> Bool
- ghcMajor :: Int -> Int -> GhcRange
- data Why = Why {}
- ghcVersion :: GhcVersion
- whyPp :: Why -> String
- brokenGhcs :: [Why]
- matchOs :: BrokenOn -> Bool
- matchBroken :: (BrokenOn, GhcRange) -> Bool
- broken :: Maybe Why
- assertWorking :: IO ()
Documentation
data GhcVersion Source #
Instances
Eq GhcVersion Source # | |
Defined in Clash.Driver.BrokenGhcs (==) :: GhcVersion -> GhcVersion -> Bool Source # (/=) :: GhcVersion -> GhcVersion -> Bool Source # | |
Ord GhcVersion Source # | |
Defined in Clash.Driver.BrokenGhcs compare :: GhcVersion -> GhcVersion -> Ordering Source # (<) :: GhcVersion -> GhcVersion -> Bool Source # (<=) :: GhcVersion -> GhcVersion -> Bool Source # (>) :: GhcVersion -> GhcVersion -> Bool Source # (>=) :: GhcVersion -> GhcVersion -> Bool Source # max :: GhcVersion -> GhcVersion -> GhcVersion Source # min :: GhcVersion -> GhcVersion -> GhcVersion Source # |
GhcRange | |
|
ghcInRange :: GhcVersion -> GhcRange -> Bool Source #
Check if a GhcVersion
is within a GhcRange
ghcMajor :: Int -> Int -> GhcRange Source #
Construct a range of all GHC versions matching a major version
ghcVersion :: GhcVersion Source #
Get current GHC version expressed as a triple. It probably does something non-sensible on unreleased GHCs.
brokenGhcs :: [Why] Source #
Which GHCs are broken and why
matchBroken :: (BrokenOn, GhcRange) -> Bool Source #
Given a BrokenOn
and GhcVersion
, determine whether it matches current OS and GHC
assertWorking :: IO () Source #
Throw an error if current OS / GHC version is known to be buggy