]> thyrsus.com Git - intercal.git/log
intercal.git
16 years agoOptimiser bugfixes: negation corner cases
Alex Smith [Thu, 2 Sep 2010 23:07:10 +0000 (00:07 +0100)]
Optimiser bugfixes: negation corner cases

16 years agoOptimiser bugfix: handle width for C negation the same way as for INTERCAL unaries
Alex Smith [Thu, 2 Sep 2010 22:57:43 +0000 (23:57 +0100)]
Optimiser bugfix: handle width for C negation the same way as for INTERCAL unaries

16 years agoIntegrate fuzzer with build system ("make fuzz", "make test")
Alex Smith [Thu, 2 Sep 2010 22:56:57 +0000 (23:56 +0100)]
Integrate fuzzer with build system ("make fuzz", "make test")

16 years agoOptimiser bugfix: distribhalf was mathematically incorrect
Alex Smith [Thu, 2 Sep 2010 22:35:51 +0000 (23:35 +0100)]
Optimiser bugfix: distribhalf was mathematically incorrect

16 years agoOptimiser bugfix: loss of precision in bitshifts
Alex Smith [Thu, 2 Sep 2010 22:35:24 +0000 (23:35 +0100)]
Optimiser bugfix: loss of precision in bitshifts

16 years agoOptimiser bugfixes: some idioms didn't match the comments next to them
Alex Smith [Thu, 2 Sep 2010 22:34:53 +0000 (23:34 +0100)]
Optimiser bugfixes: some idioms didn't match the comments next to them

16 years agoOptimiser bugfix: be consistent about unary operator bitwidths
Alex Smith [Thu, 2 Sep 2010 22:33:49 +0000 (23:33 +0100)]
Optimiser bugfix: be consistent about unary operator bitwidths

16 years agoShow unary bitwidths in optimiser debug output
Alex Smith [Thu, 2 Sep 2010 22:33:15 +0000 (23:33 +0100)]
Show unary bitwidths in optimiser debug output

16 years agoFix type mismatch between oil.h, dekludge.c
Alex Smith [Thu, 2 Sep 2010 20:24:47 +0000 (21:24 +0100)]
Fix type mismatch between oil.h, dekludge.c

Wow was this one subtle. "bool" was somehow defined as 8-bit in
dekludge.c, but 32-bit in oil.h, due to include files being included
differently, and this was causing boolean-valued checks to fail
silently.

16 years agoFix optimiser bug: select with LHS a constant with more than 16 consecutive zeros
Alex Smith [Thu, 2 Sep 2010 19:53:21 +0000 (20:53 +0100)]
Fix optimiser bug: select with LHS a constant with more than 16 consecutive zeros

16 years agoFix bugs in file-finding logic
Alex Smith [Thu, 2 Sep 2010 19:52:26 +0000 (20:52 +0100)]
Fix bugs in file-finding logic

This is both a logic error (an incomplete change from ICKDATADIR to
ICKSYSDIR/ICKCSKELDIR), and a simple typo that was preventing the
skeleton file from being found in an installed setup.

16 years agoTurn on Automake warnings, and fix bugs found by them
Alex Smith [Thu, 2 Sep 2010 19:51:45 +0000 (20:51 +0100)]
Turn on Automake warnings, and fix bugs found by them

16 years agoBoolean fixes + autoconfiscation of booleans
Alex Smith [Thu, 2 Sep 2010 18:39:31 +0000 (19:39 +0100)]
Boolean fixes + autoconfiscation of booleans

Cleaning up ick_bool.h to work even on systems with an insane
stdbool.h; fixing oil.y to use the new booleans throughout;
integrating ick_bool.h into the autoconf system.

16 years agoMake "make splint" work with out-of-tree builds
Alex Smith [Thu, 2 Sep 2010 18:22:14 +0000 (19:22 +0100)]
Make "make splint" work with out-of-tree builds

16 years agoThis should have gone with the last commit.
Eric S. Raymond [Thu, 2 Sep 2010 00:37:27 +0000 (20:37 -0400)]
This should have gone with the last commit.

16 years agoUse real bools everywhere.
Eric S. Raymond [Wed, 1 Sep 2010 22:34:24 +0000 (18:34 -0400)]
Use real bools everywhere.

