public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Basile Starynkevitch <basile@starynkevitch.net>
To: gcc@gcc.gnu.org, gcc-melt@googlegroups.com
Subject: Ann: GCC MELT plugin 0.9 release (for gcc 4.6)
Date: Tue, 27 Sep 2011 15:12:00 -0000	[thread overview]
Message-ID: <20110927111456.GC12447@ours.starynkevitch.net> (raw)

Hello

It is my pleasure to announce the release of GCC MELT plugin 0.9 for GCC 4.6

The release of MELT plugin 0.9 for gcc 4.6 is available, as a gzipped source tar archive, 
from http://gcc-melt.org/melt-0.9-plugin-for-gcc-4.6.tgz of size 3785599 bytes, and 
md5sum 739cf34c19aade37092dd9b9601ebc2d (september 27th 2011). 
It is extracted from MELT branch svn revision 179266.
The version number 0.9 of the MELT plugin is unrelated to 
the version of the GCC compiler (4.6) for which it is supposed to work.
Bug reports and patches are welcome (to the gcc-melt@googlegroups.com list).


#######################################################################
NEWS for 0.9 MELT plugin for gcc-4.6

September 27th, 2011: Release of MELT plugin 0.9 for gcc-4.6

New features:

    Documentation is generated

    The PLUGIN_PRE_GENERICIZE event is interfaced.

    The build machinery and the binary module loading has been
    significantly updated.  Modules shared objects are like
    warmelt-macro.3461497d8ef7239dc1f2f132623e6dd5.quicklybuilt.so and
    they contain the md5sum of the catenation of all C files. They
    also come in various flavor: quicklybuilt (the generated C is
    compiled with -O0 -DMELT_HAVE_DEBUG), optimized (the generated C
    is compiled with -01 and without -DMELT_HAVE_DEBUG), debugnoline
    (the generated C is compiled with -g and -DMELT_HAVE_DEBUG but no
    #line directives).

    Conceptually, a module is loaded by loading its +meltdesc.c
    file. That file (e.g. warmelt-macro+meltdesc.c corresponding to
    warmelt-macro.melt) should never be moved or even edited.  It is
    parsed at module load time, and contains the various md5sum of
    real generated C files.

    New option -fplugin-arg-melt-workdir= for the work directory,
    where every .c or .so files are generated.

    The DISCR_BOX discriminant has been removed. Use containers instead.

    Containers, that is instances of class_container having one single field 
    :container_value, are supported by syntactic macros and sugar & function.
       (container V)   
          =equivalent=   (instance class_container :container_value V)
       (content C)
          =equivalent=   (get_field :container_value C)
       (set_content C V)
          =equivalent=   (put_fields C :container_value V)
    You can write exclaim instead of content, and there is a new syntactic 
    sugar
       !X

     is the same as (content X) - the exclamation mark should be
     followed by spaces, letters, or left parenthesis to be parsed as
     exclaim -that is as the content macro above.

    In patterns, ?(container ?v) means 
    ?(instance class_container :container_value ?v)

    Fields can be accessed by their name, so
      (:F C)
   is the same as (get_field :F C)
   Hence (:container_value foo) is the same as !foo or 
   (get_field :container_value foo)

   Experimental syntactic sugar: inside an s-expr, a macro string
   written ##{...}# is expanded as several components, not a single
   list.

   Experimental: ability to (define ...) values like in Scheme.

   Ability to create gimple-s and to modify gimple_seq.

   Slow boxed arithmetic operations are available (e.g. +iv gets two
   boxed integer and gives the boxed integer of their sum).

Many bug fixes.

The build system has been revamped. The generated .c files should be
available when running MELT.


Thanks to Pierre Vittet, Alexandre Lissy, Romain Geissler for
feedback, patches, suggestions.

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} ***

                 reply	other threads:[~2011-09-27 11:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110927111456.GC12447@ours.starynkevitch.net \
    --to=basile@starynkevitch.net \
    --cc=gcc-melt@googlegroups.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).