Commit graph

5984 commits

Author SHA1 Message Date
Justin Ethier
d3f7262414 Issue #143 - Max recursion depth for printing
Enforce a maximum C recursion depth when printing data structures. This protects against cases where a circular data structure may produce infinite output, blowing the stack. The recursive limit is sufficiently large such that a non-circular structure should not be impacted.
2022-05-25 22:28:08 -04:00
Justin Ethier
460147601f Adding notes 2022-05-25 17:42:05 -04:00
Justin Ethier
43267e2939 WIP 2022-05-24 23:02:18 -04:00
Justin Ethier
85b941619c
Add files via upload 2022-01-06 16:05:56 -05:00
Justin Ethier
dca3445328 Rev++ 2022-01-02 17:03:18 -05:00
Justin Ethier
2d7a9968e8 New release 2022-01-02 16:54:03 -05:00
Justin Ethier
79b5b97a96 Issue #484 2021-12-13 19:07:52 -08:00
Justin Ethier
2e84aaac9c Issue #484 - Improve handling of exporting prims
To fixes:
- Prevent segfault setting a global variable to itself
- Do not throw an error when exporting a primitive that is not defined in the current module, as built-ins are always available in any context.
2021-12-13 19:05:18 -08:00
Justin Ethier
6149ec02c7
Merge pull request #483 from nmeum/cc-lib-incdirs
Makefile.config: Move -I$(PREFIX)/include from BASE_CFLAGS to CC_LIB
2021-12-01 21:07:29 -05:00
Sören Tempel
bad43cccc1 Makefile.config: Move -I$(PREFIX)/include from BASE_CFLAGS to CC_LIB
This is a follow up to https://github.com/justinethier/cyclone/pull/482#discussion_r758902860

The -I$(PREFIX)/include needs to be moved away from BASE_CFLAGS since,
otherwise, it will be added *before* ~cc-extra~ and thus (partially)
circumvent the changes from #482. Compare the following two Cyclone
invocations with/without this commit.

Without this commit:

	$ ./cyclone -d -A . -A libs -COPT '-Iinclude' -CLNK '-L.' scheme/complex.sld
	gcc scheme/complex.c […] -I/usr/include -Wl,--export-dynamic -Iinclude -L/usr/lib -c

With this commit applied:

	$ ./cyclone -d -A . -A libs -COPT '-Iinclude' -CLNK '-L.' scheme/complex.sld
	gcc scheme/complex.c […] -Wl,--export-dynamic -Iinclude -I/usr/include -c

In #482, I originally removed the -I$(PREFIX)/include from BASE_CFLAGS
entirely. However, back then I forgot to add $(COMP_INCDIRS) to CC_LIB
to account for that. By doing that, this should fix the error from
https://github.com/justinethier/cyclone/pull/482#discussion_r758902860
and align CC_LIB nicely with CC_PROG.

While at it, I also removed $(COMP_LIBDIRS) from CC_LIB, it shouldn't be
needed since the CC_LIB command compiles object files and doesn't do any
linking.
2021-12-01 09:35:29 +01:00
Justin Ethier
d476e0c6d3 Document latest pull request 2021-11-30 18:56:14 -08:00
Justin Ethier
25165b6782
Merge pull request #482 from nmeum/search-path-prepending
Allow prepending include/library search path through -COPT/-CLNK
2021-11-30 21:51:11 -05:00
Justin Ethier
4f6245cb13 Added a Gentoo section 2021-11-28 12:59:29 -08:00
Justin Ethier
d94a3fdaa0
Add files via upload 2021-11-28 15:58:19 -05:00
Justin Ethier
0017a8a0e6 Added logo 2021-11-28 12:51:59 -08:00
Sören Tempel
9954cde738 Allow prepending include/library search path through -COPT/-CLNK
This commit separates include/library search directory options from
"normal" compiler/linker options and places options passed via the
`-COPT`/`-CLNK` command-line flags in-between. This allows overwriting
the default search paths, since contrary to all other options, the
search paths must be prepend for an -I/-L option to take precedence over
an existing one.

This should (hopefully) make it entirely unnecessary to ever build
Cyclone twice in order to have all changes in the current source tree
take effect.