It's possible to emulate the C99 bool type perfectly and autoconfigure
doing so.  This enables splint to do better checking, and looks cleaner too.

make check and make distcheck both pass.

16 years agoRemove generated files from the repository, change build system to match
Alex Smith [Wed, 1 Sep 2010 20:27:34 +0000 (21:27 +0100)]
Remove generated files from the repository, change build system to match

A new shell script buildaux/regenerate-build-system.sh will regenerate
the build system from scratch, which is needed to run a repository
version. (The contents of distribution tarballs are unchanged.) Many
build system changes are needed to make everything work correctly,
including the integration of the pit and src makefiles (the pit
makefile needs to know where the pit actually /is/); make distcheck
now passes.

16 years agoSlight optimiser cleanup
Alex Smith [Wed, 1 Sep 2010 20:05:36 +0000 (21:05 +0100)]
Slight optimiser cleanup

16 years agoDon't crash on an invalid guessdir
Alex Smith [Wed, 1 Sep 2010 20:05:00 +0000 (21:05 +0100)]
Don't crash on an invalid guessdir

16 years agoRemove valid code from the middle of a comment
Alex Smith [Wed, 1 Sep 2010 20:04:35 +0000 (21:04 +0100)]
Remove valid code from the middle of a comment

16 years agoMerge branch 'master' of git://gitorious.org/intercal/intercal
Alex Smith [Wed, 1 Sep 2010 18:48:53 +0000 (19:48 +0100)]
Merge branch 'master' of git://gitorious.org/intercal/intercal

16 years agoBoost SENESTMAX; fuzz-testing was hitting the limit
Alex Smith [Wed, 1 Sep 2010 18:48:34 +0000 (19:48 +0100)]
Boost SENESTMAX; fuzz-testing was hitting the limit

16 years agoAdd test/compucome.i to the compile-test set.
Eric S. Raymond [Wed, 1 Sep 2010 09:20:48 +0000 (05:20 -0400)]
Add test/compucome.i to the compile-test set.

16 years agoMakefile.in doesn't need to be in the repo.
Eric S. Raymond [Wed, 1 Sep 2010 08:49:14 +0000 (04:49 -0400)]
Makefile.in doesn't need to be in the repo.

16 years agoMake self-tests available from toplevel in the standard way with 'make check'.
Eric S. Raymond [Wed, 1 Sep 2010 08:35:38 +0000 (04:35 -0400)]
Make self-tests available from toplevel in the standard way with 'make check'.

16 years agoFix the clean hook to avoid problems in make distcheck.
Eric S. Raymond [Wed, 1 Sep 2010 08:26:15 +0000 (04:26 -0400)]
Fix the clean hook to avoid problems in make distcheck.

16 years agoRe-merge splint priduction and pit clean hook.
Eric S. Raymond [Tue, 31 Aug 2010 22:42:27 +0000 (18:42 -0400)]
Re-merge splint priduction and pit clean hook.

16 years agoDuhhh...the terst load has a nondeterminism trigger in it.
Eric S. Raymond [Tue, 31 Aug 2010 22:19:54 +0000 (18:19 -0400)]
Duhhh...the terst load has a nondeterminism trigger in it.

16 years agoRevert the buld systrem rewrite, as it won't work for cross-compiles.
Eric S. Raymond [Tue, 31 Aug 2010 21:24:14 +0000 (17:24 -0400)]
Revert the buld systrem rewrite, as it won't work for cross-compiles.

16 years agoPartial splint cleanup.
Eric S. Raymond [Tue, 31 Aug 2010 19:51:45 +0000 (15:51 -0400)]
Partial splint cleanup.

16 years agoAdd a splint production.
Eric S. Raymond [Tue, 31 Aug 2010 18:57:41 +0000 (14:57 -0400)]
Add a splint production.

16 years agoFix a broken fprintf that was producing unstable output.
Eric S. Raymond [Tue, 31 Aug 2010 18:40:06 +0000 (14:40 -0400)]
Fix a broken fprintf that was producing unstable output.

16 years agoFix incorrectly generated check file.
Eric S. Raymond [Tue, 31 Aug 2010 18:34:49 +0000 (14:34 -0400)]
Fix incorrectly generated check file.

