Neil Brown
32959ad3a3
Fixed a part of ArrayUsageCheck to make sure it generates valid arrays
2008-02-07 00:25:30 +00:00
Neil Brown
96c948bd6e
Simplified the setIndexVar/setIndexVar' functions and changed them to handle Modulo and Divide
2008-02-07 00:24:11 +00:00
Neil Brown
af0160e4fe
Added a test to show up a bug in handling replicator from/for values
2008-02-07 00:23:08 +00:00
Neil Brown
4cb02c4c71
Added lots more checks in ArrayUsageCheckTest that aim to produce a useful message when a usage check is failing
2008-02-06 23:55:25 +00:00
Neil Brown
74d5bc675d
Shorted the definition of generateMapping in ArrayUsageCheckTest
2008-02-06 23:55:01 +00:00
Neil Brown
4299951511
Moved the makeSize function from ArrayUsageCheck into Utils
2008-02-06 23:49:17 +00:00
Neil Brown
ba04340989
Changed the ArrayUsageCheckTest framework to give you a test failure (rather than an unhelpful Haskell error) when translateEquations fails to result in a valid array
2008-02-06 23:27:59 +00:00
Neil Brown
1ec341f671
Added another warning flag, -fwarn-incomplete-record-updates
2008-02-05 23:13:27 +00:00
Neil Brown
1fd85fbe51
Added the -fwarn-missing-signatures option and added all missing type signatures for non-test modules (and most for test modules too)
2008-02-05 23:06:03 +00:00
Neil Brown
3cb4e80749
Fixed a monomorphism restriction warning in the Unnest module
2008-02-05 22:53:37 +00:00
Neil Brown
caa0ddd2f9
Fixed a mistake in Makefile.am where one of the lines was not properly added to CompilerCommands
2008-02-05 22:47:59 +00:00
Neil Brown
673d6a4f76
Reverted a change in the PrettyShow module because I'm no longer confident about it (original behaviour definitely worked)
2008-02-05 22:39:38 +00:00
Neil Brown
445d45752d
Fixed the mode for printing out the flow-graph
2008-02-05 22:36:37 +00:00
Neil Brown
56a701551a
Added a case for the top-level AST to OrdAST
2008-02-05 22:36:12 +00:00
Neil Brown
005ee78f03
Corrected a couple of bugs in the code for generating flow-graphs for quickcheck tests
2008-02-05 22:24:18 +00:00
Neil Brown
c001455fc2
Added a check for an empty list to oneofL
2008-02-05 22:18:22 +00:00
Neil Brown
416e385017
Added labels to all the QuickCheck tests to make it easier to see which one has failed
2008-02-05 22:15:17 +00:00
Neil Brown
fa1e9a6a08
Rearranged FlowGraph and fixed the tests
...
Previously, most of the flow-graph building functions were inside the where clause of buildFlowGraph. They have been moved to the top-level (with only a few small changes to make this possible - the main one being to store the labelling functions in a reader monad, which only required changing a couple of lines) and used by an additional buildFlowGraphP function, that is now used by the tests to make them work simply. None of the new top-level functions except buildFlowGraphP are exported from FlowGraph.
2008-02-05 22:04:49 +00:00
Neil Brown
acd57d74de
Changed the A.Structured type to be parameterised
...
This patch is actually an amalgam of multiple (already large) patches. Those patches conflicted (parameterised Structured vs. changes to usage checking and FlowGraph) and encountered a nasty bug in darcs 1 involving exponential time (see http://wiki.darcs.net/DarcsWiki/ConflictsFAQ for more details). Reasoning that half an hour (of 100% CPU use) was too long to apply patches, I opted to re-record the parameterised Structured changes as this new large patch. Here are the commit messages originally used for the patches (which, as mentioned, were already large patches):
A gigantic patch switching all the non-test modules over to using parameterised A.Structured
Changed the FlowGraph module again to handle any sort of Structured you want to pass to it (mainly for testing)
A further gigantic patch changing all the tests to work with the new parameterised Structured
Fixed a nasty bug involving functions being named incorrectly inside transformInputCase
Added a hand-written instance of Data for Structured that allows us to use ext1M properly
Fixed a few warnings in the code
2008-02-05 19:40:27 +00:00
Neil Brown
6c4e7ee713
Added a few more TestLabels
2008-02-05 16:19:16 +00:00
Neil Brown
093070454b
Removed a use of the head function from PrettyShow
2008-02-05 16:19:00 +00:00
Neil Brown
1b7e0985cc
Added labels to a few tests and began writing a new one for replicated variables and modulo
2008-02-04 08:06:32 +00:00
Neil Brown
c45b82be56
Removed the setting of csVerboseLevel in TestHarness that was accidentally committed
2008-02-04 08:05:16 +00:00
Neil Brown
1074407ef9
Added the ability to neatly print out a problem as a debug message
2008-02-03 15:41:29 +00:00
Neil Brown
01c8343d7e
Simplified an expression in ArrayUsageCheck
2008-02-03 15:40:49 +00:00
Neil Brown
41194f757f
Added support for background knowledge to makeEquations in ArrayUsageCheck, and fed all the replicator bounds into it
2008-02-03 12:44:51 +00:00
Neil Brown
7d30bf612d
Moved flattenParItems up to the higher where clause in checkArrayUsage
2008-02-03 12:43:36 +00:00
Neil Brown
c81fb0670b
Added a function to gather up a common pattern in ArrayUsageCheck
2008-02-03 12:42:16 +00:00
Neil Brown
a856d39604
Moved addEq to the top-level of ArrayUsageCheck
2008-02-03 12:41:16 +00:00
Neil Brown
9c0dcb6008
Added a few more parallel usage tests
2008-02-02 18:59:20 +00:00
Neil Brown
0800fc7b87
Tweaked the formatting of an error message
2008-02-02 17:24:28 +00:00
Neil Brown
330266e682
Fixed the code for detecting if there was the same replicator at the beginning of a PAR group
2008-02-02 17:24:02 +00:00
Neil Brown
70586518df
Created a common UsageLabel type, had a first attempt at handling replicators properly, and added a flag to declarations to indicate whether they included initialisation
2008-02-02 17:08:13 +00:00
Neil Brown
60c9613549
Fixed the code so that the expressions used as replicator starts/counts are now scanned for variables
2008-02-01 14:53:18 +00:00
Neil Brown
1c480ce8d9
Added a couple more usage check tests
2008-02-01 14:50:25 +00:00
Neil Brown
1d9d47312a
Implemented handling of replicators inside PARs in the control flow-graph building
2008-02-01 14:45:02 +00:00
Neil Brown
fdb612123c
Added tests for parallel replicators in the flow-graph
2008-02-01 14:44:50 +00:00
Neil Brown
cb9aa03612
Fixed a nasty problem involving mixing the Meta tags while building the flow-graph, and added a comment about it
2008-02-01 14:34:17 +00:00
Neil Brown
30e890ef02
Corrected the bug involving replicated SEQs that are empty
2008-02-01 11:45:21 +00:00
Neil Brown
d3ad2e7af6
Added a couple more tests for empty replicated SEQs that show up a bug
2008-02-01 11:45:05 +00:00
Neil Brown
c663109378
Corrected how CASE options are handled in the flow-graph, and adjusted the accompanying tests
2008-02-01 11:34:03 +00:00
Neil Brown
2beda004b3
Corrected some more tests relating to the way empty A.Severals are handled
2008-02-01 11:21:43 +00:00
Neil Brown
e9a2143a28
Tweaked a slightly misleading error message when flow-graph tests fail
2008-02-01 11:14:54 +00:00
Neil Brown
5eb5a4c979
Corrected some tests to reflect the new way that empty A.Several items are handled when building the flow-graph
2008-02-01 11:12:31 +00:00
Neil Brown
0a22ebf34b
Fixed up a couple of lines to properly handle the difference between Left False and Left True when building the flow-graph
2008-02-01 11:09:23 +00:00
Neil Brown
f8844edcb0
Corrected getNextParEdgeId in the flow-graph building to also actually increment the id ready for the next call
2008-02-01 11:08:53 +00:00
Neil Brown
83e04b92d4
Corrected the order the nodes are folded to match reality (rather than unintentionally reversing them)
2008-02-01 10:52:16 +00:00
Neil Brown
0672730894
Changed the way PARs are built up in the flow-graph, but haven't yet fixed the tests
2008-02-01 10:39:17 +00:00
Neil Brown
8fb60ff511
Added another test for PAR in FlowGraphTest
2008-01-30 20:47:27 +00:00
Neil Brown
5306e87463
Changed the tests for PAR in FlowGraphTest to match the intended new scheme
2008-01-30 20:37:47 +00:00