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