diff options
Diffstat (limited to 'src/Language/Fiddle/Compiler/ConsistencyCheck.hs')
-rw-r--r-- | src/Language/Fiddle/Compiler/ConsistencyCheck.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Language/Fiddle/Compiler/ConsistencyCheck.hs b/src/Language/Fiddle/Compiler/ConsistencyCheck.hs index 3d95ea0..3e81153 100644 --- a/src/Language/Fiddle/Compiler/ConsistencyCheck.hs +++ b/src/Language/Fiddle/Compiler/ConsistencyCheck.hs @@ -78,6 +78,8 @@ deriving instance AdvanceStage S PackageBody deriving instance AdvanceStage S FiddleDecl +deriving instance AdvanceStage S (ConstExpression u) + instance AdvanceStage S FiddleUnit where advanceStage () fu@(FiddleUnit _ decls a) = FiddleUnit (Present $ getUnitInterface fu) <$> mapM (advanceStage ()) decls <*> pure a @@ -256,8 +258,7 @@ advanceDecl offset = \case bitsTypeSize :: RegisterBitsTypeRef S F A -> M (N Bits) bitsTypeSize (RegisterBitsArray tr nExpr _) = do sz <- bitsTypeSize tr - n <- expressionToIntM nExpr - return (sz .*. n) + return (sz .*. trueValue nExpr) bitsTypeSize RegisterBitsReference { bitsRefQualificationMetadata = |