16 years agoForce clean of the pit test binaries on make clean.
Eric S. Raymond [Tue, 31 Aug 2010 18:13:11 +0000 (14:13 -0400)]
Force clean of the pit test binaries on make clean.

16 years agoClean up annd document Makefile.am.
Eric S. Raymond [Tue, 31 Aug 2010 17:50:08 +0000 (13:50 -0400)]
Clean up annd document Makefile.am.

16 years agoMore build system cleanup; the prebuilt filea don'yt need to be in the repo.
Eric S. Raymond [Tue, 31 Aug 2010 17:00:15 +0000 (13:00 -0400)]
More build system cleanup; the prebuilt filea don'yt need to be in the repo.

16 years agoCleanup after the big build change.
Eric S. Raymond [Tue, 31 Aug 2010 16:41:46 +0000 (12:41 -0400)]
Cleanup after the big build change.

16 years agoIgnore generated files (again).
Eric S. Raymond [Tue, 31 Aug 2010 16:35:48 +0000 (12:35 -0400)]
Ignore generated files (again).

16 years agoMerge branch 'master' of gitorious.org:intercal/intercal
Eric S. Raymond [Tue, 31 Aug 2010 09:56:25 +0000 (05:56 -0400)]
Merge branch 'master' of gitorious.org:intercal/intercal

16 years agoDrastic simplification of the build system.
Eric S. Raymond [Tue, 31 Aug 2010 09:20:09 +0000 (05:20 -0400)]
Drastic simplification of the build system.

The build system as I found it had several interrelated flaws: (1) it
kept generated files such as aclocal.m4 and configure in the repo,
causing many spurious diffs when they were rebuilt, (2) it did a lot of
grubby copying of source files into the root directory, (3) it was
generally overcomplicated, playing strange games with GNU tools that
are already difficult to understand.

Most of the problems were readily solved by the modern practice of
having a autogen.sh script to bootstrap the build from a state of no
Makefile and no configure.  The whole buildaux directory is gone
except for Makefile.am and ylwrap; those now live in the top-level
directory. Makefile.am is now much simpler, as is configure.ac.

To make running the compiler in place for regression-testing continue
working, I had to split the ICKDATADIR variable; it's now ICKSYSDIR
for INTERCAL system libraries and ICKCSKELDIR for the skeleton and
yuk-related files.  Both will still point at /usr/local/share by
default.

I've probably broken the DESTDIR/build-directory logic; that will need
to be fixed.  Relatedly, more could probably be done to stop the
build from crapping all over the distribution toplevel directory. Also,
the directory variables need to be re-thought and probably renamed.
But this is a good start.

All regression tests pass from a clean build.

16 years agoMerge branch 'master' of git://gitorious.org/intercal/intercal
Alex Smith [Tue, 31 Aug 2010 09:11:50 +0000 (10:11 +0100)]
Merge branch 'master' of git://gitorious.org/intercal/intercal

Conflicts:
pit/Makefile

16 years agoBetter fuzztest coverage, and move the fuzzer to etc/
Alex Smith [Tue, 31 Aug 2010 07:25:13 +0000 (08:25 +0100)]
Better fuzztest coverage, and move the fuzzer to etc/

The fuzztest now looks at idiotism.oil and tries to generate things
that look vaguely like the LHSes there, in addition to the normal
huge dose of randomness expected in a fuzztest. This makes it catch a
lot more bugs (i.e. it catches a greater proportion of bugs on each
run); it has found several optimizer bugs already, by the look of
things (although unfortunately fuzztests make it hard to track down
exactly where the bug is).

16 years agoSuppress a bunch of GCC 4 warnings. All regression tests pass.
Eric S. Raymond [Tue, 31 Aug 2010 06:01:53 +0000 (02:01 -0400)]
Suppress a bunch of GCC 4 warnings.  All regression tests pass.

16 years agoAdd a (working but unfinished and with hardcoded paths) optimiser test script to...
Alex Smith [Tue, 31 Aug 2010 04:39:09 +0000 (05:39 +0100)]
Add a (working but unfinished and with hardcoded paths) optimiser test script to buildaux

16 years agoLabel the exact optimisation used when debugging the optimser
Alex Smith [Tue, 31 Aug 2010 03:46:52 +0000 (04:46 +0100)]
Label the exact optimisation used when debugging the optimser