Fixes #476
2021-11-24 15:32:17 +01:00
Sören Tempel
86949ae500 Makefile.config: remove unneeded case distinction for Darwin
Both cases do the same thing presently.
2021-11-24 12:05:22 +01:00
Justin Ethier
ff6a11042e Prep release 2021-09-24 18:34:01 -07:00
Justin Ethier
3bbd230123 Remove bugfix as it is covered by new feature 2021-09-20 16:48:55 -04:00
Justin Ethier
3c1322c2c0 Revise TBD section 2021-09-07 08:55:25 -04:00
Justin Ethier
9d130722d6 Do not inline calls to system 2021-09-07 08:24:08 -04:00
Justin Ethier
28c166a03e Issue #481 2021-09-07 07:47:16 -04:00
Justin Ethier
67384621bc Issue #481 - Exit if scm->c compilation fails 2021-09-07 07:45:50 -04:00
Justin Ethier
bb861334f6 Simplify heap type definitions
This is the first step in making it easier to change the number and/or size of heap pages.
2021-08-17 15:03:53 -04:00
Justin Ethier
71dc9341a7 Remove dead code 2021-08-17 11:12:36 -04:00
Justin Ethier
fbc92258df Bring back gc_word_align for 8-byte alignment 2021-08-17 09:39:16 -04:00
Justin Ethier
227861cb2e Use smaller datatype for ttl 2021-08-17 07:42:39 -04:00
Justin Ethier
556146ae8f Issue #268 - Added a note to the changelog 2021-08-26 13:20:08 -04:00
Justin Ethier
00a7c2e372 Merge branch '268-dev' 2021-08-26 13:17:25 -04:00
Justin Ethier
876a93bf39 Added -no-compiler-subprocess option 2021-08-17 05:04:36 -04:00
Justin Ethier
68e3fb3687 Revise macro debugging section 2021-08-17 04:21:20 -04:00
Justin Ethier
25dc7b6357 Revise write-up of changes to expand. 2021-08-17 03:55:48 -04:00
Justin Ethier
83937b4639 Issue #480 2021-08-25 17:51:22 -04:00
Justin Ethier
6869c96908 Issue #480 2021-08-25 17:49:43 -04:00
Justin Ethier
f8717517a4 Issue #480 - Make (expand) easier to use
Only require a single expression argument. The remaining environment arguments are generally not required when debugging from the REPL. This makes expand much easier to use for casual debugging.
2021-08-25 17:47:55 -04:00
Justin Ethier
607ece0fce Delete old functions 2021-08-25 17:10:12 -04:00
Justin Ethier
ff7a8492bb Remove error text 2021-08-25 12:47:16 -04:00
Justin Ethier
f5397c17d3 Update API index 2021-08-25 12:46:02 -04:00
Justin Ethier
86cacc3f01 Added (expand) 2021-08-17 03:15:47 -04:00
Justin Ethier
878228e7ae Clean up 2021-08-17 02:35:37 -04:00
Justin Ethier
83a64b4c1c Broke out into two macro sections 2021-08-23 13:38:59 -04:00
Justin Ethier
fc92f9c302 Grammar 2021-08-23 13:36:13 -04:00
Justin Ethier
630f36dc03 Added macro system section 2021-08-23 13:35:00 -04:00
Justin Ethier
99ce726ca3 Fix order of args passed to run-external-compiler 2021-08-16 23:39:09 -04:00
Justin Ethier
7d92a39fdf Run scm compiler as a sub-process 2021-08-16 23:34:00 -04:00
Justin Ethier
50631b8bb5 Use a separate thread to emit the C file 2021-08-16 22:22:04 -04:00
Justin Ethier
42bda1273c Updated 0.32.0 release date, stage next release 2021-08-16 21:50:56 -04:00
Justin Ethier
0290e61996 New release 2021-08-16 21:37:06 -04:00
Justin Ethier
08c4e8f2e6 Remove unused args 2021-08-16 20:24:36 -04:00
Justin Ethier
1d0cbf96ed Use meta file to pass data when compiling programs 2021-08-17 13:41:48 -04:00