This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Ann: MELT plugin 0.9.8 release for GCC 4.6, 4.7 & future 4.8
- From: Basile Starynkevitch <basile at starynkevitch dot net>
- To: gcc at gcc dot gnu dot org
- Cc: gcc-melt at googlegroups dot com
- Date: Sat, 22 Dec 2012 09:41:31 +0100
- Subject: Ann: MELT plugin 0.9.8 release for GCC 4.6, 4.7 & future 4.8
Dear All,
It is my pleasure to announce the MELT plugin 0.9.8 for GCC 4.6, 4.7 & future 4.8
Download
http://www.gcc-melt.org/melt-0.9.8-plugin-for-gcc-4.6-or-4.7-or-4.8.tar.gz
a gzipped source tarball of 5377928 bytes of md5sum
6c0721202857c44a8edb1ae2252605e8 extracted from MELT branch svn rev. 194693
on december 22nd 2012.
MELT is a high-level domain specific language to extend the GCC compiler.
See http://gcc-melt.org/ for more. Notice that the web site gcc-melt.org has
been revamped and contains much more information than before (and more tutorial information
as web pages, even if that is still incomplete).
Download http://www.gcc-melt.org/melt-0.9.8-plugin-for-gcc-4.6-or-4.7-or-4.8.tar.gz
If you wan a two-page printable leaflet about MELT download gcc-melt.org/gcc-melt-sheet.pdf
################################################################
NEWS for 0.9.8 MELT plugin for GCC 4.6 & 4.7 & future 4.8
[[december, 22th, 2012]]
Language improvements
=====================
* The LET syntax accepts bindings with the :auto ctype-annotation, like e.g.
(let ( (:auto four (+i 2 2)) )
(debug "four=" four))
the ctype is the obtained by the expression defining that binding
i.e. (+i 2 2) it the above example which is of ctype_long.
The default ctype annotation -which used to be :value- is now :auto
this change is upward compatible but is very significant.
* BOX-ing and CONSTANT_BOX-ing syntactic constructs
The (BOX <stuff>) syntax makes a mutable value boxing the given
stuff. So for example (BOX (+i 2 1)) is the same
as (MAKE_INTEGERBOX DISCR_INTEGER (+i 2 1))
The (CONSTANT_BOX <stuff>) syntax makes a constant value boxing the
given stuff. So for example (CONSTANT_BOX 1) is the same as
the expression (MAKE_INTEGERBOX DISCR_CONSTANT_INTEGER 1)
* UNBOX-ing syntactic construct
The (UNBOX <ctype> <value>) is a convenient way to unbox values. For example
the expression (UNBOX :TREE V) is the same as (TREE_CONTENT V)
Runtime improvements
====================
A new evalfile mode is available to evaluate expressions from a
file (default is standard input).
The evaluating modes are diplaying the last evaluated expression
using the debug depth parameter, which can be set with
-fplugin-arg-melt-debug-depth=10 program argument.
C-types have now autoboxing fields. Discriminants for constant
boxing of stuff have been added, notably
DISCR_CONSTANT_BASIC_BLOCK, DISCR_CONSTANT_EDGE,
DISCR_CONSTANT_GIMPLE, DISCR_CONSTANT_GIMPLE_SEQ,
DISCR_CONSTANT_LOOP, DISCR_CONSTANT_TREE
Vector from GCC 4.8 are now possible inside MELT.
A melt_intern_cstring function is available in C to intern
arbitrary null-terminated strings.
The melt-module.mk makefile is accepting the
GCCMELT_MODULE_VERBOSE_BUILD variable.
Several primitives have been added.
* Numerous bug fixes.
########################################################################
Comments are welcome, notably on the gcc-melt@googlegroups.com list.
I strongly invite every person downloading MELT to subscribe & read that list.
Merry Christmas and Happy New Year to everyone.
Regards.
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***