From 8f9a7966b126d76e53717b04d9d821ac3ae289d9 Mon Sep 17 00:00:00 2001
From: Christian Gram Kalhauge <chrg@dtu.dk>
Date: Wed, 7 Feb 2024 03:04:31 +0100
Subject: [PATCH] This wierdly works.

---
 bin/rtree-c/ReduceC.hs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/bin/rtree-c/ReduceC.hs b/bin/rtree-c/ReduceC.hs
index 6ba2a10..778e8c0 100644
--- a/bin/rtree-c/ReduceC.hs
+++ b/bin/rtree-c/ReduceC.hs
@@ -91,6 +91,15 @@ instance CReducible C.CDeclaration where
                 pure $ C.CDeclarationItem d Nothing Nothing
           a -> error (show a)
       pure (C.CDecl spc decl' ni)
+    C.CDecl spc@[C.CTypeSpec (C.CTypeDef i ni')] decl ni -> do
+      x <- gets (Map.lookup i)
+      case x of
+        Just (Type rst) -> do
+          decl' <- collectNonEmpty' (reduceCDeclarationItem $ identifiers rst) decl
+          pure $ C.CDecl rst decl' ni
+        Nothing -> do
+          decl' <- collectNonEmpty' (reduceCDeclarationItem $ identifiers spc) decl
+          pure $ C.CDecl spc decl' ni
     C.CDecl spc decl ni -> do
       decl' <- collectNonEmpty' (reduceCDeclarationItem $ identifiers spc) decl
       pure $ C.CDecl spc decl' ni
-- 
GitLab