summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--goal.fiddle8
-rw-r--r--src/Language/Fiddle/Compiler/ConsistencyCheck.hs2
2 files changed, 8 insertions, 2 deletions
diff --git a/goal.fiddle b/goal.fiddle
index bf170ed..ed90ad3 100644
--- a/goal.fiddle
+++ b/goal.fiddle
@@ -251,7 +251,13 @@ package stm32l4.gpio {
asc_r : (16);
[[ export_as = "ascr_upper" ]]
- reserved (16);
+ union {
+ reserved (16);
+ struct {
+ reserved (8);
+ wo upper_8 : (8);
+ };
+ };
};
};
diff --git a/src/Language/Fiddle/Compiler/ConsistencyCheck.hs b/src/Language/Fiddle/Compiler/ConsistencyCheck.hs
index c34007f..f85d9d4 100644
--- a/src/Language/Fiddle/Compiler/ConsistencyCheck.hs
+++ b/src/Language/Fiddle/Compiler/ConsistencyCheck.hs
@@ -258,7 +258,7 @@ advanceRegisterBody
Union {} -> do
checkJagged decls'
return $ maximum (map fst decls')
- Struct {} -> return structSize
+ Struct {} -> return (structSize - startOffset)
return (calcSize, RegisterBodyPattern us (map snd $ toList decls') a b)