Dear All, It is my pleasure to announce the MELT plugin 0.9.7 release candidate 1 for GCC 4.6, 4.7 and future 4.8 available on
http://gcc-melt.org/melt-0.9.7-rc1-plugin-for-gcc-4.6-or-4.7-or-4.8.tar.gz MELT is a high-level domain specific language to extend GCC and the [meta-]plugin providing it. That plugin should work with GCC-4.6, 4.7 and probably the future version (unreleased in september 2012) 4.7 Please read more on http://gcc-melt.org/ about MELT. Notice that MELT is a language translated to C provding a lot of hooks to GCC. Notice also that you can mix MELT and C code in your GCC extensions written in MELT. MELT is free software GPLv3+ licensed and FSF copyrighted. It needs a GCC with plugin enabled to be usable as a plugin. It is developped on Debian/Linux (amd64). ################################################################ NEWS for 0.9.7 MELT plugin for GCC 4.6 & 4.7 & future 4.8 [[september, XXth, 2012]] Language improvement ==================== When creating an instance with definstance or instance, the translator checks that fields are filled with values. Previous versions of MELT could crash in that case. (CHEADER ...) constructs are working as documented. The Parma Polyhedra Library is removed from MELT. String values know their length, so safe access to some byte inside is possible. Added a lot of cmatchers (and implicit primitives) like tree_boolean_false_node, tree_boolean_true_node, tree_boolean_type_node, tree_char_type_node, tree_const_ptr_type_node, tree_double_type_node, tree_float_type_node, tree_int128_integer_type_node, tree_int128_unsigned_type_node, tree_integer_minus_one_node, tree_integer_one_node, tree_integer_type_node, tree_integer_zero_node, tree_long_double_type_node, tree_long_integer_type_node, tree_long_long_integer_type_node, tree_long_long_unsigned_type_node, tree_long_unsigned_type_node, tree_null_pointer_node, tree_ptr_type_node, tree_short_integer_type_node, tree_short_unsigned_type_node, tree_signed_char_type_node, tree_size_type_node, tree_unsigned_char_type_node, tree_unsigned_type_node, tree_void_type_node to access the very built-in trees known to GCC. Added more tree & gimple related matchers and primitives. Less spurious warnings when building MELT. Runtime improvements ==================== Add a runtime expression evaluation function TRANSLATE_RUN_MELT_EXPRESSIONS with a mode eval for initial evaluation of a sequence of expressions, and a mode repl for read-eval-print-loop. (Works by translating these to C code and dlopen-ing it). The building procedure has been revamped. Advanced users could define their GCCMELT_BUILD_NOTIFICATION environment variable to e.g. a script meltbuild-notification like #! /bin/bash # first arg title, second arg message if [ "$DISPLAY" = ":0.0" -a -n "$DESKTOP_SESSION" -a $(which notify-send) ]; then notify-send -t 3500 -i info "MELT BUILD: $1" "$2" else logger -t meltbuild -p user.info "$1=" "$2" fi and they will have a nice bubble notification under most Linux desktops of the major steps of the build. The building procedure is now quicker than before. Advanved MELT users can set their MELTGCC_NO_CHECK_RUNTIME to disable checking of the MELT runtime. This is notably needed when the MELT plugin is compiled for a cross compiler. Advanced MELT users willing to debug with gdb could set the melt_alptr_1 and melt_objhash_1 in their gdb debugger to track allocation or changes of MELT values or objects. The -fmelt-debugging=all option works as expected in the MELT branch and so does -fplugin-arg-melt-debugging=all in the MELT plugin. Numerous bug fixes. The probe has still naughty behavior on large C source. Consider using Alexandre Lissy's replacement (Python/Qt based) of the probe. ################################################ Your comments and bug reports (and build successes) about this MELT 0.9.7 rc1 are welcome on gcc-m...@googlegroups.com You can download the MELT .9.7 rc1 plugin for GCC 4.6, 4.7 and future 4.8 on http://gcc-melt.org/melt-0.9.7-rc1-plugin-for-gcc-4.6-or-4.7-or-4.8.tar.gz a Gnu-zipped tar source archive of 5145526 bytes of md5sum 000b7b84772e6b85f178e8a23b906797 extracted from the MELT branch of GCC svn rev. 191572 on september 20th 2012 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} ***