From 1cde2bd9590aa5ecdaed9ef026ec8acf7d2897fc Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Mon, 2 Feb 2009 18:26:12 +0000 Subject: [PATCH] Added a few useful error messages in the C backend --- backends/GenerateC.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index 125d421..5d70d44 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -594,7 +594,9 @@ cgenLiteralRepr (A.ArrayListLiteral m aes) (A.Array {}) = genLeftB >> call genArrayLiteralElems aes >> genRightB cgenLiteralRepr (A.ArrayListLiteral _ es) t@(A.List {}) = call genListLiteral es t - +cgenLiteralRepr (A.ArrayListLiteral m _) t + = diePC m $ formatCode "Unknown type for array/list literal: %" t + -- | Generate an expression inside a record literal. -- -- This is awkward: the sort of literal that this produces when there's a @@ -649,6 +651,7 @@ cgenArrayLiteralElems :: A.Structured A.Expression -> CGen () cgenArrayLiteralElems (A.Only _ e) = call genUnfoldedExpression e cgenArrayLiteralElems (A.Several _ aes) = seqComma $ map cgenArrayLiteralElems aes +cgenArrayLiteralElems x = call genMissingC $ formatCode "Missing cgenArrayLiteralElems for %" x genByteLiteral :: Meta -> String -> CGen () genByteLiteral m s