16 years agoRegreesion test featuring tests/testplat.
Eric S. Raymond [Mon, 30 Aug 2010 09:20:50 +0000 (05:20 -0400)]
Regreesion test featuring tests/testplat.

16 years agoLouis Howell's mult.i no longer exists.
Eric S. Raymond [Mon, 30 Aug 2010 09:01:37 +0000 (05:01 -0400)]
Louis Howell's mult.i no longer exists.

16 years agoRegression tests featuring ais1.i anf ais2.i.
Eric S. Raymond [Mon, 30 Aug 2010 08:42:06 +0000 (04:42 -0400)]
Regression tests featuring ais1.i anf ais2.i.

16 years agoRegression test featuring pass.i.
Eric S. Raymond [Mon, 30 Aug 2010 06:58:16 +0000 (02:58 -0400)]
Regression test featuring pass.i.

16 years agoRegression test featuring testcreate.
Eric S. Raymond [Mon, 30 Aug 2010 05:56:24 +0000 (01:56 -0400)]
Regression test featuring testcreate.

16 years agoRegrtession test featuring pow.i.
Eric S. Raymond [Mon, 30 Aug 2010 05:44:50 +0000 (01:44 -0400)]
Regrtession test featuring pow.i.

16 years agoA regression test featuring flonck.i.
Eric S. Raymond [Mon, 30 Aug 2010 05:35:52 +0000 (01:35 -0400)]
A regression test featuring flonck.i.

16 years agoLink fixes and additions.
Eric S. Raymond [Mon, 30 Aug 2010 05:35:45 +0000 (01:35 -0400)]
Link fixes and additions.

16 years agoMore ./ in the test makefile
Alex Smith [Sat, 28 Aug 2010 19:05:40 +0000 (20:05 +0100)]
More ./ in the test makefile

16 years agoAdde regression test featuring ignorret.i.
Eric S. Raymond [Sat, 28 Aug 2010 15:52:40 +0000 (11:52 -0400)]
Adde regression test featuring ignorret.i.

16 years agoAdded regression test featuring bubble.i.
Eric S. Raymond [Sat, 28 Aug 2010 15:34:08 +0000 (11:34 -0400)]
Added regression test featuring bubble.i.

16 years agoRemove a duplicated entry.
Eric S. Raymond [Sat, 28 Aug 2010 15:21:54 +0000 (11:21 -0400)]
Remove a duplicated entry.

16 years agoRegression test featuring whileadd.i.
Eric S. Raymond [Sat, 28 Aug 2010 15:20:20 +0000 (11:20 -0400)]
Regression test featuring whileadd.i.

16 years agoIgnore more test binaries.
Eric S. Raymond [Sat, 28 Aug 2010 15:10:06 +0000 (11:10 -0400)]
Ignore more test binaries.

16 years agoAdded regression test for interfunge.
Eric S. Raymond [Sat, 28 Aug 2010 15:08:19 +0000 (11:08 -0400)]
Added regression test for interfunge.

16 years agoAdded regression tests featuring onceagain and unlambda.
Eric S. Raymond [Sat, 28 Aug 2010 15:00:14 +0000 (11:00 -0400)]
Added regression tests featuring onceagain and unlambda.

16 years agoAdded test load for flonck.i, but it presently fails.
Eric S. Raymond [Sat, 28 Aug 2010 14:26:36 +0000 (10:26 -0400)]
Added test load for flonck.i, but it presently fails.

Message is THROW STICK BEFORE RETRIEVING!

16 years agoDocumentation improvements.
Eric S. Raymond [Sat, 28 Aug 2010 14:15:27 +0000 (10:15 -0400)]
Documentation improvements.

16 years agoWhitespace fixup.
Eric S. Raymond [Sat, 28 Aug 2010 14:05:33 +0000 (10:05 -0400)]
Whitespace fixup.

16 years agoOops, correct target list to go with last commit.
Eric S. Raymond [Sat, 28 Aug 2010 07:08:24 +0000 (03:08 -0400)]
Oops, correct target list to go with last commit.

16 years agotests/testonce is now part of the regression-test suite.
Eric S. Raymond [Sat, 28 Aug 2010 07:03:51 +0000 (03:03 -0400)]
tests/testonce is now part of the regression-test suite.

