From bb6077163f1786abf63edfca81c7be3431c5b898 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 12:39:36 -0500 Subject: [PATCH 01/12] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8826ca91..c3e33e05 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ [![Travis CI](https://travis-ci.org/justinethier/cyclone.svg?branch=master)](https://travis-ci.org/justinethier/cyclone) -Cyclone is a brand-new Scheme-to-C compiler that allows practical application development using R7RS Scheme. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". +Cyclone is a brand-new Scheme-to-C compiler that allows real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. -Cyclone is the first compiler written entirely in the latest R7RS Scheme language standard, and the intent is to support as much of that language as possible. +[Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". # Features From 4d12a79e776b37a01ed535ed502c332b7acd367f Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 14:01:28 -0500 Subject: [PATCH 02/12] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c3e33e05..d9b5cfca 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Travis CI](https://travis-ci.org/justinethier/cyclone.svg?branch=master)](https://travis-ci.org/justinethier/cyclone) -Cyclone is a brand-new Scheme-to-C compiler that allows real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. +Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". From 8d58b39260214c831d9441dab425b470e26b11c1 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:29:56 -0500 Subject: [PATCH 03/12] Add Github CI status --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index d9b5cfca..65594a58 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,12 @@ [![Travis CI](https://travis-ci.org/justinethier/cyclone.svg?branch=master)](https://travis-ci.org/justinethier/cyclone) +[![Github CI](https://github.com/justinethier/cyclone-bootstrap/workflows/CI/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) + +[![Github CI - MacOS](https://github.com/justinethier/cyclone-bootstrap/workflows/CI%20MacOS/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) + +[![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/CI%20Windows%20MSYS2/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) + Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". From 2f9efe7edacc3e712db7e1a5c93636053ada1781 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:30:08 -0500 Subject: [PATCH 04/12] Try suppressing neg left shift warnings --- Makefile.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.config b/Makefile.config index 7014be94..7a4c7e58 100644 --- a/Makefile.config +++ b/Makefile.config @@ -22,8 +22,8 @@ LIBS += -ldl endif # Compiler options -CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -Iinclude -BASE_CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -I$(PREFIX)/include +CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -Wno-shift-negative-value -Iinclude +BASE_CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -fPIC -Wall -Wno-shift-negative-value -I$(PREFIX)/include # Used by Cyclone to compile programs, no need for PIC there BASE_PROG_CFLAGS ?= $(CYC_PROFILING) $(CYC_GCC_OPT_FLAGS) -Wall -I$(PREFIX)/include ifeq ($(OS),Darwin) From 9472ea0677bfc54f4a679909ec8eb6b9f9dac242 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:42:28 -0500 Subject: [PATCH 05/12] Renamed Ci jobs --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 65594a58..6d926d3c 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,13 @@ [![Travis CI](https://travis-ci.org/justinethier/cyclone.svg?branch=master)](https://travis-ci.org/justinethier/cyclone) -[![Github CI](https://github.com/justinethier/cyclone-bootstrap/workflows/CI/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) +[![Github CI - Linux](https://github.com/justinethier/cyclone-bootstrap/workflows/Ubuntu%20Linux%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -[![Github CI - MacOS](https://github.com/justinethier/cyclone-bootstrap/workflows/CI%20MacOS/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) +[![Github CI - MacOS](https://github.com/justinethier/cyclone-bootstrap/workflows/MacOS%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -[![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/CI%20Windows%20MSYS2/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) +[![Github CI - MacOS Homebrew](https://github.com/justinethier/cyclone-bootstrap/workflows/MacOS%20Homebrew%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) + +[![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. From 8c14f8cc015c690b4661dec30289bca86c8491b0 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:46:23 -0500 Subject: [PATCH 06/12] Fix image link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d926d3c..1912a6fb 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![Github CI - MacOS Homebrew](https://github.com/justinethier/cyclone-bootstrap/workflows/MacOS%20Homebrew%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -[![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) +[![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. From a27b1887ca6fd4e95fa3c7824df439123777d0fe Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:47:58 -0500 Subject: [PATCH 07/12] Clarify stability --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1912a6fb..e94949c8 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a system capable of generating fast native binaries. +Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". From b793bd79a6e641991f8c1926c2197901aa5c5441 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:50:36 -0500 Subject: [PATCH 08/12] Fixed MSYS2 builds --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7cc73ab..91414f95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.11.8 - TBD +Bug Fixes + +- Fixed Windows build using MSYS2 and setup a continuous integration job for this platform to prevent breaking this build in the future. + ## 0.11.7 - December 5, 2019 Bug Fixes From 29289a8102d45189f57b517d27b086b312644574 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:54:00 -0500 Subject: [PATCH 09/12] Revise "why" paragraph --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e94949c8..c56588cd 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -Cyclone is a brand-new Scheme-to-C compiler developed to support real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. +Cyclone is a brand-new Scheme-to-C compiler supporting real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". From aa46ae9a3ef6d08fc145c666027b63e441c3e645 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:55:14 -0500 Subject: [PATCH 10/12] More tweaks --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c56588cd..54a48ee8 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -Cyclone is a brand-new Scheme-to-C compiler supporting real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. +Cyclone is a brand-new Scheme-to-C compiler built to allow real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". From 1e8330b71722ce3dcc99ead338d6313abed76628 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 18:57:20 -0500 Subject: [PATCH 11/12] Rev --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54a48ee8..e4affbcd 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Github CI - Windows](https://github.com/justinethier/cyclone-bootstrap/workflows/Windows%20MSYS2%20Build/badge.svg)](https://github.com/justinethier/cyclone-bootstrap) -Cyclone is a brand-new Scheme-to-C compiler built to allow real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. +Cyclone is a brand-new Scheme-to-C compiler with the goal of supporting real-world application development using the R7RS Scheme Language standard. We provide modern features and a stable system capable of generating fast native binaries. [Cheney on the MTA](https://github.com/justinethier/cyclone/raw/master/docs/research-papers/CheneyMTA.pdf) is used by Cyclone's runtime to implement full tail recursion, continuations, and generational garbage collection. In addition, the Cheney on the MTA concept has been extended to allow execution of multiple native threads. An on-the-fly garbage collector is used to manage the second-generation heap and perform major collections without "stopping the world". From dad01ff1eddac68f0a2a630690ab01e46421ad88 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Dec 2019 19:02:31 -0500 Subject: [PATCH 12/12] Suppress compiler warnings on Clang --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91414f95..86ec1b71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Bug Fixes - Fixed Windows build using MSYS2 and setup a continuous integration job for this platform to prevent breaking this build in the future. +- Tweaked build flags to prevent spamming of compiler warnings when using Clang. ## 0.11.7 - December 5, 2019