[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mes 0.10 released
From: |
Jan Nieuwenhuizen |
Subject: |
Re: Mes 0.10 released |
Date: |
Mon, 11 Sep 2017 19:29:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Arne Babenhauserheide writes:
> Jan Nieuwenhuizen <address@hidden> writes:
>
>> I am pleased to announce the release of Mes 0.10, representing 82
>> commits over 6 weeks. Mescc now compiles a bootstrappable-modified
>> TinyCC into a mes-tcc that in turn can successfully compile a trivial
>> C program.
>
> Nice! How big are your changes to TinyCC?
About this big:
$ gl| head -30
6773110e lotsa debug printing
429e4366 bootstrappable: workaround mescc bugs.
5881b4cd bootstrap build scripts
2712a934 bootstrappable: struct by value assign.
54e9ae5b bootstrappable: constant pointer arithmetic.
10b7a57b bootstrappable: pointer arithmetic.
25f6dfa1 bootstrappable: mescc: use _start.
50af7c8c bootstrappable: gcc libraries, elf entry.
d783ec19 bootstrappable: uint16_t in struct on heap.
f0aed53b bootstrappable: nested foo ? bar : baz.
60a3181f bootstrappable: Complex field access.
13cc75c8 bootstrappable: str[r]chr (str, 0).
fc977c55 bootstrappable: sizeof *type.
2ed23278 bootstrappable: for (;;).
7ab3f511 bootstrappable: Multi-line strings.
871dc3bb bootstrappable: foo = bar = baz.
9413c474 bootstrappable: switch (*foo = *++bar).
a51c6757 bootstrappable: HAVE_BITFIELD.
ca8aa2f4 bootstrappable: HAVE_FLOAT
eff5bcf9 bootstrappable: char foo[][].
299e04fe bootstrappable: foo ()->bar.
cb487ef6 bootstrappable: Comma operator.
df8f57cf bootstrappable: Heterogeneous switch case.
4cd6da01 bootstrappable: Heterogeneous initializer list.
25d426a0 bootstrappable: Outline enums, structs, unions.
For details, see
[8] https://gitlab.com/janneke/tinycc
TinyCC uses (imho) unnecessarily complex C constructs. Therefore it is (imho)
not too well suited as a bootstrap dependency, at least not in an
unpatched state.
Pragmatically working towards a first full source boostrap success, I
have been patching TinyCC and simultaneously adding unfriendly
constructs to Mescc. So, not all patches are necessary (for Mescc) but
depending on what the TinyCC devs want we could take bootstrappability
even much further. Dunno ;-)
As long as we target TinyCC, I intend to try to upstream all patches
that Mescc needs. Much work to do.
janneke
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com