Still needs to be documented, though.

16 years agoTypo fix.
Eric S. Raymond [Fri, 27 Aug 2010 19:40:26 +0000 (15:40 -0400)]
Typo fix.

16 years agoNew regression test featuring yapp.
Eric S. Raymond [Fri, 27 Aug 2010 15:20:59 +0000 (11:20 -0400)]
New regression test featuring yapp.

16 years agoCorrect parsing of regresscheck options.
Eric S. Raymond [Fri, 27 Aug 2010 15:18:25 +0000 (11:18 -0400)]
Correct parsing of regresscheck options.

16 years agoFix pit makefile
Alex Smith [Fri, 27 Aug 2010 01:01:49 +0000 (02:01 +0100)]
Fix pit makefile

tpk needed compiling; fft needs an explicit ./ in order to work
on systems with an executable called "fft" or without . in $PATH
(which is recommended and default).

16 years agoAdded a regressioon test using Don Knuth's tpk program.
Eric S. Raymond [Fri, 27 Aug 2010 00:39:55 +0000 (20:39 -0400)]
Added a regressioon test using Don Knuth's tpk program.

16 years agoTwo more regression tests, and improvements to the framework.
Eric S. Raymond [Thu, 26 Aug 2010 21:57:01 +0000 (17:57 -0400)]
Two more regression tests, and improvements to the framework.

16 years agoIgnore more stuff.
Eric S. Raymond [Thu, 26 Aug 2010 21:34:53 +0000 (17:34 -0400)]
Ignore more stuff.

16 years agoDocument the regressioncheck script better, and make it a bit more flexible.
Eric S. Raymond [Thu, 26 Aug 2010 21:32:25 +0000 (17:32 -0400)]
Document the regressioncheck script better, and make it a bit more flexible.

16 years agoChange optimiser policy, and fix optimiser bugs
Alex Smith [Thu, 26 Aug 2010 20:30:49 +0000 (21:30 +0100)]
Change optimiser policy, and fix optimiser bugs

This includes a change in optimiser policy, such that optimising a
run-time error into a compile-time error is considered a bug (which
probably should have been the rule all along); the documentation was
inconsistent on this before now. This is also needed for the
testsuite to work with the optimiser.

The specific bugs: constant folding could make a mingle guaranteed
to overflow at runtime if the line was ever reached into a compile-
time error; and folding an and into an or was occasionally an
unchecked no-op, which causes the optimiser to enter an infinite
loop (it's now checked that it's not a no-op in advance).

16 years agoMerge branch 'master' of git://gitorious.org/intercal/intercal
Alex Smith [Thu, 26 Aug 2010 19:30:08 +0000 (20:30 +0100)]
Merge branch 'master' of git://gitorious.org/intercal/intercal

16 years agoDon't assume dot is in path.
Eric S. Raymond [Thu, 26 Aug 2010 19:18:40 +0000 (15:18 -0400)]
Don't assume dot is in path.

16 years agoFix floatlib install in build system
Alex Smith [Thu, 26 Aug 2010 18:25:14 +0000 (19:25 +0100)]
Fix floatlib install in build system

floatlib was being installed correctly for an inplace run, but not
for an installed run.

16 years agoMerge branch 'master' of git://gitorious.org/intercal/intercal
Alex Smith [Thu, 26 Aug 2010 18:09:47 +0000 (19:09 +0100)]
Merge branch 'master' of git://gitorious.org/intercal/intercal

16 years agoAssociation of magic line ranges to system libraries is noe declarative.
Eric S. Raymond [Thu, 26 Aug 2010 18:01:53 +0000 (14:01 -0400)]
Association of magic line ranges to system libraries is noe declarative.

Rather than being hard-coded in logic, there's now a table in perpet.c that
maps numeric-label ranges to system library file basenames. The sytem library
takes 1000-1999; the first new library to get this treatment is floatlib,
range 5000-5999.  The test for this is the ability to compile the pit's
fft.i program, which requires both syslib and floatlib.

Note that whenever you add a new library to this table, the build system
will need to be tweaked to add the library to the list of those copied to
the build directory.

16 years agoAdd two more regression tests.
Eric S. Raymond [Thu, 26 Aug 2010 17:29:01 +0000 (13:29 -0400)]
Add two more regression tests.

