diff options
Diffstat (limited to 'src/Language/Fiddle/Compiler/Backend')
-rw-r--r-- | src/Language/Fiddle/Compiler/Backend/C.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Language/Fiddle/Compiler/Backend/C.hs b/src/Language/Fiddle/Compiler/Backend/C.hs index 77eadf6..e9989a0 100644 --- a/src/Language/Fiddle/Compiler/Backend/C.hs +++ b/src/Language/Fiddle/Compiler/Backend/C.hs @@ -396,22 +396,22 @@ writeBitsGet structName regmeta fullPath offset typeRef docComms = do (\a b -> if b == 1 then a else a <> " * " <> s b) (tail setterArgumentNames) (snd $ offsetCoefficients typeRef) - ++ [s offset | offset /= 0] unless (null shiftArguments) $ text ", " - text $ Text.intercalate ", " $ zipWith (\f _ -> "int " <> f) (tail setterArgumentNames) shiftArguments + text $ Text.intercalate ", " $ + zipWith (\f _ -> "int " <> f) (tail setterArgumentNames) shiftArguments text ") {\n" withIndent $ do if null shiftArguments then do - text $ regCType <> " shift_ = 0" + text $ regCType <> " shift_ = " <> s offset else do text $ regCType <> " shift_ = " - text $ Text.intercalate " + " shiftArguments + text $ Text.intercalate " + " (shiftArguments ++ [s offset | offset /= 0]) text ";\n" text $ regCType <> " mask_ = " |