diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-10-29 17:32:36 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-10-29 17:32:36 -0600 |
commit | 99c6351a8f7c55e66c9bb7a28490100401ca39cf (patch) | |
tree | 9ac5a8814bec42e0456638c845f91a066bb925ea /src/Language/Fiddle/Compiler/Backend/C.hs | |
parent | ca115adfb3179c0fc120f6815ff1c21d53c9bfd7 (diff) | |
download | fiddle-99c6351a8f7c55e66c9bb7a28490100401ca39cf.tar.gz fiddle-99c6351a8f7c55e66c9bb7a28490100401ca39cf.tar.bz2 fiddle-99c6351a8f7c55e66c9bb7a28490100401ca39cf.zip |
Fix bug where superfluous index argument was added to getters.
Diffstat (limited to 'src/Language/Fiddle/Compiler/Backend/C.hs')
-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_ = " |