16 years agoAdded regression check using sort.i.
Eric S. Raymond [Thu, 26 Aug 2010 17:10:53 +0000 (13:10 -0400)]
Added regression check using sort.i.

16 years agoFix missing dependency between main makefile and doc makefile
Alex Smith [Thu, 26 Aug 2010 15:31:45 +0000 (16:31 +0100)]
Fix missing dependency between main makefile and doc makefile

16 years agoTypo fixes.
Eric S. Raymond [Thu, 26 Aug 2010 10:32:24 +0000 (06:32 -0400)]
Typo fixes.

16 years agoDocument a dependency.
Eric S. Raymond [Thu, 26 Aug 2010 10:09:26 +0000 (06:09 -0400)]
Document a dependency.

16 years agoDocument new features.
Eric S. Raymond [Thu, 26 Aug 2010 09:19:19 +0000 (05:19 -0400)]
Document new features.

16 years agoTwo more ignores; this cleans up the git status display.
Eric S. Raymond [Thu, 26 Aug 2010 09:10:55 +0000 (05:10 -0400)]
Two more ignores; this cleans up the git status display.

16 years agoMore simplifying renames in the pit.
Eric S. Raymond [Thu, 26 Aug 2010 09:08:15 +0000 (05:08 -0400)]
More simplifying renames in the pit.

16 years agoRename base 3-7 system libraries to be unique without extension.
Eric S. Raymond [Thu, 26 Aug 2010 08:40:48 +0000 (04:40 -0400)]
Rename base 3-7 system libraries to be unique without extension.

This eliminates the need for some ugly special-casing in the test system.

16 years agoAdd the NOCTURNAL EMISSION, PLEASE LAUNDER SHEETS IMMEDIATELY error message.
Eric S. Raymond [Thu, 26 Aug 2010 07:52:04 +0000 (03:52 -0400)]
Add the NOCTURNAL EMISSION, PLEASE LAUNDER SHEETS IMMEDIATELY error message.

16 years agoAdded FLAG ETIQUETTE ERROR BAD SCOUT NO BISCUIT runtime error.
Eric S. Raymond [Thu, 26 Aug 2010 07:21:39 +0000 (03:21 -0400)]
Added FLAG ETIQUETTE ERROR BAD SCOUT NO BISCUIT runtime error.

16 years agoSmall improvements to pit documentation.
Eric S. Raymond [Thu, 26 Aug 2010 06:56:39 +0000 (02:56 -0400)]
Small improvements to pit documentation.

16 years agoTypo fix in intercal.mm.
Eric S. Raymond [Thu, 26 Aug 2010 06:42:16 +0000 (02:42 -0400)]
Typo fix in intercal.mm.

16 years agoTeach git how to ignore more generated stuff.
Eric S. Raymond [Thu, 26 Aug 2010 06:37:04 +0000 (02:37 -0400)]
Teach git how to ignore more generated stuff.

16 years agoAdded a regression test checking the output of quine against quine.i.
Eric S. Raymond [Thu, 26 Aug 2010 06:19:25 +0000 (02:19 -0400)]
Added a regression test checking the output of quine against quine.i.

16 years agoAdd permute.i to the regression-test suite - it's a really good one.
Eric S. Raymond [Thu, 26 Aug 2010 05:36:24 +0000 (01:36 -0400)]
Add permute.i to the regression-test suite - it's a really good one.

16 years agoRegression-test suite added.
Eric S. Raymond [Thu, 26 Aug 2010 05:21:12 +0000 (01:21 -0400)]
Regression-test suite added.

16 years agoFix up and refactor the test compilation functions.
Eric S. Raymond [Thu, 26 Aug 2010 03:40:21 +0000 (23:40 -0400)]
Fix up and refactor the test compilation functions.

16 years agoAdded Brendan Gegg's "guess" program to the pit.
Eric S. Raymond [Thu, 26 Aug 2010 02:27:34 +0000 (22:27 -0400)]
Added Brendan Gegg's "guess" program to the pit.

16 years agoIgnore more generated junk.
Eric S. Raymond [Thu, 26 Aug 2010 02:21:20 +0000 (22:21 -0400)]
Ignore more generated junk.