summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* More void * to mem_t * conversion.Kaz Kylheku2009-12-054-10/+22
|
* Eliminate the void * disease. Generic pointers are of mem_t *Kaz Kylheku2009-12-047-31/+57
| | | | | from now on, which is compatible with unsigned char *. No implicit conversion to or from this type, in C or C++.
* * gc.c (heap_min_bound, heap_max_bound): New static globals.Kaz Kylheku2009-12-032-0/+21
| | | | | | | (more): Update heap_min_bound and heap_max_bound. (in_heap): Do early rejection tests on the pointer. If it's not aligned, or it's completely outside of the bounding box of the heap area, short circuit to false.
* Version 027.txr-027Kaz Kylheku2009-12-034-3/+20
|
* Merge.Kaz Kylheku2009-12-032-2/+8
|\
| * * parser.l (YY_NO_UNPUT): Removed superfluous #define. This is notKaz Kylheku2009-12-032-2/+8
| | | | | | | | | | | | | | needed because suppressing generation of unput is requested via the %option. In scanners generated by the legacy version of flex, 2.5.4, still widely in use. this redundancy leads to a multiple #define YY_NO_UNPUT and a compiler warning.
* | * Makefile (CFLAGS): Better test for g++, when removingKaz Kylheku2009-12-032-1/+8
|/ | | | | | warning options not appropriate for g++. Sometimes g++ may be called something that dosn't end in g++, like g++4.
* Fix for failing test suite on MIPS machine, due toKaz Kylheku2009-12-032-2/+14
| | | | gc failing to mark a local variable in txr_main.
* * Makefile (tests): Don't depend on the executable. Otherwise,Kaz Kylheku2009-12-022-7/+20
| | | | | | | | | during make install-tests, if it doesn't exist in the install directory, a gcc compile command gets deposited into the run.sh generated script. (install-tests): Fixes to make this work when using a separate build directory. Split the cpio -p job into a cpio -i piping into cpio -o.
* * Makefile (install-tests): New target. Provides a way to make theKaz Kylheku2009-12-022-0/+18
| | | | | test cases part of the installation, and a generated script to run the commands on the installation host.
* Fix annoyances with dependency generation, such as picking up localKaz Kylheku2009-12-024-14/+24
| | | | files that are not in the project.
* * Makefile (CFLAGS): If the compiler matches the pattern %g++,Kaz Kylheku2009-11-282-0/+10
| | | | | then remove some C-front-end-specific warnings from CFLAGS, which the g++ front end will complain about.
* * Makefile (CFLAGS): add -Dlint to CFLAGS when compiling y.tab.o.Kaz Kylheku2009-11-282-0/+11
| | | | | | This suppresses some warnings from a byacc-generated parser, and gets rid of a useless static sccsid array. May help with Bison-generated parser also.
* * parser.l: Use flex options to suppress generation of theKaz Kylheku2009-11-282-0/+8
| | | | | unused functons yyunput and yyinput, thus getting rid of some compiler diagnostics.
* Code cleanup. All private functions static. Private stuffKaz Kylheku2009-11-2814-231/+261
| | | | in regex module not exposed in header. Etc.
* * configure: Workaround in banner code for coreutils printf %.*s bug.Kaz Kylheku2009-11-282-1/+5
|
* Switching to DESTDIR convention for install.Kaz Kylheku2009-11-273-13/+40
| | | | | Make install step does some things more correctly now, without relying on the install program.
* Version 026.txr-026Kaz Kylheku2009-11-264-3/+27
|
* Add comments to generated files.Kaz Kylheku2009-11-261-1/+15
|
* Expand yacc command without quotes.Kaz Kylheku2009-11-261-1/+1
|
* Check for user's specified yacc program.Kaz Kylheku2009-11-261-0/+4
|
* Not all systems have a yacc alias for the yacc program.Kaz Kylheku2009-11-263-8/+89
| | | | | txr is known to work with two yacc implementations: GNU Bison and Berkeley yacc. Let's add some auto-detection for yacc.
* * gc.c (mark_mem_region): Bugfix: do not mess with the valgrindKaz Kylheku2009-11-262-2/+9
| | | | accessibility of the heap object if valgrind debugging is not enabled.
* * parser.y (grammar): Fixes for bison 2.4.1. Remove superfluous actionKaz Kylheku2009-11-262-2/+6
| | | | in chrlit. Include <stdlib.h> for abort.
* Refinements to Valgrind support.Kaz Kylheku2009-11-252-2/+40
|
* More Valgrind support. New option --vg-debug which turns onKaz Kylheku2009-11-254-11/+78
| | | | | Valgrind protection of free blocks. This works independently of --gc-debug.
* Fix a build breakage that may happen on some platforms.Kaz Kylheku2009-11-252-0/+14
| | | | | | | | | The parser.y file includes "utf8.h", which uses the the type wint_t. It also includes "lib.h" which uses "wchar_t". But it fails to include any headers which define these types. The generated y.tab.c picks up wchar_t by the Bison-inserted inclusion of <stdlib.h>, so that's how we got that. But wint_t does not come from any of the headers---if they are standard-conforming.
* Clean up properly.Kaz Kylheku2009-11-251-2/+2
|
* More valgrind integration. Vector objects keep displaced pointersKaz Kylheku2009-11-253-0/+22
| | | | | | | | to vector data; they point to element 0 which is actually the third element of the vector. If an object is only referenced by interior pointers, Valgrind reports it as possibly leaked. This change conditionally adds a pointer to the true start of the vector, if Valgrind support is enabled.
* First stab at Valgrind integration. First goal: eliminate falseKaz Kylheku2009-11-253-11/+71
| | | | positives when gc is accessing uninitialized parts of the stack.
* Fix uninitialized memory locations.Kaz Kylheku2009-11-243-1/+16
|
* Switching to keyword symbols for :args and :nothrow.Kaz Kylheku2009-11-246-29/+50
|
* Whitespace.Kaz Kylheku2009-11-242-3/+3
|
* utf8.c (utf8_from_uc): Fix bug introduced several commits ago (portingtxr-025Kaz Kylheku2009-11-242-0/+8
| | | | to C++). Caught by regression test suite. Found using git bisect.
* Version 025Kaz Kylheku2009-11-244-3/+57
|
* Auto-detect what specifiers to use for inline functions.Kaz Kylheku2009-11-244-22/+90
| | | | | Allow compiler command to be set independently of full path for easier compiler switching.
* Changes to make the code portable to C++ compilers, whichKaz Kylheku2009-11-248-42/+81
| | | | can be taken advantage of for better diagnostics.
* Fixed broken yyerrorf. It was still taking char *, and passingKaz Kylheku2009-11-244-34/+57
| | | | | that as an object to vformat, resulting in #<garbage: ...> output.
* Renaming global variables that denote symbols, such that theyKaz Kylheku2009-11-2411-275/+345
| | | | have a _s suffix.
* * configure (platform_flags, remove_flags): New config variables.Kaz Kylheku2009-11-233-3/+25
| | | | * Makefile (CFLAGS): Take into account new flags.
* Follow up on 64 bit compilation warnings.Kaz Kylheku2009-11-233-3/+14
|
* WTFKaz Kylheku2009-11-231-1/+1
|
* * Makefile (conftest.o): revert change that took CFLAGS fromKaz Kylheku2009-11-232-1/+6
| | | | this target.
* * configure: Don't rely on higher precision arithmetic from the buildKaz Kylheku2009-11-232-3/+10
| | | | | | machine's shell. POSIX requires shell arithmetic to be only signed long. We can't compute the INT_PTR_MAX constant in the shell, but rather generate a constant C expression to compute it.
* Reporting of compile errors during configuration for easierKaz Kylheku2009-11-233-14/+38
| | | | configure debugging.
* * configure: Bugfix in parsing configuration variablesKaz Kylheku2009-11-233-6/+13
| | | | | | | | which contain the = character. * Makefile (conftest.o): Pass full CFLAGS to configuration test builds. If some flags don't work with the compiler, this should be caught.
* * Makefile (CFLAGS): Added -I. so current directory is firstKaz Kylheku2009-11-232-1/+7
| | | | | in the include search path. This is needed for finding generated header files, when building in a separate directory.
* * lib.c (chk_malloc, chk_realloc): Fix diagnosable conversion,Kaz Kylheku2009-11-232-2/+7
| | | | caught by gcc 4.1.1.
* * configure (cross): Print out value of $cross in --help.Kaz Kylheku2009-11-234-14/+23
| | | | | | | * depend.txr: Add "config.h" to list of headers that are not prefixed with $(top_srcdir). * dep.mk: Regenerated.
* Improving portability. It is no longer assumed that pointersKaz Kylheku2009-11-2319-104/+377
| | | | | | | | can be converted to a type long and vice versa. The configure script tries to detect the appropriate type to use. Also, some run-time checking is performed in the streams module to detect which conversions specifier strings to use for printing numbers.