Ann: MELT plugin 0.9.8 release for GCC 4.6, 4.7 & future 4.8

46 views
Skip to first unread message

Basile Starynkevitch

unread,
Dec 22, 2012, 3:41:31 AM12/22/12
to g...@gcc.gnu.org, gcc-...@googlegroups.com
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-...@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} ***

Alexandre Lissy

unread,
Dec 30, 2012, 3:31:34 PM12/30/12
to gcc-...@googlegroups.com
And my santa present is here ...

You can grab 0.9.8 packages for both gcc 4.6 and 4.7 on this PPA
https://launchpad.net/~lissyx/+archive/gcc-plugin-melt/+packages

For both Ubuntu Precise and Ubuntu Quantal distributions.
If you already had the gcc-plugin-melt package installed, you might have
to uninstall it, since it has been replaced in favor of two plugins in
Quantal: gcc-4.6-plugin-melt and gcc-4.7-plugin-melt.

I did not tested them yet, so you might have some surprises :). Do not
hesitate to report bugs here.

Le 22/12/2012 09:41, Basile Starynkevitch a �crit :

Basile Starynkevitch

unread,
Dec 31, 2012, 11:38:18 AM12/31/12
to gcc-...@googlegroups.com, ali...@mandriva.com
On Sun, Dec 30, 2012 at 09:31:34PM +0100, Alexandre Lissy wrote:
> And my santa present is here ...
>
> You can grab 0.9.8 packages for both gcc 4.6 and 4.7 on this PPA
> https://launchpad.net/~lissyx/+archive/gcc-plugin-melt/+packages
>
> For both Ubuntu Precise and Ubuntu Quantal distributions.
> If you already had the gcc-plugin-melt package installed, you might have
> to uninstall it, since it has been replaced in favor of two plugins in
> Quantal: gcc-4.6-plugin-melt and gcc-4.7-plugin-melt.

A big thanks to Alexandre Lissy for the packaging. I've updated http://gcc-melt.org/download.html

Happy New 2013 Year to everyone.

Cheers
Reply all
Reply to author
Forward
0 new messages