2012-06-19 Basile Starynkevitch * melt-module.mk: Add rules for various *.meltmod.so and make a symlink if MELTGEN_MODULENAME defined. 2012-06-19 Basile Starynkevitch * melt-module.mk: Add rules for various *.meltpic.o 2012-06-19 Basile Starynkevitch * melt-module.mk (GCCMELTGEN_BUILD): Define include $(GCCMELT_MODULE_SOURCEBASE)+meltbuild.mk 2012-06-19 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Emit eof comment for FOO+meltbuild.mk generated file. {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-06-19 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Generated dependencies assume all binary object and module files are prefixed by $(GCCMELTGEN_BUILD). 2012-06-19 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Generete dependency of .descr.pic.o file. 2012-06-19 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-06-19 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Better generation of make fragment file. 2012-06-19 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Start adding generation of make fragment file FOO+meltbuild.mk ... 2012-06-18 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+03.c: New generated file. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-06-18 Basile Starynkevitch * melt-module.mk (GCCMELT_SECONDARY_CFILES): Rename GCCMELT_SECONDARIES variable. (GCCMELT_SECONDARY_MD5SUMS): Rename -GCCMELT_SECONDARIES_MD5 variable. (GCCMELT_PRIMARY_MDSUMED_BASE): Rename GCCMELT_PRIMARY_OBJ variable. (GCCMELT_SECONDARY_MDSUMED_BASES): Rename GCCMELT_SECONDARIES_OBJ variable. Updated rules accordingly. (melt_module): Use melt_workspace. (melt_workspace): New phony target. * melt/warmelt-base.melt (string4out): New function. * melt/xtramelt-probe.melt (scanprobe_exec): Use it. 2012-06-16 Basile Starynkevitch * melt-build.tpl (meltarg_genworklink): Define and use it. * melt-build.mk: Regenerate. * melt/warmelt-base.melt (checkval_dbg): Cast argument to void to avoid warnings in generated C file. 2012-06-16 Basile Starynkevitch * melt-runtime.c (melt_output_cfile_decl_impl_secondary_option): Detect when symlinked work source already exists and is same... 2012-06-16 Basile Starynkevitch * melt-runtime.c: Re-indent with both astyle & indent. (melt_output_cfile_decl_impl_secondary_option): Initialize workdir, add debug.. 2012-06-16 Basile Starynkevitch * common.opt (fmelt-generate-work-link): New flag. * doc/melt.texi (Invoking MELT): Explain -fmelt-bootstrapping, -fmelt-debugging, -fmelt-generate-work-link. * melt-runtime.c (melt_flag_generate_work_link): Declare when MELT_IS_PLUGIN. (melt_argument): Handle "generate-work-link". (melt_string_hex_md5sum_file_to_hexbuf): New static function. (meltgc_string_hex_md5sum_file): Use it. (melt_output_cfile_decl_impl_secondary_option): Use melt_flag_generate_work_link, etc. 2012-06-15 Basile Starynkevitch * melt/xtramelt-ana-base.melt (basicblock_nb_pred) (basicblock_nth_pred_edge, basicblock_nth_succ_edge): New primitives. * melt/xtramelt-probe.melt (scanprobe_exec): Should show edges. 2012-06-15 Basile Starynkevitch * melt/xtramelt-probe.melt (scanprobe_exec): Show gimple number in basic blocks. 2012-06-15 Basile Starynkevitch * melt/xtramelt-probe.melt (scanprobe_exec): Show the gimpleseq when non-empty. 2012-06-14 Basile Starynkevitch * melt/xtramelt-probe.melt (probe_get_file_of_name) (probe_get_interesting_location): Improve typography of commands sent to probe. (info_location_probe): Title is correctly made. (scanprobe_exec): Use output_tree_briefly. 2012-06-13 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_integer_method): Output specially constant integers. * melt/xtramelt-probe.melt (send_command_to_probe): More debug. 2012-06-13 Basile Starynkevitch * melt/warmelt-base.melt (add2out): Improve error messages. 2012-06-13 Basile Starynkevitch * melt/xtramelt-ana-base.melt (output_tree): New function. * melt/xtramelt-ana-gimple.melt (output_gimple, output_gimpleseq): New functions. * melt/xtramelt-probe.melt (scanprobe_exec): Use them. 2012-06-13 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-06-13 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_bucketlong_method): Emit better indentation. * melt/xtramelt-ana-probe.melt (probe_get_interesting_location): Better. 2012-06-13 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_bucketlong_method): New method for dbg_out on discr_bucket_longs. * melt/xtramelt-ana-probe.melt (probe_get_file_of_name): Better debug. 2012-06-12 Basile Starynkevitch * melt/xtramelt-ana-probe.melt (scanprobe_exec): Walk thru the gimpleseq and give to probe information on gimples & trees of basic blocks. 2012-06-07 Basile Starynkevitch * melt/xtramelt-ana-base.melt (basicblock_index): New primitive. * melt/xtramelt-ana-probe.melt (scanprobe_exec): Walk thru the gimpleseq, but incomplete. 2012-06-06 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_return): Check secondary result types. * melt/warmelt-genobj.melt (compilobj_nrep_return): Use foreach_in_multiple not multiple_every. * melt/warmelt-outobj.melt (outpucod_objputxtraresult): Issue an error when a result has an impossible ctype (e.g. ctype_string). * melt/xtramelt-probe.melt (probe_tree_interesting_location) (probe_gimple_interesting_location): Cast argument to meltgc_new_string in code chunks. (info_location_probe): Call the stored closures. (scanprobe_exec): Add informer on function declaration. 2012-06-06 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-06-06 Basile Starynkevitch * melt-runtime.c (melt_raw_sigio_signal): sig can be SIGIO or SIGPIPE. * melt/warmelt-debug.melt (melt_debug_fun): Use block_signals. 2012-06-05 Basile Starynkevitch * melt/xtramelt-probe.melt (scanprobe_exec): Incomplete. 2012-06-04 Basile Starynkevitch * melt/xtramelt-probe.melt (scanprobe_exec): New stub. (install_scanprobe_pass): New function. (probe_docmd): Call it. 2012-06-04 Basile Starynkevitch * melt-runtime.h (meltgc_walk_gimple_seq): New declaration. * melt-runtime.c (meltgc_walk_gimple_seq): New function. (meltgc_walkstmt_cb, meltgc_walktree_cb): New internal functions. * melt/xtramelt-ana-gimple.melt (walk_gimple_seq) (walk_gimple_seq_unique_tree): New primitives. * melt/xtramelt-probe.melt (info_location_probe): New stub function. (start_probe): Call it. 2012-06-01 Basile Starynkevitch * melt/xtramelt-probe.melt (probe_gimple_interesting_location): New function. 2012-06-01 Basile Starynkevitch * melt/xtramelt-probe.melt (probe_tree_interesting_location): New function. 2012-05-31 Basile Starynkevitch * melt/warmelt-first.melt (foreach_in_multiple): Emit better comment. * melt/xtramelt-probe.melt (class_probed_file): Add probedfile_linesbucket field. (class_probed_interesting_location): New class wirh probiloc_* fields. (class_probed_data): Add probedata_ilocvec & probedata_nbiloc fields. (probe_get_interesting_location): New function. (start_probe): Export function. 2012-05-30 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-05-30 Basile Starynkevitch * melt/warmelt-normatch.melt: Use deref, not content. 2012-05-30 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. * melt-predef.list (CLASS_CONTAINER): Remove. * melt/warmelt-macro.melt: Use set_ref macro instead of set_reference function. * melt/warmelt-outobj.melt: Ditto. * melt/warmelt-modes.melt: Ditto. * melt/warmelt-base.melt: Ditto. * melt/warmelt-normal.melt: Ditto. * melt/warmelt-normatch.melt: Ditto. * melt/warmelt-debug.melt: Ditto. * melt/xtramelt-opengpu.melt: Ditto. * melt/xtramelt-probe.melt: Ditto. 2012-05-30 Basile Starynkevitch * make-warmelt-predef.awk: Emit comment for lisp emacs mode. * melt-predef.list: Comment out CLASS_CONTAINER. 2012-05-30 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+05.c: New generated file. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-05-30 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_reference) (patexpand_reference): New functions renaming of mexpand_container & patexpand_container. (mexpandobsolete_container, patexpandobsolete_container): expansion for obsolete container macro. (mexpand_deref, mexppand_set_ref): New functions with mexpand_deref renaming mexpand_content. (mexpandobsolete_content): expansion for obsolete content macro. 2012-05-29 Basile Starynkevitch * melt-runtime.h (melt_container_value, meltgc_new_container) (meltgc_container_put, MELTGLOB_CLASS_REFERENCE) (MELTFIELD_REFERENCED_VALUE, MELTLENGTH_CLASS_REFERENCE): Remove macros. * melt-runtime.c (meltfieldoff__CONTAINER_VALUE) (meltclasslen__CLASS_CONTAINER): Remove. 2012-05-29 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c * melt/generated/meltrunsup.h * melt/generated/warmelt-base+01.c * melt/generated/warmelt-base+02.c * melt/generated/warmelt-base+meltdesc.c * melt/generated/warmelt-base+melttime.h * melt/generated/warmelt-base.c * melt/generated/warmelt-debug+01.c * melt/generated/warmelt-debug+meltdesc.c * melt/generated/warmelt-debug+melttime.h * melt/generated/warmelt-debug.c * melt/generated/warmelt-first+01.c * melt/generated/warmelt-first+02.c * melt/generated/warmelt-first+03.c * melt/generated/warmelt-first+meltdesc.c * melt/generated/warmelt-first+melttime.h * melt/generated/warmelt-first.c * melt/generated/warmelt-genobj+01.c * melt/generated/warmelt-genobj+04.c * melt/generated/warmelt-genobj+05.c * melt/generated/warmelt-genobj+meltdesc.c * melt/generated/warmelt-genobj+melttime.h * melt/generated/warmelt-genobj.c * melt/generated/warmelt-macro+01.c * melt/generated/warmelt-macro+02.c * melt/generated/warmelt-macro+03.c * melt/generated/warmelt-macro+04.c * melt/generated/warmelt-macro+meltdesc.c * melt/generated/warmelt-macro+melttime.h * melt/generated/warmelt-macro.c * melt/generated/warmelt-modes+01.c * melt/generated/warmelt-modes+02.c * melt/generated/warmelt-modes+meltdesc.c * melt/generated/warmelt-modes+melttime.h * melt/generated/warmelt-modes.c * melt/generated/warmelt-normal+01.c * melt/generated/warmelt-normal+02.c * melt/generated/warmelt-normal+03.c * melt/generated/warmelt-normal+04.c * melt/generated/warmelt-normal+05.c * melt/generated/warmelt-normal+meltdesc.c * melt/generated/warmelt-normal+melttime.h * melt/generated/warmelt-normal.c * melt/generated/warmelt-normatch+01.c * melt/generated/warmelt-normatch+02.c * melt/generated/warmelt-normatch+04.c * melt/generated/warmelt-normatch+meltdesc.c * melt/generated/warmelt-normatch+melttime.h * melt/generated/warmelt-normatch.c * melt/generated/warmelt-outobj+01.c * melt/generated/warmelt-outobj+02.c * melt/generated/warmelt-outobj+03.c * melt/generated/warmelt-outobj+04.c * melt/generated/warmelt-outobj+meltdesc.c * melt/generated/warmelt-outobj+melttime.h * melt/generated/warmelt-outobj.c 2012-05-29 Basile Starynkevitch * melt-predef.list (CLASS_REFERENCE): New (CLASS_CONTAINER): Obsolete. * melt-runtime.c (meltfieldoff__CONTAINER_VALUE) (meltclasslen__CLASS_CONTAINER): New, temporarily. * melt-runtime.h (MELTGLOB_CLASS_REFERENCE) (MELTFIELD_REFERENCED_VALUE,MELTLENGTH_CLASS_REFERENCE): #define-d only #ifndef MELT_HAS_PREDEF_CLASS_REFERENCE. * melt/warmelt-first.melt (class_reference): New predefined... * melt/warmelt-modes.melt (generate_runtypesupport_predef_fields): Emit #define MELT_HAS_PREDEF_ 2012-05-29 Basile Starynkevitch {{Speak of "references", not "containers"}} * melt-runtime.h (MELTGLOB_CLASS_REFERENCE): temporary macro for MELTGLOB_CLASS_CONTAINER. (MELTFIELD_REFERENCED_VALUE): temporary macro for MELTFIELD_CONTAINER_VALUE. (MELTLENGTH_CLASS_REFERENCE): temporary macro for MELTLENGTH_CLASS_CONTAINER. (melt_container_value): macro, for renamed ... (melt_reference_value): New function. (meltgc_new_container): macro, for renamed ... (meltgc_new_reference): New function. (meltgc_container_put): macro, for renamed ... (meltgc_reference_put): New function. Add #warning about temporary renaming. * melt-runtime.c (meltgc_new_reference, meltgc_reference_put): New function, renaming ... (meltgc_new_container, meltgc_reference_put): Renamed functions.. (meltgc_poll_inputs): Bette debugeprintf. * melt/warmelt-genobj.melt (compile2obj_initproc): Emit melt_reference_value not melt_container_value. * melt/warmelt-macro.melt: Use class_reference instead of class_container. * melt/warmelt-modes.melt: Ditto. * melt/warmelt-normal.melt: Ditto. * melt/warmelt-normatch.melt: Ditto. * melt/warmelt-outobj.melt: Ditto. * melt/xtramelt-ana-simple.melt: Ditto. * melt/xtramelt-opengpu.melt: Ditto. * melt/xtramelt-probe.melt: Ditto. 2012-05-29 Basile Starynkevitch {{Speak of "references", not "containers", which was used improperly in MELT}} * melt/warmelt-first.melt (class_reference): Synonym for class_container. (referenced_value): Synonym for field container_value. * melt/warmelt-base.melt (set_reference): Was set_content. (melt_mode_reference): was melt_mode_container (set_content, melt_mode_container): Obsolete synonyms * melt/warmelt-macro.melt (reference): same as container macro. (deref): same as content macro. * melt/warmelt-normal.melt: Change names accordingly * melt/warmelt-normatch.melt: Ditto * melt/warmelt-outobj.melt: Ditto * melt/warmelt-modes.melt: Ditto * melt/xtramelt-probe.melt: Ditto * melt/xtramelt-opengpu.melt: Ditto 2012-05-15 Basile Starynkevitch * melt/xtramelt-probe.melt (probe_start): New function. (probe_docmd): Call it. 2012-05-15 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): Retrieve the closure correctly. Seems to work. 2012-05-15 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): On end of input, replace the handler with :TRUE. 2012-05-15 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): handling end of input for POLLHUP etc... 2012-05-14 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): Even more debugprintf. 2012-05-14 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): Even more debugprintf. 2012-05-14 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): More debugprintf. 2012-05-14 Basile Starynkevitch * melt-runtime.c (meltgc_poll_inputs): Always calls poll, even when nbfd is 0. More debugprintf. * melt/xtramelt-probe.melt (probe_at_exit): More debug. 2012-05-14 Basile Starynkevitch * melt/warmelt-first.melt (foreach_pair, foreach_in_list): Move up. (init_exitfinalizer): Add code chunks for debugeprintf. Use foreach_in_list instead of list_every. 2012-05-14 Basile Starynkevitch * melt-build.tpl: Always include the warmelt*.c for md5sum. * melt-build.mk: Regenerate. 2012-05-14 Basile Starynkevitch * melt/warmelt-modes.melt: Always register child_process_sigchld_handler because it also handles probe ending. 2012-05-14 Basile Starynkevitch * melt-runtime.h (melt_interrupted, melt_blocklevel_interrupts) (MELT_CHECK_INTERRUPT): Remove compatibility macros. 2012-05-14 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-05-14 Basile Starynkevitch {{Use "signal" not "interrupt" in names}} * melt-runtime.h (melt_interrupted): Rename as (melt_signaled). (melt_blocklevel_interrupts): Rename as (melt_blocklevel_signals). (MELT_CHECK_INTERRUPT): Rename as (MELT_CHECK_SIGNAL). (melt_interrupted, melt_blocklevel_interrupts) (MELT_CHECK_INTERRUPT): Temporary macros for old compatibility. * melt-runtime.c: Use MELT_CHECK_SIGNAL everywhere instead of MELT_CHECK_INTERRUPT. (melt_interrupted): Rename as ... (melt_signaled): New. (melt_handle_interrupt): Rename as ... (melt_handle_signal): New. * melt/warmelt-first.melt: Mention MELT_CHECK_SIGNAL in comments * melt/warmelt-base.melt (block_signals): Use MELT_CHECK_SIGNAL. * melt/warmelt-normal.melt (class_nrep_checkinterrupt): Rename as (class_nrep_checksignal): New. * melt/warmelt-normatch.melt (normexp_match, normexp_altmatch): Use class_nrep_checksignal. * melt/warmelt-genobj.melt (compilobj_nrep_checkinterrupt): Rename as (compilobj_nrep_checksignal): New, and use class_objchecksignal. * melt/warmelt-outobj.melt (outpucod_procroutine): Emit current_blocklevel_signals_*_melt and melt_blocklevel_signals. (outpucod_objcheckinterrupt): Rename as ... (outpucod_objchecksignal): ... emit MELT_CHECK_SIGNAL 2012-05-14 Basile Starynkevitch * melt-runtime.h (melt_wait_for_probe): Declare. * melt-runtime.c (melt_wait_for_probe): No more static. * melt/warmelt-base.melt (block_interrupts): Remove, since renamed as ... (block_signals): Add. * melt/warmelt-modes.melt (unregister_alarm_timer): Done. (childproc_bucket_container): New. (child_process_sigchld_handler): New. (register_child_process_handler): Implement. 2012-05-11 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-05-11 Basile Starynkevitch * melt-runtime.h (melt_blocklevel_interrupts): New declaration. (MELT_CHECK_INTERRUPT): Use it. * melt-runtime.c (melt_blocklevel_interrupts): New variable. * melt/warmelt-base.melt (block_interrupts): New c-interator. * melt/warmelt-outobj.melt (outpucod_procroutine): Save and restore the melt_blocklevel_interrupts at prologue & epilogue. * melt/warmelt-modes.melt (register_alarm_handler) (unregister_alarm_timer): Use block_interrupts. 2012-05-11 Basile Starynkevitch {{for merge with trunk svn 187397, since gimple_seq are disappearing in GCC 4.8}} * melt-runtime.h (melt_gt_ggc_mx_gimple_seq_d): New declaration (gt_ggc_mx_gimple_seq_d): Macro defined when GCC 4.8 only. * melt-runtime.c (melt_gt_ggc_mx_gimple_seq_d): New function, defined for GCC 4.8 only. * melt/warmelt-debug.melt (melt_debug_fun): Add cast in our warning diagnostic to avoid a warning. 2012-05-11 Basile Starynkevitch * melt-module.mk (MELT_AUTOHOST_H): New. (MELTGCC_BUILD_WITH_CXX): Use it. 2012-05-09 Basile Starynkevitch * melt-runtime.h (melt_set_real_timer_millisec): New declaration. (melt_longsbucket_nth_key, melt_longsbucket_nth_val): New functions. * melt-runtime.c (melt_set_real_timer_millisec): New function. * melt/warmelt-first.melt (bucketlong_nth_key) (bucketlong_nth_val): New primitives. * melt/warmelt-base.melt (relative_time_millisec) (set_real_timer_millisec): New primitives. * melt/warmelt-modes.melt (handle_alarm_signal) (register_alarm_handler): New functions. 2012-05-09 Basile Starynkevitch * melt-runtime.h (melt_relative_time_millisec): New declaration. * melt-runtime.c (melt_relative_time_millisec): New function. * melt/warmelt-modes.melt: Improve stubs. 2012-05-09 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_defun): Signal error for empty body. * melt/warmelt-modes.melt (register_alarm_timer) (register_child_process_handler, register_input_channel_handler) (unregister_alarm_timer, unregister_child_process_handler): New stubs. * melt/xtramelt-probe.melt (show_version_probe): Send a SETSTATUS_pcd command. 2012-05-09 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-05-09 Basile Starynkevitch * melt-runtime.h (melt_got_sigchld): New volatile variable. (melt_argdescr_length): Better cast. (melt_probe_start): Return the pid. * melt-runtime.c (melt_got_sigchld): New volatile variable. (melt_probe_start): Return the pid. (melt_raw_sigchld_signal): New. (melt_install_signal_handlers): Use it. (meltgc_handle_sigalrm): Count them. (meltgc_handle_sigchld): New stub. (meltgc_handle_interrupt): Deal with SIGCHLD. * melt-predef.list (CLASS_ALARM_HANDLER) (CLASS_CHILD_PROCESS_HANDLER): New. * melt/warmelt-first.melt (class_alarm_handler) (class_child_process_handler): New. 2012-05-09 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-05-09 Basile Starynkevitch * melt-runtime.h (melt_argdescr_length): Handle MELTPAR_MARKGGC ie (void*)-1L as null. * melt/warmelt-modes.melt (makedoc_genmacro): Add debug. (makedoc_genmacro, makedoc_genciterator): Sort correctly. 2012-05-09 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9.6-pre * Makefile.in (melt-runtime-params-inc.c): Add melt_header_dir. (melt_header_dir): New variable. (install-plugin): Install the MELT headers separately. (melt_version_string): New variable. (melt_source_dir, melt_header_dir, melt_module_dir) (melt_installed_module_makefile): Use it. 2012-05-07 Basile Starynkevitch * melt/xtramelt-probe.melt (probe_docmd): Initialize the probedata_reqhdict slot. 2012-05-07 Basile Starynkevitch * melt-build.tpl (melt-clean): Only remove meltgen*texi files. * melt-build.mk: Regenerate. 2012-05-07 Basile Starynkevitch * melt/xtramelt-probe.melt (probe_register_request_verb) (probe_register_request_verb): More debug. 2012-05-07 Basile Starynkevitch * melt-runtime.c (meltgc_read_from_rawstring): Keep valv in its frame slot. 2012-05-07 Basile Starynkevitch * melt-runtime.c (melt_skipspace_getc): Skip terminating newline in buffers. 2012-05-07 Basile Starynkevitch * melt-runtime.h (melt_basename): New function. (debugeprint*): Use it in macros. * melt-runtime.c: Use it everywhere. 2012-05-07 Basile Starynkevitch * melt-runtime.c: indented with astyle -gnu -s2 command. 2012-05-07 Basile Starynkevitch * melt-runtime.c (melt_probe_start): Test that the probe did not terminate at once... 2012-05-07 Basile Starynkevitch * melt-runtime.c (melt_send_command_strbuf_to_probe): Test existence of probe process before sending... 2012-05-07 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-05-07 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_bucketlongs): Better copying & cloning routines. 2012-05-05 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-05-05 Basile Starynkevitch * melt/warmelt-base (valdesc_bucketlongs): Add asserts * melt-runtime.c (melt_check_call_frames_at) (meltnbcheckcallframes, meltthresholdcheckcallframes): Only #if ENABLE_GC_CHECKING. 2012-05-05 Basile Starynkevitch * melt-runtime.c (meltgc_new_longsbucket): Correct allocated & cleared size. 2012-05-04 Basile Starynkevitch * melt-runtime.c (MELT_PROBE_QUIT_COMMAND): Add newline and delay. * melt/xtramelt-probe.melt (probe_register_request_verb) (show_version_probe): New (probe_docmd): Register VERSION_prq verb. 2012-05-04 Basile Starynkevitch * melt-runtime.c: include (melt_probe_start): Rewritten to use wordexp & wordfree. 2012-05-03 Basile Starynkevitch * melt-runtime.c (melt_probe_start): Add exec to command. The file descriptors are still probably wrong. * melt/xtramelt-probe.melt (probe_docmd): Return true. 2012-05-02 Basile Starynkevitch * melt-runtime.c (melt_send_command_strbuf_to_probe): Add debug print. 2012-05-02 Basile Starynkevitch * melt-runtime.c (meltgc_new_real_accessible_path_string): Add cast. (melt_probe_start): Move debug messages. (melt_send_command_strbuf_to_probe): Add CONST_CAST. 2012-05-02 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-05-02 Basile Starynkevitch * melt-runtime.c (melt_get_inisysdata): Move out... * melt-runtime.h (melt_get_inisysdata): Move to here * melt/warmelt-base.melt (poll_all_inputs): New primitive. * melt/xtramelt-probe.melt (class_probe_data): Add probedata_cmdtoprobefd & probedata_reqfromprobefd fields. (probe_request_processor): Clear them on EOF. (probe_at_exit): New internal function. (probe_docmd): Fill them, and register at exit.. 2012-04-27 Basile Starynkevitch * melt/warmelt-first.melt (class_input_channel_handler): Add documentation. * melt/warmelt-modes.melt (register_input_channel_handler): Add documentation. Set the magic number to the fd. * melt/xtramelt-probe.melt (class_probe_data): Add probedata_reqhdict & probedata_aux fields. (probe_get_data): New function. (probe_request_processor): New internal function. (probe_docmd): Start the probe and register its input handler. 2012-04-27 Basile Starynkevitch * melt/warmelt-macro.melt (when,unless): Add macro for syntactic sugar. (mexpand_when, mexpand_unless): New sugaring macro expanders. * melt/xtramelt-probe.melt (class_probed_file, class_probe_data): New classes. (probe_get_file_of_name, send_command_to_probe) (send_object_to_probe): New functions or selector. 2012-04-27 Basile Starynkevitch * melt-runtime.h (meltgc_new_real_accessible_path_string): New declaration. * melt-runtime.c (meltgc_new_real_accessible_path_string): New function. * melt/warmelt-base.melt (make_string_real_access_path) (make_string_real_access_path_value): New primitives. * melt/xtramelt-ana-base.melt (main_input_filename): New primitive. 2012-04-26 Basile Starynkevitch * melt-runtime.h (melt_send_command_strbuf_to_probe): New declaration. * melt-runtime.c (melt_send_command_strbuf_to_probe): New function. * melt/warmelt-base.melt (add2out_cenconst): New primitive. * melt/xtramelt-probe.melt (send_object_to_probe): New selector. * melt/xtramelt-probe.melt (send_command_to_probe): New function. 2012-04-26 Basile Starynkevitch * common.opt (-fmelt-probe=): New, using melt_probe_string variable. * melt-runtime.h (melt_probe_start): Improve comment. * melt-runtime.c (melt_argument): Handle "probe". (melt_probe_start): Guess the probecmd if none given. (melt_really_initialize): When print-settings, output the MELTGCCBUILTIN_PROBE. * Makefile.in (melt_default_probe): New. (melt-runtime-params-inc.c): Use it. 2012-04-26 Basile Starynkevitch * melt-runtime.c (melt_wait_for_probe): Add waitopt formal. (melt_probe_stop): Use it. The last wait is blocking, but should never happen... 2012-04-25 Basile Starynkevitch * melt-runtime.h (melt_probe_stop, melt_probe_start): New declarations. * melt-runtime.c (melt_probe_pid, melt_probe_reqfrom_fd) (melt_probe_cmdto_fd, melt_wait_for_probe): New static variables & function. (melt_probe_stop, melt_probe_start): New function. (melt_install_signal_handlers): Handle SIGPIPE like SIGIO. 2012-04-25 Basile Starynkevitch * melt-runtime.c (melt_raw_sigio_signal, melt_raw_sigalrm_signal) (meltgc_poll_inputs): More comments about signal handling. (melt_install_signal_handlers): Handle SIGVTALRM. (meltgc_handle_sigalrm): Implement it. 2012-04-25 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-04-25 Basile Starynkevitch * melt-build.def: Add xtramelt-probe.melt * melt-build.mk: Regenerate. * melt-runtime.c: Add comments about signal handling. * melt/warmelt-first.melt (class_initial_system_data): Add comments and sysdata_alarm_hook field. * melt/xtramelt-probe.melt: New file. 2012-04-24 Basile Starynkevitch * melt-build.def: Add xtramelt-ana-tree.melt & xtramelt-ana-gimple.melt * melt-build.mk: Regenerate. * melt/warmelt-normal.melt (normexp_export_values): Replace multiple_every with foreach_in_multiple. * melt/xtramelt-ana-base.melt: Split into several files, that is xtramelt-ana-base.melt & xtramelt-ana-tree.melt & xtramelt-ana-gimple.melt. * melt/xtramelt-ana-tree.melt: New file. * melt/xtramelt-ana-gimple.melt: New file. 2012-04-24 Basile Starynkevitch * melt/warmelt-base.melt (void, variadic_type_code): Less warnings in macrostrings. {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-04-24 Basile Starynkevitch * melt/warmelt-outobj.melt (syntestgen_cmatcher): Emit locations... 2012-04-24 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_defcmatcher): Add scmatdef_testloc, scmatdef_fillloc, scmatdef_operloc fields. (mexpand_defcmatcher): Fill them. 2012-04-23 Basile Starynkevitch * melt-runtime.c (meltgc_new_int, meltgc_new_mixint) (meltgc_new_mixloc): Give default discr if passed null. * melt/warmelt-first.melt (class_primitive): Better doc. * melt/warmelt-macro.melt (class_source_defprimitive): Add sprim_exploc field. (mexpand_defprimitive): Fill it. (class_source_defciterator): Add sciterdef_beforeloc & sciterdef_afterloc fields. (mexpand_defciterator): Fill them. * melt/warmelt-outobj.melt (syntestgen_primitive): Emit precise location of chunk. (syntestgen_citerator): Likewise. 2012-04-23 Basile Starynkevitch * melt-runtime.c (READ_WARNING): Macro renamed as (MELT_READ_WARNING): New macro ... (enum melt_macrostring_en): New. (meltgc_makesexpr): Use it. (melt_compile_source, meltgc_readmacrostringsequence) (meltgc_readval): Ditto. 2012-04-23 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-04-23 Basile Starynkevitch {{improvements for merging with GCC 4.8 trunk svn rev 186692}} * melt-run.proto.h (MELT_GCC_VERSION): Define, if unknown, in the generated melt-run.h file. * melt-runtime.c (melt_val2passflag): TODO_dump_func & TODO_dump_cgraph don't exist in GCC 4.8. * melt-build.tpl: Say flavor, not variant! Build first the quicklybuilt application modules, to catch error in macro C strings... * melt-build.mk: Regenerate. * melt/warmelt-base.melt (valdesc_strbuf): Check for MELT_GCC_VERSION also. * melt/warmelt-genobj.melt (compilobj_nrep_citeration): Use meltcit prefix in generated citerator names.. * melt/warmelt-outobj.melt (syntestgen_citerator): Use meltcitstate prefix. * melt/xtramelt-ana-base.melt (each_cgraph_fun_body) (each_cgraph_fun_entryblock, each_cgraph_fun_call_flow_graph) (each_bb_cfun, with_cfun_decl): Adapt to GCC 4.8, add documentation. (each_cgraph_decl): Only for GCC 4.6 & 4.7 2012-04-15 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Don't print null strings for print-settings 2012-04-15 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): For "print-settings" argument print MELTGCCBUILTIN_BUILD_WITH_CXX. 2012-04-15 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.5+ (melt_assert_failed,melt_check_failed): Declare even without ENABLE_ASSERT_CHECKING 2012-04-12 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.5 for release. 2012-04-12 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Added a lot of :doc strings. (gimple_switch): Also extracting TDEFLAB. (foreach_case_of_gimple_switch): New local CASEIX. (tree_result_decl_of_name): Extracting more. 2012-04-11 Basile Starynkevitch * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-04-11 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.5-rc4 2012-04-11 Basile Starynkevitch * melt/warmelt-modes.melt (translatetomodule_docmd): Pass the curenv to translate_to_flavored_module. Fix bug reported in 0.9.5rc3 by Alexandre Lissy. 2012-04-10 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-04-10 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_transaction) (gimple_eh_else): Define and export only for GCC 4.7. 2012-04-10 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_gccif): Accept a list of strings as version. 2012-04-10 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumping to 0.9.5rc3 2012-04-10 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_predict): New. 2012-04-10 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_try, gimple_try_catch) (gimple_try_finally): New. 2012-04-10 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-04-10 Basile Starynkevitch * melt/warmelt-base.melt (variadic_skip): Fictive use of $DELTA outside of variadic functions. * melt/warmelt-outobj.melt (outpucod_initialroutine): The emitted forward_or_mark_module & initialmeltchunk routines are prefixed meltmod. * melt/warmelt-modes.melt (register_input_channel_handler): Add casts in printf. 2012-04-10 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_catch, gimple_eh_dispatch) (gimple_eh_else, gimple_eh_filter, gimple_eh_must_not_throw) (gimple_resx): New. 2012-04-10 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Add or improve documentation of many cmatchers. (gimple_transaction): New cmatcher. 2012-04-10 Basile Starynkevitch * melt-runtime.h (melt_plugin_gcc_version) (melt_gccplugin_version): New declarations. * melt-runtime.c (melt_plugin_gcc_version) (melt_gccplugin_version): New variable definitions. * melt-run.proto.h: Remove include of "plugin-version.h" 2012-04-10 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_cond, gimple_cond_ltgt) (gimple_cond_ordered, gimple_cond_uneq, gimple_cond_unge) (gimple_cond_ungt, gimple_cond_unle, gimple_cond_unlt) (gimple_cond_unordered, gimple_error_mark): New. 2012-04-06 Basile Starynkevitch * melt-module.mk (GCCMELT_QUICKLYBUILT_FLAGS): Add -Wall. 2012-04-06 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-04-06 Basile Starynkevitch * melt/warmelt-first.melt (mapobject_auxput): Typo. * melt/warmelt-outobj.melt (syntestgen_cmatcher): Emit code for out variables to avoid warnings in C code. 2012-04-06 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-04-06 Basile Starynkevitch * melt/warmelt-outobj.melt (syntestgen_citerator): Emit a useless test for each body formal, to avoid warnings on the C code. 2012-04-05 Basile Starynkevitch * melt-module.mk (MELTGCC_BUILD_WITH_CXX): File auto-host.h might be in current dir... 2012-04-04 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_macroexpanded_list): Give warnings when outputing huge buffers, above half their limits. 2012-04-04 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-04-04 Basile Starynkevitch * melt-build.tpl: Translate the xtramelt*melt files with both quicklybuilt & optimized flavors of translator. * melt-build.mk: Regenerate. * melt/warmelt-macro.melt: Ensure that every call to expand_pairlist_as_tuple gets its modctx. * melt/warmelt-normal.melt (normexp_apply): Better error message when applying a non-value... * melt/warmelt-outobj.melt (buffer_limit_cont): Increase it. 9Mbytes of output is not enough. (outpucod_objinielem, output_predef, outcinitfill_objinitobject) (outcinitpredef_objinitobject, outcinitfill_objinitmultiple) (outcinitfill_objinitclosure, outcinitfill_objinitroutine) (outcinitfill_objinitstring, outcinitfill_objinitboxedinteger) (outcinitfill_objinitpair, outcinitfill_objinitlist) (output_raw_location, output_location, output_curframe_declstruct) (outpucod_procroutine, output_curframe_cdat_struct) (output_curframe_cdat_fill, outpucod_initialroutine): Add debug messages and backtraces for very big strbuffers. * melt/xtramelt-ana-base.melt (gimple_seq_alloc) (gimple_seq_add_stmt, gimple_seq_boxed_add_stmt) (gimple_seq_boxed_add_seq, gimple_seq_boxed_make_fill) (gimple_seq_boxed_make_fill): New primitives or function. 2012-04-02 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.5rc2 2012-04-02 Basile Starynkevitch * melt-build.tpl (meltframe.args-tmp): Typo. * melt-build.mk: Regenerate. 2012-04-02 Basile Starynkevitch * melt-runtime.h (melt_checked_assignmsg_at): Cast argument of melt_discr. (melt_checked_assign_internal, melt_checked_assignmsg_internal): New internal macros. (melt_checked_assign, melt_checked_assignmsg): Use them. * melt-module.mk (GCCMELT_CC, MELTCC, MELTGCC_BUILD_WITH_CXX): New, like in contrib/MELT-Plugin-Makefile. * melt-build.tpl (meltframe.args-tmp): Test for include-fixed may fail. * melt-build.mk: Regenerate. 2012-03-31 Basile Starynkevitch * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-31 Basile Starynkevitch * melt/warmelt-base.melt (add2sbuf_dynloaded_suffix) (make_string_without_dynloaded_suffix, string_dynloaded_suffixed): New primitives. * melt/warmelt-outobj.melt (translate_macroexpanded_list) (translate_to_c_one_or_more_melt_files): Use them. * melt/warmelt-modes.melt: Also use them. 2012-03-31 Romain Geissler * melt-module.mk (SHARED_LIBRARY_FLAGS): New. Use it for all our flavors. 2012-03-31 Basile Starynkevitch with help from Romain Geissler * melt-runtime.h (MELT_DYNLOADED_SUFFIX): New constant macro. * melt-runtime.c (meltgc_new_string_generated_c_filename) (melt_load_module_index): Use it. (meltgc_poll_inputs): Remove test of _POSIX_C_SOURCE. 2012-03-30 Basile Starynkevitch * melt-build.tpl (melt-clean): Don't remove all melt*.c files! * melt-build.mk: Regenerate. 2012-03-29 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.5rc1 2012-03-29 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-29 Basile Starynkevitch {{all the generated values are declared melt_ptr_t, not void* anymore}} * melt/warmelt-genobj.melt (compile2obj_initproc): Emit cast for getprevenv. * melt/warmelt-outobj.melt: Emit melt_ptr_t in all value initializers. 2012-03-28 Basile Starynkevitch * melt/xtramelt-ana-base.melt (is_edge, mapgimple_remove) (maptree_remove, mapedge_remove, maploop_remove, maptree_remove): Add cast for C++. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_seq_add_seq) (gimple_seq_add_stmt, gimple_seq_boxed_add_seq) (gimple_seq_boxed_add_stmt): Remove. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt: More casts for C++. * melt/xtramelt-ana-simple.melt: More casts for C++. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt: More casts for C++. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt: More casts for C++. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt: More casts for C++. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt (loop_body_tuple): Typo. 2012-03-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt (each_bb_cfun): Typo. 2012-03-27 Basile Starynkevitch * melt-make-string.c (main): Output extern "C" for C++... 2012-03-27 Basile Starynkevitch * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Emit declaration of melt_versionmeltstr as extern "C". * melt-runtime.c (melt_load_module_index): Expect the melt_versionmeltstr to be long enough. 2012-03-27 Basile Starynkevitch * melt-build.tpl (MELT_ZERO_GENERATED_[+mkvarsuf+]_CUMULMD5): Skip line with extern in awk program. * melt-build.mk: Regenerate. {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-27 Basile Starynkevitch * melt-runtime.c (melt_load_module_index): Ignore descriptive lines with extern "C". Expect the cumulated md5 to be not too short. 2012-03-27 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Emit extern "C" for each descriptor symbol. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-27 Basile Starynkevitch * melt-runtime.c (melt_load_module_index): Got additional errorp formal. Set it to dlerror () in MELTDESCR_REQUIRED_SYMBOL. * melt/warmelt-outobj.melt (output_melt_descriptor): Emit extern "C" for each timestamp symbol. 2012-03-27 Basile Starynkevitch * melt/warmelt-outobj.melt (output_exported_offsets): Wrap with extern "C" the generated constant offsets & classlen. {{Regenerate}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-outobj.melt (outpucod_initialroutine) (output_melt_descriptor): Emit code wrapping extern "C" 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-modes.melt: More casts for C++. 2012-03-27 Basile Starynkevitch * melt-module.mk (GCCMELT_QUICKLYBUILT_FLAGS): Remove -Wc++-compat 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9.5rc0 2012-03-27 Basile Starynkevitch * melt/warmelt-modes.melt: More casts for C++. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-base.melt: More casts for C++. * melt/warmelt-modes.melt: Ditto. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-outobj.melt: More casts for C++. 2012-03-27 Basile Starynkevitch * melt/warmelt-base.melt (add2sbuf_mixloc): Typo. {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt-module.mk (GCCMELT_QUICKLYBUILT_FLAGS): Temporarily add -Wc++-compat * melt/warmelt-first.melt: Add casts. * melt/warmelt-base.melt: Likewise. * melt/warmelt-debug.melt: Likewise. * melt/warmelt-outobj.melt: Likewise. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-base.melt: More casts. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-debug.melt: Add casts. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-first.melt: Add cast. * melt/warmelt-base.melt: Add cast. 2012-03-27 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-27 Basile Starynkevitch * melt/warmelt-base.melt (get_globpredef): Cast result. 2012-03-26 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-26 Basile Starynkevitch * melt/warmelt-first.melt: Cast to melt_ptr_t. 2012-03-26 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-26 Basile Starynkevitch * melt/warmelt-outobj.melt: Cast to melt_ptr_t. * melt/warmelt-modes.melt: Ditto. * melt/warmelt-first.melt: Ditto. * melt/xtramelt-ana-base.melt: Ditto. 2012-03-26 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-26 Basile Starynkevitch * melt/warmelt-first.melt: Casting to melt_ptr_t. More pretty macrostrings. * melt/waremelt-base.melt: Ditto. 2012-03-26 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-26 Basile Starynkevitch * melt/warmelt-first.melt: Cast value for MELT_STORE_PREDEF. * melt/warmelt-genobj.melt: Likewise. 2012-03-26 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-26 Basile Starynkevitch * melt/xtramelt-ana-base.melt (foreach_argument_in_function_tree): Typo in macrostring. 2012-03-26 Basile Starynkevitch * melt/warmelt-first.melt (initial_system_data): Cast when calling meltgc_new_file. 2012-03-26 Basile Starynkevitch * melt-runtime.c: Rename READ_ERROR as MELT_READ_ERROR. (readsimplename): Renamed as ... (melt_readsimplename). (readsimplelong): Renamed as ... (melt_readsimplelong). 2012-03-26 Basile Starynkevitch * melt-runtime.c (meltgc_new_string_tempname_suffixed): Add cast. 2012-03-26 Basile Starynkevitch * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-26 Basile Starynkevitch {{better C++ compatibility}} * melt-runtime.c (meltgc_add_out_raw_len): Declare eol as const. (meltgc_new_string_nakedbasename): Add cast. (meltgc_load_one_module): Ditto. (meltgc_poll_inputs): Ditto. * melt/warmelt-first.melt (bucketlong_setaux): Typo in generating chunk. * melt/warmelt-outobj.melt (outcinitfill_objinitobject) (output_curframe_declstruct_init): Emit more casts. 2012-03-23 Basile Starynkevitch * melt-runtime.h (melt_checked_assignmsg): Revert. 2012-03-23 Basile Starynkevitch * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-23 Basile Starynkevitch * melt-runtime.h (melt_checked_assignmsg_at): Macro expanding to statement. (melt_checked_assignmsg): Temporary no-op * melt/warmelt-base.melt (checkval_dbg): Primitive with void result. 2012-03-19 Basile Starynkevitch * melt-runtime.h (meltgc_poll_inputs): Add declaration. (meltgc_install_polling_channel): Remove declaration. * melt-runtime.c (meltgc_poll_inputs): With invalid fds, replace their channel handler by :true in bucket. (meltgc_install_polling_channel): Remove function. * melt/warmelt-mode.melt (register_input_channel_handler): Coded. 2012-03-19 Basile Starynkevitch * melt/warmelt-first.melt (foreach_in_bucketlong_backward): New c-iterator. 2012-03-15 Basile Starynkevitch * melt-runtime.c (meltgc_readseqlist): Add check for unexpected }# chars. (meltgc_readmacrostringsequence): Handled embedded $(sub-sexpr) and $[seq expr] 2012-03-14 Basile Starynkevitch * melt-runtime.h (melt_strbuf_consume): New inline function. * melt-runtime.c (meltgc_notify_sysdata_passexec_hook): Remove. (meltgc_poll_inputs): More. 2012-03-14 Basile Starynkevitch * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-14 Basile Starynkevitch * melt-predef.list (CLASS_INPUT_CHANNEL_HANDLER): New. * melt-runtime.c: Include (MELT_BUFSIZE): New macro constant. (melt_passexec_callback): Renamed as... (meltgc_passexec_callback): renaming, since a GC function. (melt_raw_sigio_signal, melt_raw_sigalrm_signal): New short signal handlers. (melt_install_signal_handlers): New function to Install them. (melt_really_initialize): Call it. Always register a PLUGIN_PASS_EXECUTION to ensure interrupts are called. (meltgc_notify_sysdata_passexec_hook): Obsolete function. (meltgc_poll_inputs): New function, still incomplete. (meltgc_notify_inchannel_data): Remove. (meltgc_handle_sigio): Most code goes into meltgc_poll_inputs. * melt/warmelt-first.melt (class_input_channel_handler): New predefined class, moved from warmelt-base.melt: * melt/warmelt-base.melt (class_input_channel_handler): Move to warmelt-first.melt. 2012-03-14 Basile Starynkevitch * melt-runtime.c (meltgc_read_file, meltgc_read_from_rawstring) (meltgc_read_from_val): Use MELT_LOCATION... (handle_melt_pragma, melt_pragma_callback) (melt_handle_melt_pragma, melt_pre_genericize_callback) (melt_startunit_callback, melt_finishunit_callback) (melt_passexec_callback, meltgc_run_meltpass_after_hook) (meltgc_gimple_gate, meltgc_gimple_execute, meltgc_rtl_gate) (meltgc_rtl_execute, meltgc_simple_ipa_gate) (meltgc_simple_ipa_execute, meltgc_register_pass) (meltgc_finishtype_callback, meltgc_finishdecl_callback) (meltgc_notify_sysdata_passexec_hook, meltgc_usedef_internalfun) (meltgc_walk_use_def_chain, melt_handle_melt_attribute): Likewise. Also do MELT_CHECK_INTERRUPT. 2012-03-13 Basile Starynkevitch * melt/warmelt-base.melt (register_input_channel_handler): Move it to ..... * melt/warmelt-modes.melt (register_input_channel_handler): Moved here. 2012-03-13 Basile Starynkevitch * melt-runtime.h (meltgc_handle_interrupt): Renamed to (melt_handle_interrupt). (melt_got_sigio, melt_got_sigalrm): New volatile variables. (MELT_CHECK_INTERRUPT): Call melt_handle_interrupt. (meltgc_notify_inchannel_data): New function. * melt-runtime.c (meltgc_new_longsbucket): Default DISCR_BUCKET_LONGS. (melt_raw_sigio_signal, melt_raw_sigalrm_signal) (meltgc_notify_inchannel_data, meltgc_handle_sigio, meltgc_handle_sigalrm): New functions. (meltgc_handle_interrupt): Renamed to (melt_handle_interrupt). * melt/warmelt-base.melt (class_input_channel_handler): New. (register_input_channel_handler): New stub. 2012-03-13 Basile Starynkevitch * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-13 Basile Starynkevitch * melt-predef.list (DISCR_BUCKET_LONGS): New. * melt-runtime.h (melt_longsbucket_count): Add assert. * melt-runtime.c (meltgc_new_longsbucket): Should default DISR_BUCKET_LONGS. * melt/warmelt-first.melt (class_system_data): Adding sysdata_inchannel_data slot. (is_bucketlong, make_bucketlong, bucketlong_get, bucketlong_aux) (bucketlong_xnum, bucketlong_setxnum, bucketlong_setaux) (bucketlong_count, bucketlong_size, bucketlong_replace) (bucketlong_put, bucketlong_remove): New primitives. (foreach_in_bucketlong): New citerator. (discr_bucket_longs): New predefined discriminant. 2012-03-13 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-13 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_bucketlongs): Typos. 2012-03-13 Basile Starynkevitch * melt-runtime.h (meltgc_longsbucket_set_xnum): Remove, replaced by... (melt_longsbucket_set_xnum): New inline function. (meltgc_longsbucket_remove): Correct signature. * melt-runtime.c (meltgc_handle_interrupt): Avoid warning in stub code. (meltgc_new_longsbucket, meltgc_longsbucket_replace): Improve. (meltgc_longsbucket_put, meltgc_longsbucket_remove) (meltgc_longsbucket_set_aux): New functions. 2012-03-13 Basile Starynkevitch * melt-runtime.h (melt_longsbucket_get, melt_longsbucket_aux) (melt_longsbucket_xnum, melt_longsbucket_count) (melt_longsbucket_size): New inlined functions. (meltgc_longsbucket_replace, meltgc_longsbucket_put) (meltgc_longsbucket_remove, meltgc_longsbucket_set_aux) (meltgc_longsbucket_set_xnum): New declarations. * melt-runtime.c (meltgc_new_longsbucket) (meltgc_longsbucket_replace): New functions. * melt/warmelt-base.melt (valdesc_bucketlongs): Add cloning. 2012-03-12 Basile Starynkevitch * melt-runtime.h (FLEXIBLE_DIM, HAVE_FLEXIBLE_DIM): Remove, since use MELT_FLEXIBLE_DIM & MELT_HAVE_FLEXIBLE_DIM instead. * melt-runtime.c (struct meltmappointers_st): Use MELT_FLEXIBLE_DIM. 2012-03-12 Basile Starynkevitch {{Regenerate}} * melt-build.mk: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-12 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_hashlongs): Remove. 2012-03-12 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_hashlongs): Got hashl_bucktab.... 2012-03-12 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_hashlongs): Typos. 2012-03-12 Basile Starynkevitch * melt-build.tpl ([+melt_stage+]-fullstage.stamp): Depends upon [+melt_stage+]/[+base+].c ... * melt-build.mk: Regenerate. * melt/warmelt-base.melt (valdesc_hashlongs): Typos. 2012-03-12 Basile Starynkevitch * melt-runtime.h (FLEXIBLE_DIM, HAVE_FLEXIBLE_DIM): Obsolete, replaced by (MELT_FLEXIBLE_DIM, MELT_HAVE_FLEXIBLE_DIM): New macros. (struct melt_bucketlongentry_st): New. (meltgc_new_longsbucket, meltgc_new_longshash): New declarations. (meltgc_install_polling_channel): New declaration. * melt-runtime.h (meltgc_handle_interrupt): Add comment. (meltgc_install_polling_channel, meltgc_new_longsbucket) (meltgc_new_longshash): New function stubs. * melt/warmelt-base.melt (valdesc_bucketlongs, valdesc_hashlongs): New value descriptor. 2012-03-12 Basile Starynkevitch * melt-build.tpl (MELT_MAKE_MODULE_XTRAMAKEFLAGS): Export it. * melt-build.mk: Regenerate. * Makefile.in (MELT_MAKE_MODULE_XTRAMAKEFLAGS): Default to -j2. (melt.encap): Don't build explicitly warmelt1 2012-03-09 Basile Starynkevitch * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-09 Basile Starynkevitch * melt-predef.list (CLASS_INFIX_ADDITIVE_SYMBOL) (CLASS_INFIX_DELIMITER, CLASS_INFIX_INTEGER_LITERAL) (CLASS_INFIX_LEXEME): Remove. 2012-03-09 Basile Starynkevitch * melt-predef.list (CLASS_INFIX_KEYWORD) (CLASS_INFIX_MULTIPLICATIVE_SYMBOL, CLASS_INFIX_RELATIONAL_SYMBOL) (CLASS_INFIX_STRING_LITERAL, CLASS_INFIX_SYMBOL): Remove. {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-09 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-09 Basile Starynkevitch * melt-predef.list: Use @POISON, not POISON. * make-warmelt-predef.awk: Better error message. 2012-03-09 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-09 Basile Starynkevitch * melt/warmelt-first.melt (class_infix_additive_symbol) (class_infix_any_symbol, class_infix_delimiter) (class_infix_integer_literal, class_infix_keyword) (class_infix_lexeme, class_infix_multiplicative_symbol) (class_infix_relational_symbol, class_infix_string_literal) (class_infix_symbol): Remove. 2012-03-09 Basile Starynkevitch * melt-runtime.h (melt_open_infix_file, meltgc_infix_lexeme): Remove declaration. * melt-runtime.c (enum commenthandling_en): Remove COMMENT_INFIX. (skipspace_getc): Renamed as... (melt_skipspace_getc): Rename of skipspace_getc. Remove all infix related code. (melt_compile_source): Update calls to melt_skipspace_getc. (struct infixreading_st): Remove. (melt_open_infix_file, meltgc_infix_lexeme) (melt_close_infix_file): Remove function. (meltgc_intern_keyword, melt_compile_source, meltgc_read_file) (meltgc_read_from_rawstring, meltgc_read_from_val): Update calls to melt_skipspace_getc. * melt-predef.list (CLASS_INFIX_ADDITIVE_SYMBOL) (CLASS_INFIX_DELIMITER, CLASS_INFIX_INTEGER_LITERAL) (CLASS_INFIX_LEXEME, CLASS_INFIX_KEYWORD) (CLASS_INFIX_MULTIPLICATIVE_SYMBOL, CLASS_INFIX_RELATIONAL_SYMBOL) (CLASS_INFIX_STRING_LITERAL, CLASS_INFIX_SYMBOL): Poison them. 2012-03-09 Basile Starynkevitch {{Alternative infix syntax abandonned}} * melt/xtramelt-parse-infix-syntax.melt: Remove file * melt-build.def: Remove reference to above file * melt-build.mk: Regenerate. 2012-03-08 Basile Starynkevitch * melt-build.tpl (meltframe.args): Add -Iinclude-fixed if it exists. * melt-build.mk: Regenerate. 2012-03-07 Basile Starynkevitch {{Regenerate, with interrupt checks}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-07 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_apply): Change message when non-value first argument. Add void binding to check interrupts. (normexp_msend, normexp_return, normexp_if, normexp_ifelse) (normexp_forever, normexp_citeration, normexp_unsafe_put_fields) (normexp_put_fields, normexp_instance): Add void binding to check interrupts. * melt/warmelt-normatch.melt (normexp_match, normexp_altmatch): Add void binding to check interrupts. 2012-03-07 Basile Starynkevitch * melt/warmelt-normal.melt (wrap_normal_letseq): Handle non-tuple, 1-tuple, and put an interrupt check for tuples of degree >= 2. 2012-03-07 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-07 Basile Starynkevitch * melt/warmelt-genobj.melt (class_objcheckinterrupt): New class. (compilobj_nrep_checkinterrupt): Use it. * melt/warmelt-outobj.melt (outpucod_objcheckinterrupt): New method for output_c_code of class_objcheckinterrupt. 2012-03-07 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-07 Basile Starynkevitch (MELT_UNLIKELY): Remove redefinition. 2012-03-07 Basile Starynkevitch * melt-runtime.h (melt_interrupted, meltgc_handle_interrupt): New declarations. (MELT_UNLIKELY, MELT_CHECK_INTERRUPT): New macros. * melt-runtime.c (melt_interrupted): New definition. (meltgc_handle_interrupt): Unimplemented routine. * melt/warmelt-normal.melt (class_nrep_checkinterrupt): New class. * melt/warmelt-genobj.melt (compilobj_nrep_checkinterrupt): New method for compile_obj on class_nrep_checkinterrupt. 2012-03-06 Basile Starynkevitch {{much faster build, when useless...; a second make after a first one take only 30sec instead of 3 min..}} * melt-build.tpl: More touch operation, notably for melt-stage0-*/*.so. All touches are suitably echoed... * melt-build.mk: Regenerate. 2012-03-05 Basile Starynkevitch * melt/xtramelt-opengpu.melt: More debugging. * testsuite/melt/topengpu-vecmuls.c: Better comment. 2012-03-05 Basile Starynkevitch * melt-runtime.c (meltgc_ppout_basicblock): Show a _ for empty basic blocks. * melt/xtramelt-ana-base.melt (==bb): New primitive. Improved some documentation of primitives or citerators. (each_cgraph_decl, with_cfun_decl, each_bb_cfun) (each_local_decl_cfun): Slightly improved. (debugtree, debugedge, debuggimple, debuggimpleseq) (debugbasicblock, debugtreecodenum): Removed. * melt/xtramelt-ana-simple.melt (smallana_gimple): Don't use debugtreecodenum. * melt/xtramelt-opengpu.melt: More debugging. * testsuite/melt/topengpu-vecmuls.c: New file. 2012-03-05 Basile Starynkevitch * melt/warmelt-modes.melt (make_docgenfunction): Sort defun-s by symbol names. 2012-03-04 Basile Starynkevitch {{Regenerate for 0.9.4.b release}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-04 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.4.b * melt/warmelt-macro.melt (macroexpand_toplevel_list): Better debug & asserts. * melt/warmelt-debug.melt (dbgout_closure_method): More pretty output. * melt/warmelt-modes.melt (makedoc_docmd): Check program arguments. Count output. Fail if not significant output. 2012-03-04 Basile Starynkevitch * testsuite/melt/tmakedoc.melt: New. * melt/warmelt-modes.melt (class_makedoc_info): Add mkdoc_boxcounter field. (increment_mkdoc_counter): New function. Call it appropriately. (makedoc_docmd): Test it. 2012-03-02 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-03-02 Basile Starynkevitch * melt-runtime.h: Include "hwint.h" explicitly. * melt-module.mk: Add GCCMELT_MODULE_EXTRALIBES. 2012-03-02 Basile Starynkevitch * melt/xtramelt-opengpu.melt: More debug. * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.4 2012-03-01 Basile Starynkevitch * melt/xtramelt-opengpu.melt: More debug. 2012-03-01 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.4-rc1+ 2012-03-01 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.4-rc1 2012-03-01 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-03-01 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.4- 2012-03-01 Basile Starynkevitch * melt-runtime.h (melt_basicblock_gimpleseq): New function. * melt/warmelt-outobj.melt (syntestgen_primitive): Emit spaces. * melt/xtramelt-ana-base.melt (tree_offset_type): Use TYPE_OFFSET_BASETYPE, not TREE_OFFSET_BASETYPE which never existed. 2012-02-25 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: New file. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-25 Basile Starynkevitch {{syntax-check C emission passing.}} * melt/warmelt-first.melt (discrim, the_meltcallcount) (the_callcount, is_mapobject, mapobject_size, mapobject_nth_attr) (mapobject_nth_val, foreach_in_mapobject, foreach_in_mapstring) (is_routine, routine_descr): Improve generated C code. * melt/warmelt-base.melt (zerop, longbacktrace_dbg, checkval_dbg) (make_strbuf, add2out_cencstrbuf, add2out_ccomstrbuf): Improve generated code. * melt/warmelt-macro.melt (macroexpand_toplevel_list): Warn only when an s-expr is macroexpanded into null at top-level. * melt/warmelt-outobj.melt (syntestgen_cmatcher): Emit semi-colon. (emit_syntax_testing_routine): Remove #if 0 from emitted C code, now compiled when MELT_HAVE_DEBUG... * melt/xtramelt-ana-base.melt: Improve generated C code. * melt/xtramelt-parse-infix-syntax.melt: Improve generated C code. 2012-02-25 Basile Starynkevitch * melt/warmelt-outobj.melt (syntestgen_citerator) (syntestgen_cmatcher): Better. 2012-02-25 Basile Starynkevitch * melt/warmelt-outobj.melt (syntestgen_cmatcher): Code. 2012-02-24 Basile Starynkevitch * melt/warmelt-outobj.melt (substitute_formals_for_syntest) (expand_tuple_for_syntest): New utilities functions. (syntestgen_citerator): Don't work. 2012-02-24 Basile Starynkevitch * testsuite/melt/test0.melt: Improved. * testsuite/melt/tmacrostring.melt: Improve. * melt/warmelt-outobj.melt (syntestgen_primitive): Better. (syntestgen_citerator, syntestgen_cmatcher): Stub. (emit_syntax_testing_routine): Don't need modnamstr formal. (translate_macroexpanded_list): Call emit_syntax_testing_routine at better place. 2012-02-24 Basile Starynkevitch * melt/warmelt-first.melt (class_module_context): Add mocx_gendevlist field. * melt/warmelt-macro.melt (register_generator_device): New function. (mexpand_defprimitive, mexpand_defciterator, mexpand_defcmatcher): Use it. * melt/warmelt-outobj.melt (syntax_test_generator): New selector. (syntestgen_any): Catch-all method for it. (syntestgen_primitive): Method for it on class_primitive. (syntestgen_citerator): New method stub for it on class_citerator. (syntestgen_cmatcher): New method stub for it on class_matcher. 2012-02-24 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-02-24 Basile Starynkevitch * melt-runtime.c (melt_dbgshortbacktrace): More pretty output. * melt/warmelt-macro.melt: All macro-expanders get an object modctx and use the mexpander argument, not macroexpand_1... 2012-02-23 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-23 Basile Starynkevitch {{Should generate useless C code for every generating device -defprimitive defciterator etc... to test the syntactic correctnees of its generated C code.}} * melt/warmelt-macro.melt (class_source_generator_device): New class. All the macro expansion functions take a module context as fourth arguments. * melt/warmelt-outobj.melt (translate_macroexpanded_list): Pass the modctx to macro expansion. Warn for short number of expressions. * melt/warmelt-modes.melt (makedoc_docmd): Pass the makedoc info as module context to macroexpand_toplevel_list... * melt/xtramelt-ana-base.melt: Improved citerators & primitives. Some might generate syntactically wrong C code... * melt/xtramelt-opengpu.melt: More debug... 2012-02-22 Basile Starynkevitch * melt/xtramelt-opengpu.melt: More... 2012-02-22 Basile Starynkevitch * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-22 Basile Starynkevitch * melt/warmelt-first.melt (mapobject_aux, mapobject_auxput) (mapstring_aux, mapstring_auxput): New primitives. * melt/warmelt-debug.melt (dbgout_mapobject_method) (dbgout_mapstring_method): Display the auxiliary data if depth is 0 or 1... * melt/xtramelt-ana-base.melt (mapbasicblock_aux) (mapbasicblock_auxput, mapedge_aux, mapedge_auxput, mapgimple_aux) (mapgimple_auxput, maptree_aux, maptree_auxput): New primitives. More :doc strings. (dbgout_boxedge_method, dbgout_mapedge_method): Display auxiliary data... 2012-02-22 Basile Starynkevitch {{adding auxiliary data inside MELT maps}} * melt-runtime.h (meltgc_touch_dest, meltgc_touch): Pre declared before include of meltrunsup.h. {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-02-22 Basile Starynkevitch {{adding auxiliary data inside MELT maps}} * melt-runtime.h (melt_auxdata_mapobjects, melt_auxput_mapobjects) (melt_auxdata_mapstrings, melt_auxput_mapstrings): New functions. * melt/warmelt-mode.melt (generate_runtypesupport_mapfun): Generate auxiliary data accessor & setter functions. 2012-02-22 Basile Starynkevitch {{adding auxiliary data inside MELT maps}} * melt-runtime.c (meltgc_new_mapobjects, meltgc_new_mapstrings) (meltgc_raw_new_mappointers): Clear the meltmap_aux field. (struct meltmappointers_st): New meltmap_aux field. * melt/generated/meltrunsup.h: temporarily hand-edited to add the meltmap_aux field. * melt/generated/meltrunsup-inc.c: temporarily hand-edited to add the meltmap_aux field. {{Then regenenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. * melt/warmelt-first.melt (class_ctype_gty): Add ctypg_mapauxdatafun & ctypg_mapauxputfun fields. (ctype_tree, ctype_gimple, ...): Fill them. * melt/warmelt-base.melt (valdesc_mapobjects, valdesc_mapstrings): mention meltmap_aux. * melt/warmelt-modes.melt (generate_runtypesupport_gty): Likewise. 2012-02-21 Basile Starynkevitch * melt/xtramelt-ana-base.melt (dbgout_maptree_method): Typo. * melt/xtramelt-opengpu.melt (opengpu_affine_accessed_array): Better... Added lots of assert for unhandled cases. * testsuite/melt/topengpu-vecsum.c: Better indentation. 2012-02-21 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_affine_accessed_array): Typos.. 2012-02-20 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_affine_accessed_array): More, but code should be factored out... 2012-02-20 Basile Starynkevitch * melt/warmelt-normatch.melt (normpat_instancepat) (normpat_tuplepat, normpat_anymatchpat, normexp_match): Better debug. (normbind_matchbind): write a binding to be overwritten in normstep_msuccwhenflag. (normstep_msuccwhenflag): Better. Also normalize the data. (normexp_altmatch): Still incomplete. 2012-02-17 Basile Starynkevitch * melt/warmelt-normatch.melt (normbind_matchbind): Might be wrong. (translpat_varpat): Better debug. (translate_matchcase): Ditto. (normstep_msuccwhenflag): Likewise. 2012-02-16 Basile Starynkevitch * melt/warmelt-normatch.melt (normbind_matchbind): Perhaps incorrect. 2012-02-16 Basile Starynkevitch * melt/warmelt-genobj.melt (compilobj_nrep_altmatch): Initialize odatamap. (compilobj_nrep_matchdatainit, compilobj_nrep_matchedata): Complete. 2012-02-16 Basile Starynkevitch * melt/warmelt-normatch.melt (altmatch_normalize_mdata): Improve, but not making instance oc class_nrep_matched_data for the originally matched normal thing. (normexp_altmatch): Compute also the datamap to fill the namatch_mdatas of the result. * testsuite/melt/tmatch-tuple.melt: Add one more argument to tuple. 2012-02-15 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+05.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-15 Basile Starynkevitch * melt/warmelt-first.melt (class_module_context): New field mocx_cheaderlist. * melt/warmelt-normexp.melt (normexp_cheader): Done. * melt/warmelt-outobj.melt (compile_list_sexpr): Add cheader emission. 2012-02-15 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_strbuf_method): Better. * melt/warmelt-macro.melt (mexpand_cheader): Ok. 2012-02-15 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_cheader): new class. (mexpand_cheader): New macro expander for it. * melt/warmelt-normexp.melt (normexp_cheader): New incomplete method for normal_exp on class_source_cheader. * melt/warmelt-normatch.melt (class_nrep_altmatch): New namatch_mdatas field. (altmatch_normalize_mdata, normexp_altmatch): Better debug. * melt/warmelt-genobj.melt (class_alternate_match_nrep_data): New altmatchn_datamap field. (compilobj_nrep_altmatch): Initialize it. * testsuite/melt/tcheader.melt: New test file. * testsuite/melt/tmatch-tuple.melt: Improve comment. 2012-02-15 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-15 Basile Starynkevitch * melt/warmelt-first.melt (shortbacktrace_dbg): Use melt_need_debug to skip backtraces... * melt/warmelt-genobj.melt (class_objflag): Inherit from class_objpurevalue not class_generated_c_code. (compile2obj_procedure, compile2obj_initproc): Add long ~~~ line in first debug message. (putobjdest_objvalue, putobjdest_integer, putobjdest_string) (putobjdest_null, putobjdest_objanyblock, putobjdest_objloop) (putobjdest_objexit, putobjdest_objcond, putobjdest_objcppif): Check that desto is just a class_objpurevalue. 2012-02-14 Basile Starynkevitch * melt/warmelt-genobj.melt (class_objflag): New class. (class_objflagblock) Renamed as... (class_objmatchflagblock): New. (class_alternate_match_nrep_data): Add altmatchn_flagmap field. (compilobj_nrep_altmatch): More. (compilobj_nrep_matchflag): Coded. update the altmatchn_flagmap * testsuite/melt/tmatch-tuple.melt: Update comment. 2012-02-14 Basile Starynkevitch {{Regenerate}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-14 Basile Starynkevitch * melt/warmelt-outobj.melt (buffer_limit_cont): New private container. (get_code_buffer_limit, put_code_buffer_limit): New functions. (code_buffer_limit_optset): New option setter. (code_buffer_limit): New option. Add check of the code limit at many places. 2012-02-15 Basile Starynkevitch * melt-build.tpl: Don't use order only prerequisite for melt-stag*-fullstage.stamp. * melt-build.mk: Regenerate. 2012-02-15 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-14 Basile Starynkevitch * melt/warmelt-genobj.melt (class_objcompute): Add obcpt_type field. (make_objcompute): Add ctyp formal. (compile2obj_initproc, compilobj_nrep_exit) (compilobj_nrep_unsafe_nth_component, putobjdest_objvalue) (putobjdest_integer, putobjdest_string) (compilobj_nrep_update_current_module_environment_container) (compilobj_nrep_matchlabel, compilobj_nrep_matchflag) (compilobj_nrep_matchedata, compilobj_nrep_matchjump): update accordingly. 2012-02-14 Basile Starynkevitch {{Regenerate}} * gcc/melt/generated/meltrunsup-inc.c: Regenerate. * gcc/melt/generated/meltrunsup.h: Regenerate. * gcc/melt/generated/warmelt-base+01.c: Regenerate. * gcc/melt/generated/warmelt-base+02.c: Regenerate. * gcc/melt/generated/warmelt-base+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-base+melttime.h: Regenerate. * gcc/melt/generated/warmelt-base.c: Regenerate. * gcc/melt/generated/warmelt-debug+01.c: Regenerate. * gcc/melt/generated/warmelt-debug+02.c: Regenerate. * gcc/melt/generated/warmelt-debug+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-debug+melttime.h: Regenerate. * gcc/melt/generated/warmelt-debug.c: Regenerate. * gcc/melt/generated/warmelt-first+01.c: Regenerate. * gcc/melt/generated/warmelt-first+02.c: Regenerate. * gcc/melt/generated/warmelt-first+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-first+melttime.h: Regenerate. * gcc/melt/generated/warmelt-first.c: Regenerate. * gcc/melt/generated/warmelt-genobj+01.c: Regenerate. * gcc/melt/generated/warmelt-genobj+02.c: Regenerate. * gcc/melt/generated/warmelt-genobj+03.c: Regenerate. * gcc/melt/generated/warmelt-genobj+04.c: Regenerate. * gcc/melt/generated/warmelt-genobj+05.c: Regenerate. * gcc/melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-genobj+melttime.h: Regenerate. * gcc/melt/generated/warmelt-genobj.c: Regenerate. * gcc/melt/generated/warmelt-macro+01.c: Regenerate. * gcc/melt/generated/warmelt-macro+02.c: Regenerate. * gcc/melt/generated/warmelt-macro+03.c: Regenerate. * gcc/melt/generated/warmelt-macro+04.c: Regenerate. * gcc/melt/generated/warmelt-macro+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-macro+melttime.h: Regenerate. * gcc/melt/generated/warmelt-macro.c: Regenerate. * gcc/melt/generated/warmelt-modes+01.c: Regenerate. * gcc/melt/generated/warmelt-modes+02.c: Regenerate. * gcc/melt/generated/warmelt-modes+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-modes+melttime.h: Regenerate. * gcc/melt/generated/warmelt-modes.c: Regenerate. * gcc/melt/generated/warmelt-normal+01.c: Regenerate. * gcc/melt/generated/warmelt-normal+02.c: Regenerate. * gcc/melt/generated/warmelt-normal+03.c: Regenerate. * gcc/melt/generated/warmelt-normal+04.c: Regenerate. * gcc/melt/generated/warmelt-normal+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-normal+melttime.h: Regenerate. * gcc/melt/generated/warmelt-normal.c: Regenerate. * gcc/melt/generated/warmelt-normatch+01.c: Regenerate. * gcc/melt/generated/warmelt-normatch+02.c: Regenerate. * gcc/melt/generated/warmelt-normatch+03.c: Regenerate. * gcc/melt/generated/warmelt-normatch+04.c: Regenerate. * gcc/melt/generated/warmelt-normatch+05.c: New generated file. * gcc/melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-normatch+melttime.h: Regenerate. * gcc/melt/generated/warmelt-normatch.c: Regenerate. * gcc/melt/generated/warmelt-outobj+01.c: Regenerate. * gcc/melt/generated/warmelt-outobj+02.c: Regenerate. * gcc/melt/generated/warmelt-outobj+03.c: Regenerate. * gcc/melt/generated/warmelt-outobj+04.c: Regenerate. * gcc/melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-outobj+melttime.h: Regenerate. * gcc/melt/generated/warmelt-outobj.c: Regenerate. 2012-02-14 Basile Starynkevitch * melt-runtime.c (meltgc_strbuf_reserve) Improve big buffer debugging. (READ_ERROR): Untabify. (meltgc_readsexpr, meltgc_readmacrostringsequence) (meltgc_read_file): Use MELT_LOCATION_HERE_PRINTF... * melt/warmelt-base.melt (increment): New primitive. * melt/warmelt-debug.melt (dbgout_strbuf_method): New method for dbg_output on discr_strbuf. 2012-02-13 Basile Starynkevitch * melt/warmelt-normatch.melt (class_nrep_match_data_initializer): Improve doc. (complete_normstep_if_last): More debug. (mg_altdraw_graphviz): More nice. 2012-02-13 Basile Starynkevitch * melt-runtime.h (MELT_BIGLEN): New constant * melt-runtime.c (meltgc_strbuf_reserve): Display debug messages when reaching it. 2012-02-10 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_fields): Force indentation and output for fields of depth 0 or 1, to produce prettier output. * melt/warmelt-normatch.melt (mgaltstep_steptestmult): Better color. * melt/warmelt-genobj.melt (compilobj_nrep_altmatch): Better debug. (compilobj_nrep_matchlabel) Safer field access. (compilobj_nrep_matchflag): New fake method for compile_obj on class_nrep_match_flag. (compilobj_nrep_matchedata): New fake method for compile_obj on class_nrep_matched_data. (compilobj_nrep_matchjump): New fake method for compile_obj on class_nrep_match_jump. 2012-02-10 Basile Starynkevitch * melt/warmelt-normatch.melt (class_nrep_matched_data): Typo in doc-string. * melt/warmelt-genobj.melt (compilobj_nrep_ifisa): Use make_objlocatedexp. (compilobj_nrep_iftuplesized): New method for compile_obj on class_nrep_iftuplesized (compilobj_nrep_matchlabel): Incomplete, but generate #error. (compilobj_nrep_matchdatainit): Likewise. 2012-02-10 Basile Starynkevitch * melt/warmelt-normatch.melt (mgaltstep_steptestmult): Typo in generated label. * melt/warmelt-genobj.melt (compilobj_nrep_matchdatainit): More debug. 2012-02-10 Basile Starynkevitch * melt/warmelt-normatch.melt (scanstepdata_testins): More debug. (scanstepdata_testtuple): New method for scan_step_data on class_match_step_test_multiple. (scanstepdata_testwithflag): New no-op method for scan_step_data on class_match_step_with_flag 2012-02-09 Basile Starynkevitch * testsuite/melt/tmatch-tuple.melt: New file. 2012-02-09 Basile Starynkevitch * melt/warmelt-normatch.melt (mglabel_any, scanstepdata_anyrecv) (scanstepflag_anyrecv): Add catchall erroring methods for matchgraphic_label, scan_step_data, scan_step_flag. (mg_altdraw_graphviz): Add assertion for mdata. 2012-02-08 Basile Starynkevitch * melt/warmelt-normatch.melt (mg_altdraw_graphviz) (altmatch_normalize_mdata): More debug. 2012-02-08 Basile Starynkevitch * melt/warmelt-normatch.melt (putthen_matchany): New error-catch-all method for put_then_match on class_root. (putthen_matchany): New error-catch-all method for put_else_match on class_root. (translpat_tuplepat): More debugging messages. (mgaltstep_any): New error-catch-all method for matchgraphic_altstep on class_root. 2012-02-07 Basile Starynkevitch * gcc/melt/warmelt-normatch.melt (scansubpat_construct): Remove duplicate. (mgaltstep_steptestmult): Add check. (fill_matchcase): Improve recursion on varpatscanner. 2012-02-07 Basile Starynkevitch * gcc/melt/warmelt-normatch.melt (normstep_mtestmultiple): Done. 2012-02-07 Basile Starynkevitch * gcc/melt/warmelt-normatch.melt (normstep_mtestmultiple): More. 2012-02-07 Basile Starynkevitch {{Regenerate}} * gcc/melt/generated/warmelt-base+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-base+melttime.h: Regenerate. * gcc/melt/generated/warmelt-base.c: Regenerate. * gcc/melt/generated/warmelt-debug+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-debug+melttime.h: Regenerate. * gcc/melt/generated/warmelt-debug.c: Regenerate. * gcc/melt/generated/warmelt-first+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-first+melttime.h: Regenerate. * gcc/melt/generated/warmelt-first.c: Regenerate. * gcc/melt/generated/warmelt-genobj+03.c: Regenerate. * gcc/melt/generated/warmelt-genobj+05.c: Regenerate. * gcc/melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-genobj+melttime.h: Regenerate. * gcc/melt/generated/warmelt-genobj.c: Regenerate. * gcc/melt/generated/warmelt-macro+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-macro+melttime.h: Regenerate. * gcc/melt/generated/warmelt-macro.c: Regenerate. * gcc/melt/generated/warmelt-modes+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-modes+melttime.h: Regenerate. * gcc/melt/generated/warmelt-modes.c: Regenerate. * gcc/melt/generated/warmelt-normal+01.c: Regenerate. * gcc/melt/generated/warmelt-normal+02.c: Regenerate. * gcc/melt/generated/warmelt-normal+03.c: Regenerate. * gcc/melt/generated/warmelt-normal+04.c: Regenerate. * gcc/melt/generated/warmelt-normal+05.c: Regenerate. * gcc/melt/generated/warmelt-normal+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-normal+melttime.h: Regenerate. * gcc/melt/generated/warmelt-normal.c: Regenerate. * gcc/melt/generated/warmelt-normatch+03.c: Regenerate. * gcc/melt/generated/warmelt-normatch+04.c: Regenerate. * gcc/melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-normatch+melttime.h: Regenerate. * gcc/melt/generated/warmelt-normatch.c: Regenerate. * gcc/melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-outobj+melttime.h: Regenerate. * gcc/melt/generated/warmelt-outobj.c: Regenerate. 2012-02-07 Basile Starynkevitch * gcc/melt/warmelt-normal.melt (class_nrep_ifisa): Remove nifa_val field. (normexp_get_field,normexp_put_fields): Don't use nifa_val field. * gcc/melt/warmelt-normatch.melt (normstep_mtestinstance) (normstep_mtestmultiple): Ditto. 2012-02-07 Basile Starynkevitch {{Regenerate}} * gcc/melt/generated/meltrunsup-inc.c: Regenerate. * gcc/melt/generated/meltrunsup.h: Regenerate. * gcc/melt/generated/warmelt-base+01.c: Regenerate. * gcc/melt/generated/warmelt-base+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-base+melttime.h: Regenerate. * gcc/melt/generated/warmelt-base.c: Regenerate. * gcc/melt/generated/warmelt-debug+01.c: Regenerate. * gcc/melt/generated/warmelt-debug+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-debug+melttime.h: Regenerate. * gcc/melt/generated/warmelt-debug.c: Regenerate. * gcc/melt/generated/warmelt-first+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-first+melttime.h: Regenerate. * gcc/melt/generated/warmelt-first.c: Regenerate. * gcc/melt/generated/warmelt-genobj+02.c: Regenerate. * gcc/melt/generated/warmelt-genobj+03.c: Regenerate. * gcc/melt/generated/warmelt-genobj+04.c: Regenerate. * gcc/melt/generated/warmelt-genobj+05.c: Regenerate. * gcc/melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-genobj+melttime.h: Regenerate. * gcc/melt/generated/warmelt-genobj.c: Regenerate. * gcc/melt/generated/warmelt-macro+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-macro+melttime.h: Regenerate. * gcc/melt/generated/warmelt-macro.c: Regenerate. * gcc/melt/generated/warmelt-modes+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-modes+melttime.h: Regenerate. * gcc/melt/generated/warmelt-modes.c: Regenerate. * gcc/melt/generated/warmelt-normal+01.c: Regenerate. * gcc/melt/generated/warmelt-normal+02.c: Regenerate. * gcc/melt/generated/warmelt-normal+03.c: Regenerate. * gcc/melt/generated/warmelt-normal+04.c: Regenerate. * gcc/melt/generated/warmelt-normal+05.c: Regenerate. * gcc/melt/generated/warmelt-normal+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-normal+melttime.h: Regenerate. * gcc/melt/generated/warmelt-normal.c: Regenerate. * gcc/melt/generated/warmelt-normatch+01.c: Regenerate. * gcc/melt/generated/warmelt-normatch+02.c: Regenerate. * gcc/melt/generated/warmelt-normatch+03.c: Regenerate. * gcc/melt/generated/warmelt-normatch+04.c: Regenerate. * gcc/melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-normatch+melttime.h: Regenerate. * gcc/melt/generated/warmelt-normatch.c: Regenerate. * gcc/melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * gcc/melt/generated/warmelt-outobj+melttime.h: Regenerate. * gcc/melt/generated/warmelt-outobj.c: Regenerate. 2012-02-07 Basile Starynkevitch * melt/warmelt-normal.melt (class_nrep_iftestvalue): New class with nif_testval field. (class_nrep_ifisa): Inherit from above. Its field nifa_val is obsolete. (class_nrep_iftuplesized): New class. (normexp_get_field,normexp_put_fields): Temporarily fill both nifa_val and nif_testval fields. * melt/warmelt-normatch.melt (normstep_mtestinstance) (normstep_mtestmultiple): Temporarily fill both nifa_val and nif_testval fields. * melt/warmelt-genobj.melt (compilobj_nrep_ifisa): Use nif_testval field. 2012-02-06 Basile Starynkevitch * melt/warmelt-normatch.melt (normstep_mtestmultiple): More. 2012-02-06 Basile Starynkevitch * toplev.c (announce_function): Emit newline periodically. * melt/warmelt-normatch.melt (normstep_mtestmultiple): New incomplete method for normalize_step in class_match_step_test_multiple. 2012-02-06 Basile Starynkevitch * melt/warmelt-normatch.melt (translpat_tuplepat): Done. 2012-02-06 Basile Starynkevitch * melt/warmelt-normatch.melt (translpat_tuplepat): More 2012-02-03 Basile Starynkevitch * melt/warmelt-normatch.melt (class_match_step_test_multiple): New class. (scansubpat_composite) renamed as.. (scansubpat_construct) .. (translpat_tuplepat): More, but not yet complete... (mgaltstep_steptestmult) New method for matchgraphic_altstep on class_match_step_test_multiple. 2012-02-03 Basile Starynkevitch * melt-runtime.h (melt_set_flag_debug, melt_clear_flag_debug): New declarations. * melt-runtime.c (meltgc_do_initial_mode): Better debug printf. (meltgc_set_user_options): New function. (meltgc_load_modules_and_do_mode): Call it. (melt_set_flag_debug, melt_clear_flag_debug): New functions. * testsuite/melt/tmatch-1.melt: improve comment. 2012-02-02 Basile Starynkevitch * melt-runtime.c (melt_passexec_callback): Bigger location buf. (meltgc_do_initial_mode): Verbose debugging of exit builtin mode, and of failed modes. (meltgc_load_modules_and_do_mode): Moved handling of options. (meltgc_gimple_gate, meltgc_rtl_gate, meltgc_simple_ipa_gate) (meltgc_simple_ipa_execute, melt_handle_melt_attribute): Bigger location buf. * testsuite/melt/tmatch-2.melt: Improve comment. 2012-02-02 Basile Starynkevitch * melt/warmelt-genobj.melt (compilobj_nrep_unsafe_nth_component) (compiltst_normtester_tuple): Generate meltmultiple_ptr_t with good spelling.. {{tmatch-1.melt passes}} 2012-02-02 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-02-02 Basile Starynkevitch * melt/warmelt-normatch.melt (normpat_tuplepat): Implemented. * melt/warmelt-genobj.melt (make_objcompute): New function. (compile2obj_initproc): Use it. (compilobj_nrep_unsafe_nth_component): New method for compile_obj of class_nrep_unsafe_nth_component. (compilobj_nrep_store_predefined): Use make_objcompute. (compiltst_normtester_tuple): Done. * melt/warmelt-outobj.melt (outpucod_procroutine) generate #undef of melt_variadic_length & melt_variadic_index 2012-02-02 Basile Starynkevitch * melt/warmelt-normatch.melt (normpat_tuplepat): Skip joker subpatterns. * melt/warmelt-genobj.melt (make_objlocatedexp): New function. (compiltst_normtester_instance, compiltst_normtester_tuple): Use it. 2012-02-01 Basile Starynkevitch * melt/warmelt-genobj.melt (compiltst_normtester_tuple): New incomplete method for compile_tester on class_normtester_tuple. 2012-01-30 Basile Starynkevitch * melt/warmelt-normal.melt (class_nrep_unsafe_nth_component): New, with fields nunth_tuple & nunth_index * melt/warmelt-normatch.melt (class_normtester_tuple): New, with nttuple_components (normpat_instancepat): Sort the fields according to their pattern weight. (class_tuple_component_pattern): New, with tupcp_pattern & tupcp_index (normpat_tuplepat): New method for normal_pattern of class_source_pattern_tuple 2012-01-30 Basile Starynkevitch * melt-runtime.h (MELTDBG_MAXDEPTH): Remove dual definition when optimized... 2012-01-30 Basile Starynkevitch * melt/warmelt-normatch.melt (scanpat_srcpatconst): Renamed as (scanpat_srcpatconstant). (scanpat_srcpatconstruct): New method 2012-01-30 Basile Starynkevitch * testsuite/melt/tmatch-1.melt: Improve comment about running it. 2012-01-30 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_affine_accessed_array): Incomplete, trigger a MELT bad translation bug... 2012-01-27 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_affine_accessed_array): Incomplete. Begin handling cast of induction variables. 2012-01-27 Basile Starynkevitch * melt/xtramelt-opengpu.melt: More Use of dbg_tree_briefly. 2012-01-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt (dbgout_boxtree_method): Output briefly the tree content. * melt/xtramelt-opengpu.melt: Use dbg_tree_briefly in debug... 2012-01-27 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.3+ 2012-01-27 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-01-27 Basile Starynkevitch * melt-runtime.h (MELTDBG_MAXDEPTH, melt_need_debug) (melt_need_debug_limit): Defined significantly even without MELT_HAVE_DEBUG! 2012-01-26 Basile Starynkevitch * melt/warmelt-debug.melt (dbg_out): Compute maxdepth. Use a cond. 2012-01-26 Basile Starynkevitch * melt-runtime.h (melt_is_plugin): Declare new extern variable. * melt-runtime.c (melt_is_plugin): Define. (melt_print_version_info): Use it. 2012-01-23 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-01-23 Basile Starynkevitch * melt-runtime.c (melt_debug_depth): Don't test melt_flag_debug. 2012-01-23 Basile Starynkevitch * melt/warmelt-debug.melt (melt_has_flag_debug_set): New primitive. 2012-01-23 Basile Starynkevitch * melt-runtime.c (melt_apply): Add more checks with fatal error on closure and routine. 2012-01-23 Basile Starynkevitch * melt-runtime.h (melt_flag_debug, melt_flag_bootstrapping): Declare for plugin. * melt-runtime.c (melt_flag_debug, melt_flag_bootstrapping): Define for plugin. * melt/warmelt-first.melt (melt_need_dbg, melt_need_dbglim): Improve documentation. * melt/warmelt-debug.melt (melt_really_need_debug) (melt_really_need_dbglim): News primitives which are non trivial even in optimized flavor. Use them everywhere. 2012-01-22 Basile Starynkevitch * melt-build.tpl: Missing space for generation of *-module.stamp * melt-build.mk: Regenerate. 2012-01-22 Basile Starynkevitch * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-01-22 Basile Starynkevitch * melt-runtime.c (meltgc_gimple_gate, meltgc_rtl_gate) (meltgc_simple_ipa_gate): Initialize ok to TRUE so that a lack of gate closure don't fail the pass. * testsuite/melt/tpassexec.melt: New file. * testsuite/melt/tpassexec-c.c: New file. 2012-01-22 Basile Starynkevitch * melt-runtime.c (meltgc_do_initial_mode): Warn when mode failed. (meltgc_notify_sysdata_passexec_hook): More debug. * melt-run.proto.h: include "plugin-version.h". * melt/warmelt-modes.melt: Add a return :true in all our modes. 2012-01-22 Basile Starynkevitch * melt-runtime.c (melt_passexec_callback): Improve debug. * melt/xtramelt-c-generator.melt: Don't use debugtree. 2012-01-22 Basile Starynkevitch * melt-runtime.c (melt_flavors_array): New. (melt_load_module_index): Try other flavors when asked for default. 2012-01-21 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): bumped to 0.9.3 2012-01-21 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-01-21 Basile Starynkevitch * melt-module.mk: Share the *+meltdesc.pic.o for all flavors. 2012-01-21 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_macroexpanded_list): Count the number of real secondary files generated, and backup the old extra ones. * melt/xtramelt-ana-simple.melt: install_melt_mode has one argument! 2012-01-21 Basile Starynkevitch * melt-runtime.c (melt_compile_source): More tests. * melt/xtramelt-c-generator.melt: Don't use debugtree. 2012-01-20 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_to_c_one_or_more_melt_files): More debug. * melt/warmelt-modes.melt (runfile_docmd): More debug. 2012-01-19 Basile Starynkevitch * melt-runtime.c (meltgc_load_flavored_module): Always find in current directory. Inform about all the directories and paths searched. 2012-01-18 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): bumped to 0.9.3- 2012-01-18 Basile Starynkevitch * warmelt-base.melt (clone_with_discriminant): Better casts in macrostrings. * melt/xtramelt-ana-base.melt (tree_function_decl_named) (function_decl_of_name, tree_function_decl, tree_var_decl_named) (tree_var_decl, tree_var_decl_of_name, tree_const_decl_of_name) (tree_const_decl_named, tree_parm_decl_named) (tree_parm_decl_of_name, tree_parm_decl, tree_result_decl_named) (tree_result_decl, tree_result_decl_of_name): Improve or add or change. * melt/xtramelt-ana-simple.melt (meltframe_exec) (smaninterp_gimple, ...): Adapt to previous changes. * melt/xtramelt-c-generator.melt: Likewise. 2012-01-17 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_complex_type, tree_const_decl) (tree_const_decl_named, tree_parm_decl, tree_parm_decl_named) (tree_type_decl, tree_type_decl_named, tree_fixed_point_type) (tree_nullptr_type, tree_result_decl, tree_result_decl_named): New 2012-01-17 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_offset_type) (tree_enumeral_type, tree_boolean_type, tree_pointer_type) (tree_reference_type): New. 2012-01-17 Basile Starynkevitch * melt-build.tpl: Force with -f most occurrences of $(LN_S) * melt-build.mk: Regenerate. 2012-01-17 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-01-17 Basile Starynkevitch {{tdefine.melt test works!}} * melt/warmelt-normal.melt (normexp_define): Remove duplicate newenv binding. Remove the cached normalization. (normbind_anybind, normbind_formalbind, normbind_letbind) (normbind_fixbind, normbind_definedvalbind) (normbind_constructbind, normexp_symbol, normexp_let) (normexp_citeration): Added more debug messages 2012-01-16 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_define): More debug. make a tuple with two additional normal components. * melt/warmelt-genobj.melt (dispose_objloc) (compilobj_nrep_locsymocc): More debug. * testsuite/melt/tdefine.melt: Use plus1 function. 2012-01-16 Basile Starynkevitch {{Better build machinery... work in progress}} * melt-build.tpl (WARMELT_LAST_STAGESTAMP): New. Use it at many occasions. * melt-build.mk: Regenerate. 2012-01-16 Basile Starynkevitch {{Better build machinery... work in progress}} * melt-build.tpl: Use the melt-sourceS/*melttime.h timestamps. * melt-build.mk: Regenerate. 2012-01-16 Basile Starynkevitch {{Better build machinery... work in progress}} * Makefile.in (melt.encap): Also depends upon $(srcdir)/melt-build.mk. * melt-build.tpl: Always use $(MD5SUM). Better dependencies on directory and stage stamp files. * melt-build.mk: Regenerate. 2012-01-15 Basile Starynkevitch {{Better build machinery... work in progress}} * Makefile.in (melt_make_move): Rename as ... (melt_move_if_change): New variable (melt-runtime.o): Don't rebuilt everytime because of melt-runtime.args. * melt-build.tpl: Improve. Use melt_move_if_change... * melt-build.mk: Regenerate. 2012-01-13 Basile Starynkevitch {{Unoptimal build machinery... work in progress}} * melt/warmelt-modes.melt: Issue a warning when translating a file not named *.melt. * melt-build.tpl: Improve. Use directory stamp files *-directory.stamp. * melt-build.mk: Regenerate. 2012-01-12 Basile Starynkevitch {{Unstable build machinery... work in progress}} * Makefile.in (melt_xtra_cflags): Non empty. * melt-module.mk: Add debugging echo. * melt-build.tpl: Partially improved, but very probably non-optimal. * melt-build.mk: Regenerate. 2012-01-10 Basile Starynkevitch * melt-module.mk (melt_module): Add intermediate dependency to symlink it forcibly. ($(GCCMELT_MODULE_BINARYBASE).$(GCCMELT_MODULE_FLAVOR).so): New intermediate target. * melt-build.tpl: Move and improve, notably vpath. * melt-build.mk: Regenerate. 2012-01-09 Basile Starynkevitch * melt-build.tpl: Add explicit rules for stage zero *meltdesc.c etc... Add rule for melttime.h headers. * melt-build.mk: Regenerate. 2012-01-06 Basile Starynkevitch {{Regenerated.}} * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. 2012-01-06 Basile Starynkevitch * melt-build.tpl: With make timestamp files melt-stage*-warmelt-*.stamp. * melt-build.mk: Regenerate. 2012-01-06 Basile Starynkevitch * melt-build.tpl: The gernerated warmelt*.c don't explicitly depend upon all the $(MELT_TRANSLATOR_SOURCE) but only on *.stamp files... * melt-build.mk: Regenerate. * Makefile.in (check-melt-runtime): Use $(MELT_RUNTIME_C). 2012-01-05 Basile Starynkevitch {{Regenerated. The warmelt*+melttime.h are added.}} * melt/generated/warmelt-base+melttime.h: Regenerate. * melt/generated/warmelt-debug+melttime.h: Regenerate. * melt/generated/warmelt-first+melttime.h: Regenerate. * melt/generated/warmelt-genobj+melttime.h: Regenerate. * melt/generated/warmelt-macro+melttime.h: Regenerate. * melt/generated/warmelt-modes+melttime.h: Regenerate. * melt/generated/warmelt-normal+melttime.h: Regenerate. * melt/generated/warmelt-normatch+melttime.h: Regenerate. * melt/generated/warmelt-outobj+melttime.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2012-01-05 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Don't use path for the included timestamp file. Generate comment in that timestamp file. 2012-01-05 Basile Starynkevitch * melt-build.tpl (warmelt-upgrade-translator): Also copy the FOO+melttime.h melt timestamp files. * melt-build.mk: Regenerate. * melt-runtime.h (melt_compile_source): Mention Melt timestamp file. * melt-runtime.c (melt_compile_source): Mention Melt timestamp file and warn when missing. * melt-module.mk (CCMELT_TIMEF): Variable for Melt timestamp file. Warn when missing. Add dependency on it. * melt/warmelt-outobj.melt (output_melt_descriptor): Use the naked basename for the unique macroname related to inclusion of Melt timestamp file. 2012-01-04 Basile Starynkevitch * melt-runtime.h (melt_output_strbuf_to_file_no_overwrite): New declaration. * melt-runtime.c (melt_output_strbuf_to_file_no_overwrite): New function. * melt/warmelt-base.melt (output_sbuf_no_overwrite_strconst) (output_sbuf_no_overwrite_strval): New primitives. * melt/warmelt-outobj.melt (output_melt_descriptor): Generate a separate FOO+melttime.h file included in FOO+meltdesc.c. 2012-01-04 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Move the time stamp values to end of generated *-meltdesc.c file. 2012-01-04 Basile Starynkevitch {{Regenerated, even if `tdefine.melt` test don't work}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2012-01-03 Basile Starynkevitch {{ tdefine.melt test still failing, translated incorrectly, so xtramelt-ana-base.melt still incorrectly translated. }} * melt/warmelt-macro.melt: Update comment & copyright year. * melt/warmelt-normal.melt: Likewise. (normexp_symbol): More debug. (normexp_define): Wrap in a letseq the normalized body of the define. Remove from the symbol cache.. * melt/warmelt-genobj.melt: Update comment & copyright year. (compilobj_nrep_definedconstant): New function, perhaps buggy. (compilobj_nrep_if): More debug. 2011-12-21 Basile Starynkevitch * melt/warmelt-normal.melt (normbind_definedvalbind): Added put_fields :fixbind_data. {{This function not called for tdefine.melt, but it should be called.}} (normexp_symbol): More debugging. (normexp_defun, normexp_defprimitive, normexp_defciterator) (normexp_defcmatcher, normexp_defselector, normexp_definstance): Use safer put_fields for :fixbind_data. * melt/warmelt-genobj.melt (compile2obj_initproc) (compilobj_fixed_binding): More debug. 2011-12-20 Basile Starynkevitch * melt/warmelt-normal.melt (normbind_anybind): Better debugging. (normbind_definedvalbind) make instance of class_nrep_defined_constant. (normexp_symbol): More debugging. (normexp_defun): More debugging. (normalize_lambda): Use foreach_in_multiple instead of multiple_every. * melt/warmelt-genobj.melt (compile2obj_initproc): More debug. * testsuite/melt/tdefine.melt (plus2): New function. Use it. 2011-12-20 Basile Starynkevitch {{Regenerated all}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-12-20 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_define): Improve debug output. * melt/warmelt-normal.melt (class_nrep_data): Removing, make it a synonym. (class_nrep_bound_data, class_nrep_discriminated_data): New class. (class_nrep_datainstance, class_nrep_datastring) (class_nrep_databoxedinteger, class_nrep_datatuple) (class_nrep_dataroutine, class_nrep_dataclosure): Sub-class of class_nrep_discriminated_data. (class_nrep_defined_constant): New class. * melt/warmelt-genobj.melt (compile2obj_initproc) (compil_data_and_slots_fill): Use class_nrep_bound_data. * testsuite/melt/tdefine.melt: Add assertion. Not working yet. 2011-12-20 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun, debug_msg_fun): Add an extra newline for big output. * melt/xtramelt-ana-base.melt (dbg_tree_briefly): New debug closure. * melt/xtramelt-opengpu.melt (opengpudetect_exec): Display dbg_tree_briefly. (opengpu_affine_accessed_array): Use it. 2011-12-19 Basile Starynkevitch * melt/xtramelt-opengpu.melt (class_opengpu_linear_composition): New. (class_opengpu_induction_variable): Add :opgpuiv_bound field. (opengpu_candidate_induction_variables): Fill it. (opengpu_affine_accessed_array): New. (opengpudetect_handle_parallel_loop): Removed old code... adding new... 2011-12-19 Basile Starynkevitch * melt-runtime.c (meltgc_do_initial_mode): Inform when no mode is given. (melt_really_initialize): inform that -fplugin-arg-melt-debug or -fmelt-debug is becoming obsolete, suggest -fmelt-debugging=... 2011-12-19 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Test debuggingstr is not null before strcasecmp-ing it. 2011-12-16 Basile Starynkevitch * melt-runtime.c (melt_compile_source): Refuse to have an IFS environment variable. 2011-12-15 Basile Starynkevitch * common.opt: use melt_flag_ instead of flag_melt_ (-fmelt-debugging=,melt_debugging_string): New. * melt-runtime.h (flag_melt_debug): Renamed as (melt_flag_debug). (flag_melt_bootstrapping): Renamed as (melt_flag_bootstrapping). (flag_melt_debug,flag_melt_bootstrapping): macro-defined for compatibility. * melt-runtime.c (melt_debugging_after_mode): New static variable. (melt_argument): Handle "debugging". (melt_really_initialize): Set melt_debugging_after_mode. (meltgc_do_initial_mode): handle it. * melt/warmelt-first.melt: Use melt_flag_debug.... * melt/warmelt-base.melt: Use melt_flag_debug.... * melt/warmelt-outobj.melt: Use melt_flag_debug.... * melt/xtramelt-ana-base.melt: Use melt_flag_debug.... 2011-12-13 Basile Starynkevitch * common.opt (count_melt_debugskip_string): Rename as melt_count_debugskip_string for -fmelt-debugskip= & -fmelt-debug-skip= * melt-runtime.c (melt_argument): Ditto. 2011-12-13 Basile Starynkevitch * common.opt (-fmelt=,melt_old_mode_string): Remove. * melt-runtime.c (melt_old_mode_string): Remove. (melt_argument): Don't use it. * toplev.c (toplev_main): Ditto. 2011-12-13 Basile Starynkevitch * melt/xtramelt-opengpu.melt (class_opengpu_induction_variable): New class with opgpuiv_* fields. (opengpu_candidate_induction_variables): Make a tuple of instances of class_opengpu_induction_variable. 2011-12-13 Basile Starynkevitch * melt/xtramelt-opengpu.melt (class_opengpu_induction_variable): New class with opgpuiv_* fields. (opengpu_candidate_induction_variables): Make a tuple of instances of class_opengpu_induction_variable. 2011-12-13 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_candidate_induction_variables): display short backtrace. 2011-12-13 Basile Starynkevitch * melt/xtramelt-opengpu.melt (mini+maxi_increment): New utility function. (opengpu_candidate_induction_variables): Use it. 2011-12-13 Basile Starynkevitch * melt-runtime.c (meltgc_gimple_execute): Typo in format of debugeprintf. 2011-12-13 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_increment_ssaname): sort out duplicate increments. 2011-12-12 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_increment_ssaname): Still incomplete. 2011-12-12 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_candidate_induction_variables): Use opengpu_increment_ssaname. 2011-12-12 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.2+ 2011-12-08 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-12-08 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9.2.b * melt/warmelt-base.melt (generate_optimized_melt_module, generate_flavored_melt_module) new. (generate_melt_module): synonym of generate_optimized_melt_module. * melt/warmelt-modes.melt (translate_to_flavored_module): New. (translatetomodule_docmd): Generate all flavors. (translatetomodule_mode, translatedebug_mode) (translatequickly_mode): Improve help. (translateoptimized_mode): New. (translatetomodule_docmd, translatedebug_docmd) (translateoptimized_docmd, translatequickly_docmd): Use translate_to_flavored_module. 2011-12-08 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_to_c_one_or_more_melt_files): Give an error with the source name when it has a suffix. 2011-12-08 Basile Starynkevitch * melt/warmelt-modes.melt (rundebug_docmd) (translatetomodule_docmd, translatedebug_docmd) (translatequickly_docmd): Better but still messy... 2011-12-08 Basile Starynkevitch * melt-runtime.c (melt_version_str): MELT_REVISION is a preprocessor string, so don't stringify it. 2011-12-07 Basile Starynkevitch * melt-module.mk: Remove @echo for debugging 2011-12-07 Basile Starynkevitch * melt-runtime.c (melt_load_module_index): Better warnings with enough arguments. (meltgc_walk_use_def_chain): Shrink MELT frame. 2011-12-07 Basile Starynkevitch * melt-runtime.c (melt_load_module_index): Search source also in temporary & work directories. Warn when source not found. 2011-12-02 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-12-02 Basile Starynkevitch * melt/warmelt-base.melt (register_all_ipa_passes_end_hook_first, register_all_ipa_passes_end_hook_last) (register_all_ipa_passes_start_hook_first) (register_all_ipa_passes_start_hook_last) (register_all_passes_end_hook_first) (register_all_passes_end_hook_last) (register_all_passes_start_hook_first) (register_all_passes_start_hook_last) (register_early_gimple_passes_end_hook_first) (register_early_gimple_passes_end_hook_last) (register_early_gimple_passes_start_hook_first) (register_early_gimple_passes_start_hook_last) (register_finish_decl_hook_first) (register_finish_decl_hook_last) (register_finish_type_hook_first) (register_finish_type_hook_last): New public functions. 2011-12-02 Basile Starynkevitch * melt-runtime.c (meltgc_all_passes_start_callback) (meltgc_all_passes_end_callback) (meltgc_all_ipa_passes_start_callback) (meltgc_all_ipa_passes_end_callback) (meltgc_early_gimple_passes_start_callback) (meltgc_early_gimple_passes_end_callback): New static functions. (melt_really_initialize): Register them. 2011-12-02 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-12-02 Basile Starynkevitch * melt-runtime.c (meltgc_notify_finish_decl_hook): Relevant only for GCC 4.7. * melt/warmelt-first.melt (class_initial_system_data): Add sysdata_all_passes_start_hook sysdata_all_passes_end_hook sysdata_all_ipa_passes_start_hook sysdata_all_ipa_passes_end_hook sysdata_early_gimple_passes_start_hook sysdata_early_gimple_passes_end_hook fields. 2011-12-02 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9.2 {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-12-02 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9.2- 2011-12-02 Basile Starynkevitch * melt/warmelt-base.melt (pre_genericize_hook_runner): Don't use lambda. (finishtype_delayed_queue, melt_notify_finish_type) (melt_finish_type_runner): New (register_finish_type_hook_first, register_finish_type_hook_last): Implement. (melt_notify_finish_decl, finishdecl_delayed_queue) (melt_finish_decl_runner): New. (register_finish_decl_hook_first, register_finish_decl_hook_last): Implement. 2011-12-01 Basile Starynkevitch * melt-runtime.h (meltgc_notify_finish_type_hook) (meltgc_notify_finish_decl_hook): Declare functions. * melt-runtime.c (meltgc_finishtype_callback) (meltgc_notify_finish_type_hook) (meltgc_finishdecl_callback, meltgc_notify_finish_decl_hook): Implement functions. 2011-11-30 Basile Starynkevitch * melt-runtime.c (meltgc_notify_register_finish_type_hook) (meltgc_notify_register_finish_decl_hook): Add stubs. * melt/warmelt-first.melt (class_system_data): New :sysdata_finishtype_hook & :sysdata_finishdecl_hook fields. * melt/warmelt-base.melt (register_finish_type_hook_first) (register_finish_type_hook_last, register_finish_decl_hook_first) (register_finish_decl_hook_last): New stubs. {{Regenerate}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base.c: Regenerate. 2011-11-30 Basile Starynkevitch * melt-runtime.h: Removed old manual field offsets, since an equivalent is generated in meltrunsup.h ... 2011-11-30 Basile Starynkevitch * melt-runtime.c (meltgc_infix_lexeme): Replace FSINFLEX_DATA by MELTFIELD_LEXEME_DATA. * melt-runtime.h: commented with #if 0 old manual field offsets * melt/warmelt-first.melt: Remove comment about keeping the FSYSDAT_ in sync inside melt-runtime.h ... * melt/warmelt-base.melt (valdesc_object): Use MELTFIELD_CLASS_FIELDS in chunk. * melt/warmelt-genobj.melt (compile2obj_initproc): Use MELTFIELD_SYSDATA_CONT_FRESH_ENV. {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-11-30 Basile Starynkevitch * melt-predef.list (CLASS_INFIX_LEXEME): Add predefined. * melt-runtime.h: Removing manually predefined field offsets * melt-runtime.c (melt_container_value, meltgc_new_container) (meltgc_container_put, melt_is_subclass_of, meltgc_send) (melt_compile_source, meltgc_infix_lexeme, meltgc_read_from_val) (melt_pragma_callback, melt_pre_genericize_callback) (melt_startunit_callback, melt_finishunit_callback) (melt_passexec_callback, meltgc_do_initial_mode) (meltgc_load_modules_and_do_mode, do_finalize_melt, is_named_obj) (melt_debug_out, meltgc_debugmsgval) (ppl_melt_variable_output_function) (meltgc_run_meltpass_after_hook, melt_val2passflag) (meltgc_gimple_gate, meltgc_gimple_execute, meltgc_rtl_gate) (meltgc_rtl_execute, meltgc_simple_ipa_gate) (meltgc_simple_ipa_execute, meltgc_register_pass) (meltgc_notify_sysdata_passexec_hook, melt_handle_melt_attribute): Use generated names like MELTFIELD_* & MELTLENGTH_CLASS* instead of manual ones. * melt/warmelt-first.melt (class_infix_lexeme): Predefine. (foreach_in_mapstring): Use MELTFIELD_NAMED_NAME. * melt/warmelt-modes.melt (generate_runtypesupport_cloning_fun): Use MELTLENGTH_CLASS_DISCRIMINANT {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-11-30 Basile Starynkevitch * melt/warmelt-modes.melt (generate_runtypesupport*): Call strbuf_reserve. (generate_runtypesupport_predef_fields): Better generated indentation. {{Regenerate}} * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-11-30 Basile Starynkevitch * melt/warmelt-modes.melt (generate_runtypesupport_predef_fields): New function. (runtypesupport_docmd): Call it. 2011-11-30 Basile Starynkevitch {{Regenerate again}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. * melt/warmelt-genobj.melt: Revert to rev 181694!! * melt/warmelt-normal.melt: Restored {Regenerate melt/generated/} * melt/warmelt-debug.melt: Restored {Regenerate melt/generated/} * melt/warmelt-base.melt: Restored, so with strbuf_reserve.. {{temporarily reverted melt/ to rev 181694}} 2011-11-30 Basile Starynkevitch {{MELT branch rev 181694 is the last which is able to go to melt-stage3}} 2011-11-28 Basile Starynkevitch {{still broken}} * melt-build.tpl: List generated C file. * melt-build.mk: Regenerate. * melt-runtime.c (meltgc_start_all_new_modules) (meltgc_load_flavored_module, meltgc_do_initial_mode) (meltgc_load_modules_and_do_mode): Improve debug messages. 2011-11-28 Basile Starynkevitch * melt-runtime.c (meltgc_do_initial_mode): Improved errror & debug messages. 2011-11-28 Basile Starynkevitch {{brittle!}} * melt-runtime.c (meltgc_add_out_raw_len): Reserve more space, to avoid expanding too often the strbuf. (melt_load_module_index): Improve inform message. * melt-build.tpl: Ensure that generated C file exists. * melt-build.mk: Regenerate. 2011-11-26 Basile Starynkevitch * melt/warmelt-modes.melt: Revert to revision 181698 {{Regenerate twice}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-11-25 Basile Starynkevitch * melt/warmelt-base.melt (strbuf_reserve): New primitive. 2011-11-25 Basile Starynkevitch * melt-runtime.h (meltgc_strbuf_reserve): New declaration. * melt-runtime.c (meltgc_strbuf_reserve): New function. (meltgc_add_out_raw_len): Use it. 2011-11-25 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-11-25 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun): Complete debug function support. 2011-11-24 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_symbol): More debug print. * melt/warmelt-genobj.melt (get_free_objlocptr, dispose_objloc): Add backtrace. (compilobj_nrep_let): Replace multiple_every by foreach_in_multiple. * testsuite/melt/tvariadic-3.melt: Use debug not add2out... 2011-11-23 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_variadic): More debug print. * melt/warmelt-normal.melt (normexp_ifvariadic): Ditto. * melt/warmelt-genobj.melt (compilobj_nrep_ifvariadic): Ditto. * testsuite/melt/tvariadic-3.melt: Simplify. 2011-11-22 Basile Starynkevitch * melt/warmelt-genobj.melt (compilobj_nrep_ifvariadic): Add debug printing. * testsuite/melt/tvariadic-3.melt: Simplify. 2011-11-21 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_ifvariadic): When normalizing the else case, don't use the new environment but the old one.. * testsuite/melt/tvariadic-3.melt: Reorganize. 2011-11-21 Basile Starynkevitch * testsuite/melt/tvariadic-3.melt: Reduced the test case to something small. 2011-11-21 Basile Starynkevitch * testsuite/melt/tvariadic-3.melt: Commented. 2011-11-21 Basile Starynkevitch * testsuite/melt/tvariadic-3.melt: New testcase. 2011-11-21 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun): Display ordinarily a debug function appearing as last variadic argument. 2011-11-21 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun): Found minimal translator bug. 2011-11-21 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun): Handle [partly] discr_debug_closure. Probable translator bug. 2011-11-21 Basile Starynkevitch * melt/warmelt-debug.melt (discr_debug_closure): New. 2011-11-17 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-11-17 Basile Starynkevitch * melt/warmelt-base.melt (clone_with_discriminant): New primitive. (class_value_descriptor): Mention it. 2011-11-17 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_object, valdesc_mapobjects) (valdesc_mapstrings, valdesc_multiple, valdesc_strbuf): Improve clone chunks. * melt/warmelt-modes.melt (generate_runtypesupport_cloning_fun): Generate correctly the cloning function. 2011-11-16 Basile Starynkevitch * melt/warmelt-modes.melt (generate_runtypesupport_cloning_fun): Improved. * melt/warmelt-base.melt: typos. 2011-11-16 Basile Starynkevitch * melt/warmelt-modes.melt (generate_runtypesupport_cloning_fun): Coded. * melt/warmelt-base.melt (valdesc_object, valdesc_mapobjects) (valdesc_mapstrings, valdesc_multiple, valdesc_closure) (valdesc_string, valdesc_strbuf, valdesc_list, valdesc_mixint) (valdesc_mixloc, valdesc_real): Add :valdesc_clonechunk field. 2011-11-15 Basile Starynkevitch * melt/warmelt-base.melt (class_value_descriptor): Add valdesc_clonechunk field. * melt/warmelt-modes.melt (generate_runtypesupport_cloning_fun): New incomplete function. (runtypesupport_docmd): Call it. * melt/xtramelt-opengpu.melt (opengpu_candidate_induction_variables): More * melt-runtime.h (meltgc_clone_with_discriminant): New declaration. 2011-11-14 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_candidate_induction_variables): More, but still incomplete. 2011-11-09 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_docmd): More debug. 2011-10-26 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_assign_to): New cmatcher. * melt/xtramelt-opengpu.melt (opengpu_increment_ssaname): New function. (opengpu_candidate_induction_variables): More. 2011-10-26 Basile Starynkevitch * melt-run.proto.h: [[patch suggested by Allan McRae ]] Include directly c-pragma.h & c-pretty-print.h with GCC4.6... 2011-10-25 Basile Starynkevitch * melt-runtime.h (meltgc_walk_use_def_chain): New declaration. * melt-runtime.c (meltgc_usedef_internalfun, meltgc_walk_use_def_chain): New functions. * melt/xtramelt-ana-base.melt (walk_use_def_chain_breadth_first) (walk_use_def_chain_depth_first): New primitives. * melt/xtramelt-opengpu.melt (opengpu_candidate_induction_variables): New incomplete function. 2011-10-25 Basile Starynkevitch * testsuite/melt/topengpu-vecsum.c: Indent. * melt/xtramelt-ana-base.melt (eachgimplephi_in_basicblock): New citerator. (do_eachgimplephi_in_basicblock): New function. (do_eachgimple_in_basicblock): Export it. * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): Use eachgimplephi_in_basicblock. 2011-10-24 Basile Starynkevitch * melt-runtime.c (meltgc_out_edge): call dump_edge_info with do_succ flag set. * melt/xtramelt-opengpu.melt (class_opengpu_data): New. (opengpudetect_handle_parallel_loop): Get the gpudata. Get the edge of conds. (opengpudetect_exec): Make a gpudata. 2011-10-24 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.1+ * melt/warmelt-outobj.melt (objputpairhead_counter): New instance. (outpucod_objputpairhead): Use it, to generate more reproducible code. 2011-10-24 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpudetect_exec): Better debug. {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-10-19 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): Match on ssa variables. 2011-10-19 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun): Emit newline when appropriate for raw cstrings starting with space. 2011-10-19 Basile Starynkevitch * melt-runtime.c (meltgc_read_file): Do LC_LEAVE after reading file. * melt/xtramelt-ana-base.melt (tree_simple_ssa_name): New cmatcher. * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): Use it. 2011-10-18 Basile Starynkevitch * melt-build.tpl: Explicitly add -Iinclude to meltframe.args. * melt-build.mk: Regenerate. 2011-10-17 Basile Starynkevitch * melt/warmelt-genobj.melt: Don't use DEBUG. * melt/xtramelt-c-generator.melt: Ditto. * melt/xtramelt-parse-infix-syntax.melt: Ditto. 2011-10-17 Basile Starynkevitch * melt-runtime.h (meltgc_ppout_tree_perhaps_briefly): New declaration. (meltgc_ppout_tree, meltgc_ppout_tree_briefly): Add macros. * melt-runtime.c (meltgc_ppout_tree): Remove, rename as.. (meltgc_ppout_tree_perhaps_briefly): Renamed function. May call either print_node or print_node_brief. * melt/xtramelt-ana-base.melt (output_tree_briefly): New function. 2011-10-17 Basile Starynkevitch * melt-runtime.c (meltgc_ppout_tree): Use print_node, not print_node_brief. * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): More. 2011-10-17 Basile Starynkevitch * melt/xtramelt-ana-base.melt (foreach_superloop): New citerator. (superloop_tuple): New function. 2011-10-17 Basile Starynkevitch * melt/warmelt-debug.melt (melt_debug_fun): Remove debug aid. * melt/xtramelt-ana-base.melt (superloop_at_depth): New primitive. * melt/xtramelt-opengpu.melt: More debug. * testsuite/melt/topengpu-vecsum.c: Improve comment. * testsuite/melt/topengpu-0.c: Likewise. 2011-10-17 Basile Starynkevitch * melt/xtramelt-opengpu.melt: Use DEBUG... 2011-10-15 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-15 Basile Starynkevitch {{Work in progress.}} * melt/warmelt-macro.melt (mexpand_variadic): Check that all formals are different. * melt/warmelt-base.melt (add2out): Accept manipulator for some ctypes. Isse error when failing. * melt/warmelt-outobj.melt: Use DEBUG instead of DEBUG_MSG. Remove some DEBUG_MSG. * melt/xtramelt-ana-base.melt: Restore to rev. 180026 * melt/xtramelt-ana-simple.melt: Restore to rev. 180026 2011-10-15 Basile Starynkevitch {{Work in progress. Regenerated}} * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-10-15 Basile Starynkevitch {{Work in progress.}} * melt/warmelt-normatch.melt: Restore to rev. 180026 2011-10-15 Basile Starynkevitch {{Work in progress. Regenerated with some pain.}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-10-15 Basile Starynkevitch * melt/warmelt-genobj.melt: Replace DEBUG_MSG with DEBUG. Don't use version in rev. 180026. 2011-10-15 Basile Starynkevitch {{Work in progress. Regenerated with some pain.}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-10-15 Basile Starynkevitch {{Work in progress.}} * melt/warmelt-first.melt: Restore to rev. 180026 * melt/warmelt-base.melt: Restore to rev. 180026 * melt/warmelt-macro.melt: Restore to rev. 180026 * melt/warmelt-normal.melt: Restore to rev. 180026 2011-10-15 Basile Starynkevitch {{Work in progress. Regenerated}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-10-15 Basile Starynkevitch {{Work in progress.}} * melt/warmelt-macro.melt: Better. 2011-10-15 Basile Starynkevitch {{Work in progress. Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-10-15 Basile Starynkevitch {{Work in progress. the MELT branch is hurt to the point of being unusable. See http://groups.google.com/group/gcc-melt/msg/07c1d0dbee494e00}} * melt-module.mk: Compile the *+meltdesc.c into each *.so without going thru a *.pic.o file. * melt-build.tpl: The *.args files are generated explicitly, without using $@ or $^ based tricks. * melt-build.mk: Regenerate. * melt/ : Revert to svn rev 179793 2011-10-13 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9.1 2011-10-13 Basile Starynkevitch * Makefile.in (melt-runtime.args): Use rm -f to remove it before. 2011-10-13 Basile Starynkevitch * Makefile.in (melt-runtime.args): Separate from ... (melt-runtime.o, melt-runtime.i): ... which depends upon melt-runtime.args 2011-10-13 Basile Starynkevitch * melt-build.tpl (melt-tiny-tests): Replace tab by spaces. * melt-build.mk: Regenerate. * Makefile.in (melt-runtime.args): Add echo. 2011-10-13 Basile Starynkevitch * Makefile.in (melt-runtime.args): Always rebuilt. 2011-10-12 Basile Starynkevitch * melt/warmelt-first.melt: Removed all debug_msg. * melt/xtramelt-ana-base.melt: Don't use DEBUG_MSG, but DEBUG. * melt/xtramelt-ana-simple.melt: Don't use DEBUG_MSG, but DEBUG. 2011-10-11 Basile Starynkevitch * melt/warmelt-outobj.melt 2011-10-12 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-12 Basile Starynkevitch * melt/warmelt-base.melt: Can't use DEBUG or DEBUG_MSG. 2011-10-12 Basile Starynkevitch * melt/warmelt-macro.melt: Don't use DEBUG_MSG, but DEBUG. (mexpand_debug_msg): Give warning, because DEBUG_MSG is obsolete. 2011-10-12 Basile Starynkevitch * melt/warmelt-normal.melt: Don't use DEBUG_MSG, but DEBUG. 2011-10-12 Basile Starynkevitch * melt/warmelt-normatch.melt: Don't use DEBUG_MSG, but DEBUG. 2011-10-11 Basile Starynkevitch * melt/warmelt-normatch.melt: **PARTLY DONE** Don't use DEBUG_MSG, but DEBUG. 2011-10-11 Basile Starynkevitch * melt/warmelt-genobj.melt: Don't use DEBUG_MSG, but DEBUG. Replaced some function interations with citerators. 2011-10-11 Basile Starynkevitch * melt/warmelt-outobj.melt: Don't use DEBUG_MSG, but DEBUG. 2011-10-11 Basile Starynkevitch * melt/warmelt-modes.melt: Don't use DEBUG_MSG, but DEBUG. 2011-10-11 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-11 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_debug): Add debug messages. * melt/warmelt-outobj.melt (outpucod_getargrest): Correct rank of variadic index update. * testsuite/melt/tvariadic-2.melt: Update. 2011-10-10 Basile Starynkevitch * melt-runtime.h (melt_need_debug, melt_need_debug_limit): New functions. * melt/warmelt-first.melt (need_dbg, need_dbglim): Use them. 2011-10-10 Basile Starynkevitch * melt/warmelt-first.melt (need_dbg, need_dbglim): No more exported synonym, should use melt_need_dbg... * melt/warmelt-debug.melt (debug_fun): No more exported, the debug macro is generating calls to melt_debug_fun. * testsuite/melt/tdebug.melt: Update. 2011-10-10 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-10 Basile Starynkevitch * melt/warmelt-first.melt (need_dbg, need_dbglim): Rename as ... (melt_need_dbg, melt_need_dbglim): Rename primitives. * melt/warmelt-macro.melt (mexpand_debug): Expand using melt_need_dbg primitive. * melt/warmelt-debug.melt (debug_msg_fun): Use melt_need_dbg. (dbgout_multiple_method): Likewise. (debug_fun): Rename as... (melt_debug_fun): Was debug_fun, for debug macro expansion. * melt/warmelt-macro.melt (mexpand_debug): Use melt_debug_fun. * melt/warmelt-normatch.melt (normexp_altmatch): Use melt_need_dbg. * melt/warmelt-genobj.melt (putobjdest_null): Use melt_need_dbg. * melt/xtramelt-ana-simple.melt (dbgout_smallabstractenv): Likewise. 2011-10-10 Basile Starynkevitch * testsuite/melt/tdebug.melt: New file. * melt-runtime.c (flag_melt_debug, flag_melt_bootstrapping): Define these variables only if they are not macros. * melt-runtime.h: Likewise. * melt/warmelt-macro.melt (mexpand_debug): Thingo. * melt/warmelt-debug.melt (debug_fun): Add newline at end. * melt/warmelt-normal.melt (normexp_list, normexp_tuple): Check arguments types. * melt/xtramelt-opengpu.melt: Use debug macro. 2011-10-10 Basile Starynkevitch * melt-runtime.h (meltppbuffer, meltppbufsiz): Declare as extern variables. 2011-10-08 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenenate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenenate. * melt/generated/warmelt-base+02.c: New generated file. * melt/generated/warmelt-base+meltdesc.c: Regenenate. * melt/generated/warmelt-base.c: Regenenate. * melt/generated/warmelt-debug+01.c: Regenenate. * melt/generated/warmelt-debug+02.c: Regenenate. * melt/generated/warmelt-debug+meltdesc.c: Regenenate. * melt/generated/warmelt-debug.c: Regenenate. * melt/generated/warmelt-first+meltdesc.c: Regenenate. * melt/generated/warmelt-first.c: Regenenate. * melt/generated/warmelt-genobj+01.c: Regenenate. * melt/generated/warmelt-genobj+03.c: Regenenate. * melt/generated/warmelt-genobj+04.c: Regenenate. * melt/generated/warmelt-genobj+05.c: Regenenate. * melt/generated/warmelt-genobj+meltdesc.c: Regenenate. * melt/generated/warmelt-genobj.c: Regenenate. * melt/generated/warmelt-macro+01.c: Regenenate. * melt/generated/warmelt-macro+02.c: Regenenate. * melt/generated/warmelt-macro+03.c: Regenenate. * melt/generated/warmelt-macro+04.c: Regenenate. * melt/generated/warmelt-macro+meltdesc.c: Regenenate. * melt/generated/warmelt-macro.c: Regenenate. * melt/generated/warmelt-modes+meltdesc.c: Regenenate. * melt/generated/warmelt-modes.c: Regenenate. * melt/generated/warmelt-normal+01.c: Regenenate. * melt/generated/warmelt-normal+02.c: Regenenate. * melt/generated/warmelt-normal+03.c: Regenenate. * melt/generated/warmelt-normal+meltdesc.c: Regenenate. * melt/generated/warmelt-normal.c: Regenenate. * melt/generated/warmelt-normatch+02.c: Regenenate. * melt/generated/warmelt-normatch+03.c: Regenenate. * melt/generated/warmelt-normatch+04.c: Regenenate. * melt/generated/warmelt-normatch+meltdesc.c: Regenenate. * melt/generated/warmelt-normatch.c: Regenenate. * melt/generated/warmelt-outobj+04.c: Regenenate. * melt/generated/warmelt-outobj+meltdesc.c: Regenenate. * melt/generated/warmelt-outobj.c: Regenenate. 2011-10-07 Basile Starynkevitch * melt/warmelt-base.melt (melt_increment_dbgcounter): New primitive. * melt/warmelt-macro.melt (mexpand_debug): Use it. * melt/warmelt-debug.melt (register_loop_debug_fun): New. (debug_fun): Handle :loop-s. * melt/warmelt-loop.melt (debugfun_loop): New registered function. 2011-10-07 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_debug): Add (if (need_dbg 0) ...) in expansion. 2011-10-07 Basile Starynkevitch * melt-runtime.h (meltppfile, meltppbuffer, meltppbufsiz): New variables [previously static in melt-runtime.c]. (melt_open_ppfile, melt_close_ppfile, melt_release_ppbuf): New declarations or functions. * melt-runtime.c (meltppfile, meltppbuffer, meltppbufsiz): Variables made public. (open_meltpp): renamed as... (melt_open_ppfile): new. (close_meltpp_file): renamed as... (melt_close_ppfile): new. (meltgc_ppout_gimple, meltgc_ppout_gimple_seq, meltgc_ppout_tree) (meltgc_out_edge, meltgc_out_loop): Revamped accordingly. * melt/warmelt-base.melt (is_file): New primitive. * melt/xtramelt-ana-base.melt (debugfun_tree, debugfun_gimple) (debugfun_gimpleseq, debugfun_basicblock, debugfun_edge): New registered debug functions. 2011-10-07 Basile Starynkevitch * melt/warmelt-debug.melt (register_tree_debug_fun) (register_gimple_debug_fun, register_gimpleseq_debug_fun) (register_edge_debug_fun, register_basicblock_debug_fun): New functions. (debug_fun): Coded, by calling appropriate registered hooks. 2011-10-06 Basile Starynkevitch * melt/warmelt-debug.melt (debug_fun): New stub, to be implemented. * melt/warmelt-macro.melt (debug, mexpand_debug): New macro & expander. 2011-10-06 Basile Starynkevitch * melt/warmelt-base.melt (variadic_ctype): New primitive. 2011-10-06 Basile Starynkevitch * melt/warmelt-base.melt (add2out_sbuf): Typo in macrostring. (add2out): Return its output. (add2out4strbuf): New method. * melt/warmelt-outobj.melt (translate_macroexpanded_list): When the number of secondary generated files decrease, back-up the old useless files. 2011-10-06 Basile Starynkevitch * melt/warmelt-outobj.melt (install_melt_mode) (translatefile_docmd, translatefile_mode, translateinit_docmd) (translateinit_mode): Moved ... * melt/warmelt-modes.melt: ... to here. {{Regenerated several times}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-modes+01.c: Regenerate. * melt/generated/warmelt-modes+02.c: Regenerate. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-06 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-modes+01.c: New generated file. * melt/generated/warmelt-modes+02.c: New generated file. * melt/generated/warmelt-modes+meltdesc.c: Regenerate. * melt/generated/warmelt-modes.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Remove. * melt/generated/warmelt-outobj+06.c: Remove. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-06 Basile Starynkevitch * melt/warmelt-outobj.melt (translatetomodule_docmd) (translatetomodule_mode, translatedebug_docmd) (translatedebug_mode, translatequickly_docmd) (translatequickly_mode): Move ... * melt/warmelt-modes.melt: ... To here. 2011-10-06 Basile Starynkevitch * melt/warmelt-outobj.melt (help_docmd, help_mode, nop_docmd) (mop_mode, runfile_docmd, runfile_mode, rundebug_docmd) (rundebug_mode, class_makedoc_info, makedoc_scaninput) (makedoc_outformals, makedoc_outdoc, makedoc_outclassdef) (makedoc_genpatmacro, makedoc_genclass, makedoc_genfunction) (makedoc_genciterator, makedoc_genoutput, makedoc_docmd) (makedoc_mode, generate_runtypesupport_enum_objmagic) (generate_runtypesupport_gty) (generate_runtypesupport_forwcopy_fun) (generate_runtypesupport_scanning, generate_runtypesupport_param) (generate_runtypesupport_cod2ctype) (generate_runtypesupport_mag2str) (generate_runtypesupport_boxingfun) (generate_runtypesupport_mapfun, runtypesupport_docmd) (runtypesupport_mode): Move into warmelt-mode.melt file ... (translate_to_c_one_or_more_melt_files): Export. * melt/warmelt-modes.melt: Move many functions from warmelt-outobj.melt to here. 2011-10-06 Basile Starynkevitch * melt/warmelt-modes.melt: New file. * melt/generated/warmelrt-modes+meltdesc.c: New file. * melt/generated/warmelrt-modes.c: New file. * melt-build.def (warmelt-modes): New translator entry. * melt-build.mk: Regenerate. 2011-10-06 Basile Starynkevitch * Makefile.in (install-melt-default-modules-list): Install the *.modlis files in the source directory. 2011-10-05 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+06.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-05 Basile Starynkevitch * melt-runtime.h (enum melt_globalix_en, #include "melt-predef.h") (MELT_PREDEF, MELT_STORE_PREDEF): Moved before meltrunsup.h ... * melt/warmelt-outobj.melt (runtypesupport_docmd): Emit declaration of melt_code_to_ctype. 2011-10-05 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_cod2ctype): Don't wrap emitted routine with #ifdef. 2011-10-05 Basile Starynkevitch * melt/warmelt-base.melt (add2out4null, add2out4integer) (add2out4string, add2out4clonedsymb, add2out4named) (add2out4rootobject, add2out4any): Correct formal argument order. 2011-10-05 Basile Starynkevitch * melt-run.proto.h: Always include c-family/*.h files. 2011-10-05 Basile Starynkevitch * melt-run.proto.h: Use c-family/ for includes of c-pragma.h etc... also when GCC_VERSION is for 4.7. * testsuite/melt/tvariadic.melt: Renamed as * testsuite/melt/tvariadic-1.melt: New. * testsuite/melt/tvariadic-2.melt: New. 2011-10-05 Basile Starynkevitch * melt-runtime.c (melt_readseqlist): Read correctly ##{...}# chunks. * melt/warmelt-outobj.melt (generate_runtypesupport_cod2ctype): New function. (runtypesupport_docmd): Call it. 2011-10-05 Basile Starynkevitch * melt/warmelt-base.melt (add_to_out): New selector. (add2out): New variadic function. (add2out4null, add2out4integer, add2out4string) (add2out4clonedsymb, add2out4named, add2out4rootobject) (add2out4any): New methods. 2011-10-05 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+06.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-05 Basile Starynkevitch * melt/warmelt-base.melt (variadic_type_code): New primitive. 2011-10-05 Basile Starynkevitch * melt/warmelt-outobj.melt (outpucod_marker) (output_curframe_declstruct_init, outpucod_initialroutine): Output meltframptr_ instead of framptr_. 2011-10-05 Basile Starynkevitch * melt/warmelt-genobj.melt (compilobj_nrep_ifvariadic): Use meltxargtab_ & meltxargdescr_ in emitted chunk... * melt/warmelt-outobj.melt (output_curframe_declstruct_init) (outpucod_procroutine, outpucod_getarg, outpucod_objputxtraresult) (generate_runtypesupport_gty): Output meltclosp_, meltfirstargp_, meltxargtab_, meltxargdescr_, meltxresdescr_, meltxrestab_ instead of the shorter name without melt, as formal arguments. 2011-10-05 Basile Starynkevitch * melt/warmelt-base.melt (variadic_index, variadic_length) (variadic_skip): New primitives. * melt/warmelt-outobj.melt (outpucod_procroutine): Comment that melt_variadic_length & melt_variadic_index are macros needed by above primitives. 2011-10-05 Basile Starynkevitch * melt-runtime.h (melt_tempdir_path): Comment that no directory is create when the BASNAM is null. * melt-runtime.c (melt_tempdir_path): Don't mkdir when BASNAM is null. (meltgc_load_flavored_module): Use melt_tempdir_path. 2011-10-04 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+05.c: New, regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+06.c: New, regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-10-04 Basile Starynkevitch * melt/warmelt-genobj.melt (compilobj_nrep_ifvariadic): Typo in emitted code. * melt/warmelt-outobj.melt (outpucod_getargrest): Better. (runfile_docmd): Still messy. 2011-10-04 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_variadic): More robust. * melt/warmelt-normal.melt (normexp_ifvariadic): Check then & else branches. * melt/warmelt-genobj.melt (variadic_idstr): New internal function. (variadic_index_idstr, variadic_length_idstr): New exported functions. (compile2obj_procedure): Use them. (compilobj_nrep_ifvariadic, compilobj_nrep_variadic_argument) (compilobj_nrep_consumevariadic): Ditto. * melt/warmelt-outobj.melt (outpucod_procroutine): Ditto. 2011-10-04 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_ifvariadic): Thinko. * melt/warmelt-genobj.melt (compilobj_nrep_variadic_argument): More. (compilobj_nrep_consumevariadic): New method. 2011-10-03 Basile Starynkevitch * melt/warmelt-normal.melt (class_nrep_consume_variadic): New class. (normexp_ifvariadic): Complete, by using it. * melt/warmelt-genobj.melt (compilobj_nrep_ifisa): Re-indent. (compilobj_nrep_ifvariadic): New method. (compilobj_nrep_variadic_argument): New method. * melt/warmelt-outobj.melt (outpucod_procroutine): Comment mentions compilobj_nrep_ifvariadic. 2011-10-03 Basile Starynkevitch * melt/warmelt-normal.melt (class_nrep_variadic_argument): New class. (normexp_ifvariadic): Complete, by using it. * testsuite/melt/tvariadic.melt: Correct. 2011-10-03 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_multiple_method): Always display tuple's content at toplevel. * melt/warmelt-macro.melt (mexpand_variadic): Seems to work. * melt/warmelt-normal.melt (normalize_tuple): Always debug print the tuple to normalize. (normexp_ifvariadic): Also normalize the else part. Still incomplete. * melt/warmelt-outobj.melt (outpucod_anydiscr): Debug print the reciever. * testsuite/melt/tvariadic.melt: Correct. 2011-09-30 Basile Starynkevitch * melt/warmelt-first.melt (foreach_pair): New. * melt/warmelt-macro.melt (class_source_variadic): Remove, because renamed as (class_source_ifvariadic). (mexpand_variadic): Recode, using class_source_ifvariadic. * melt/warmelt-normal.melt (normexp_variadic): Remove, since renamed as (normexp_ifvariadic): Still incomplete. * testsuite/melt/tvariadic.melt: Updated for new variadic syntax. 2011-09-29 Basile Starynkevitch * melt/warmelt-normal.melt (class_nrep_ifvariadic): New. (normexp_variadic): Use it. Still incomplete. * testsuite/melt/tvariadic.melt: More. 2011-09-29 Basile Starynkevitch * melt/warmelt-genobj.melt (class_objagain): New class. (compilobj_nrep_again): New method. * melt/warmelt-outobj.melt (outpucod_objagain): New method. 2011-09-29 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Change, because get_random_seed gives a string in GCC 4.6 and a number in GCC 4.7. 2011-09-29 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_variadic): Warn for redefinition. * melt/warmelt-normal.melt (class_nrep_again): New. (normexp_again): New method. (normexp_variadic): New stub, incomplete. 2011-09-29 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_again, class_source_variadic): New. (mexpand_again, mexpand_variadic): New methods. (again, variadic): New macros. 2011-09-29 Basile Starynkevitch * testsuite/melt/tvariadic.melt: Add more fixed arguments. * melt/warmelt-genobj.melt (class_objgetargrest): New class, with obarg_rest field. (compile2obj_procedure): Use it for variadic functions. * melt/warmelt-outobj.melt (outpucod_procroutine): Handle variadic procedures by emitting melt_variadic_len & melt_variadic_ix and their referenced symbols. (outpucod_getargrest): New method for output_c_code of class_objgetargrest. 2011-09-29 Basile Starynkevitch * testsuite/melt/tvariadic.melt: New file. 2011-09-29 Basile Starynkevitch * melt/warmelt-first.melt (as_null): New cmatcher. * melt/warmelt-genobj.melt (class_procroutineobj): Add oprout_restnam field. (compile2obj_procedure): Fill it. * melt/warmelt-outobj.melt (outpucod_procroutine): Handle it. 2011-09-29 Basile Starynkevitch * melt/warmelt-normal.melt (class_nrep_routproc): Add nrpro_variadic field. (normexp_defun, normexp_lambda): Fill it. 2011-09-29 Basile Starynkevitch * melt/warmelt-first.melt (class_rest_formal_binding): Remove. (discr_formals_sequence, discr_variadic_formal_sequence): Add. * melt/warmelt-macro.melt (lambda_arg_bindings): Variadic formals should end with just :rest. Their tuple is of discr_variadic_formal_sequence. (mexpand_defprimitive): Check for non-variadic using discr_variadic_formal_sequence. (mexpand_defciterator): Ditto. (mexpand_defcmatcher): Ditto. (mexpand_defunmatcher): Ditto. (mexpand_multicall): Ditto. 2011-09-29 Basile Starynkevitch * melt-predef.list (CLASS_REST_FORMAL_BINDING): Remove. (DISCR_ANY_RECEIVER): Add. * melt-runtime.h (melt_is_instance_of): Handles non-object values with a hierarchy of discriminants. (melt_argdescr_length): New inline function. * melt/warmelt-first.melt (discr_any_receiver): Becomes predefined. (class_rest_formal_binding): Is no more predefined. 2011-09-27 Basile Starynkevitch * melt-make-string.c: Include . (output_cstr): Declare before definition. Better indented. * melt-predef.list (CLASS_REST_FORMAL_BINDING): New. * melt/warmelt-first.melt (class_rest_formal_binding): New exported class. * melt/warmelt-macro.melt (lambda_arg_bindings): Handle :rest for variadic case. (mexpand_defciterator, mexpand_defunmatcher, mexpand_multicall) (mexpand_defprimitive): Check for non variadic. 2011-09-27 Basile Starynkevitch * melt-build.tpl: Generate location in "doing" messages * melt-build.mk: Regenerate. 2011-09-27 Basile Starynkevitch * melt-module.mk (%.debugnoline.pic.o): Compile with -DMELTGCC_NOLINENUMBERING 2011-09-27 Basile Starynkevitch * melt-module.mk (%.quicklybuilt.pic.o): Compile with $(GCCMELT_QUICKLYBUILT_FLAGS). 2011-09-27 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-09-27 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9 * melt-module.mk: Remove debugging echo commands. (%.debugnoline.pic.o): Compile with $(GCCMELT_DEBUGNOLINE_FLAGS) 2011-09-26 Basile Starynkevitch * melt-built.tpl: For meltframe.args output cc1 to /dev/null * melt-build.mk: Regenerate. 2011-09-26 Basile Starynkevitch * melt-make-string.c: New file, used as generator. * melt-runtime.c: Add #include of generated melt-runtime-params-inc.c (MELT_SOURCE_DIR, MELT_MODULE_DIR, MELT_MODULE_MAKE_COMMAND) (MELT_DEFAULT_MODLIS): Don't require these cpp definitions. (melt_source_dir, melt_module_dir, melt_module_make_command) (melt_module_makefile, melt_module_cflags, melt_default_modlis): Definition moved into generated melt-runtime-params-inc.c. (melt_version_str): Use MELT_STRINGIFY. (meltgc_load_modules_and_do_mode): Use melt_default_modlis. * Makefile.in: Generate melt-runtime-params-inc.c. 2011-09-24 Basile Starynkevitch * melt-build.tpl (melt-tiny-tests): Run the meltframe test on melt-runtime.c * melt-build.mk: Regenerate. * melt-runtime.c (meltgc_do_initial_mode) (meltgc_load_modules_and_do_mode): Remove unused MELT frame slots. * Makefile.in (MELT_RUNTIME_CPPDEFS): Quote more. (melt-runtime.o): Also build melt-runtime.args. 2011-09-24 Basile Starynkevitch * doc/melt.texi: Updated. 2011-09-24 Basile Starynkevitch * melt-runtime.c (melt_fatal_info): Variable workdir declared as const. 2011-09-19 Basile Starynkevitch * melt/warmelt-first.melt (class_defined_value_binding): Improved documentation. * melt/warmelt-base.melt: Remove warning on load_quickly_melt_module, load_debug_melt_module... * melt/warmelt-normal.melt (class_nrep_initproc): Add ninit_defbinds field. (create_normcontext): Fill it. (normexp_define): More stuff. Update the ninit_defbinds field. * melt/warmelt-genobj.melt (compile2obj_initproc): Hande the ninit_defbinds field. * melt/warmelt-outobj.melt (rundebug_docmd): Better debugging. 2011-09-19 Pierre Vittet * melt-runtime.c (meltgc_string_hex_md5sum_file_sequence): Catenated files stream call md5_process_block, we only call md5_process_bytes for the last data of the last file. 2011-09-19 Basile Starynkevitch * melt/warmelt-normal.melt (normbind_definedvalbind): New method. (normexp_define): more. 2011-09-14 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_define): more. 2011-09-14 Basile Starynkevitch * melt-build.tpl: Improve comments. Remove more spaces on CUMULMD5. * melt-build.mk: Regenerate. 2011-09-14 Alexandre Lissy * melt-build.tpl: Remove leading space on CUMULMD5, breaking some make targets. * melt-build.mk: Regenerate. 2011-09-14 Basile Starynkevitch * melt-runtime.c (melt_fatal_info): Improve error messages. Don't show the entire path of each module, only its basename. * melt/warmelt-normal.melt (normbind_fixbind): Better debug messages. (normexp_define): Add body normalization. 2011-09-14 Basile Starynkevitch * melt-runtime.c (melt_dbgshortbacktrace): Print just the basename of the dladdr-ed *.so. * melt/warmelt-normal.melt (normexp_define): Add debug messages. 2011-09-14 Basile Starynkevitch * melt/warmelt-outobj.melt (runfile_docmd): Don't pass a .c file to translate_to_c_one_or_more_melt_files. * testsuite/melt/tdefine.melt: Better command in comment. 2011-09-14 Basile Starynkevitch * melt-runtime.c (melt_run_make_for_plugin) (melt_run_make_for_branch): Better error message when make fails. 2011-09-14 Basile Starynkevitch * Makefile.in (install-melt-modules): Use readlink to install the linked to file. 2011-09-13 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-09-13 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9rc2 2011-09-13 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_define): More but still incomplete. * testsuite/melt/tdefine.melt: New. 2011-09-13 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_define): Replace field sdefine_expr by sdefine_body. (mexpand_define): Complete. * melt/warmelt-normal.melt (normexp_define): Add stub. 2011-09-12 Basile Starynkevitch * melt-runtime.c (meltgc_new_mapobjects, meltgc_new_mapstrings) (meltgc_raw_new_mappointers): Call meltgc_reserve before allocation, to ensure that all fits into same zone. 2011-09-12 Basile Starynkevitch * melt/warmelt-first.melt (class_defined_value_binding): New. * melt/warmelt-macro.melt (mexpand_define): More, but incomplete. 2011-09-12 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-09-12 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bumped to 0.9rc1 2011-09-09 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Added some :doc. (gimple_assign_single, gimple_assign_unary_nop) (gimple_assign_unary_minus, gimple_assign_plus) (gimple_assign_minus, gimple_assign_pointerplus) (gimple_assign_mult, gimple_assign_trunc_div) (gimple_assign_ceil_div, gimple_assign_floor_div) (gimple_assign_round_div, gimple_assign_rdiv) (gimple_assign_exact_div, gimple_assign_trunc_mod) (gimple_assign_ceil_mod, gimple_assign_floor_mod) (gimple_assign_round_mod, gimple_assign_binaryop) (gimple_cond_lessequal, gimple_cond_less, gimple_cond_notequal) (gimple_cond_equal, gimple_cond_greater) (gimple_cond_greater_or_equal, gimpleval): Add operator expansion to make these usable as primitives in expression context and as pattern in pattern context. (gimple_build_assign_convert, gimple_build_assign_view_convert) (gimple_build_assign_fix_trunc, gimple_build_assign_float, gimple_build_return) (gimple_seq_add_stmt, gimplify_seq_add_stmt, gimple_seq_add_seq) (gimple_seq_copy, gimple_seq_boxed_add_stmt) (gimplify_seq_boxed_add_stmt, gimple_seq_boxed_add_seq): New primitives. 2011-09-09 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_defciterator): More flexible on position of :doc. 2011-09-09 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-09-09 Basile Starynkevitch * melt/warmelt-base.melt (iv , >=iv , ivi , >=ivi , +ivi , -ivi , *ivi , /ivi , %ivi): New functions and primitives on boxed integers. 2011-09-08 Pierre Vittet * Makefile.in (MELT_RUNTIME_CPPDEFS): Simpler cpp-definition of MELT_GCC_VERSION. 2011-09-07 Basile Starynkevitch Pierre Vittet * melt/xtramelt-ana-base.melt (bb_dominator_iterator) (bb_post_dominator_iterator): New functions. 2011-09-02 Basile Starynkevitch * melt/warmelt-base.melt: (+iv, -iv, *iv, /iv, %iv): Adding boxed arithmetic. 2011-09-02 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Up to 0.9rc0 * melt-module.mk: Remove all echos. 2011-09-02 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-09-02 Basile Starynkevitch * melt/warmelt-macro.melt (macroexpand_1): Handle formals & locals operators as applications. (mexpand_define): Not yet implemented. 2011-09-02 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_container, mexpand_content): Make only a warning if class_container is not bound... 2011-09-02 Basile Starynkevitch * melt/warmelt-macro.melt (expand_citeration): Bind early the local formals. (mexpand_defun): Bind early the defined function name. (mexpand_definstance): Bind early the defined instance name. (mexpand_defselector): Bind early the defined selector name. * melt/warmelt-debug.melt: Reorder some definitions to decrease the number of forward references. 2011-09-02 Basile Starynkevitch * melt-runtime.c (meltgc_load_flavored_module): Minor fixes. 2011-09-02 Basile Starynkevitch * melt-runtime.h (meltgc_make_load_melt_module): Remove declaration. * melt-runtime.c (meltgc_make_load_melt_module) (meltgc_make_melt_module): Remove obsolete functions. * melt/warmelt-base.melt (load_quickly_melt_module) (load_debug_melt_module): Remobe obsolete primitives. 2011-09-02 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-09-02 Basile Starynkevitch * melt-built.tpl: echo blank lines near major melt runs. * melt-build.mk: Regenerate. * melt-runtime.c (melt_run_make_for_plugin) (melt_run_make_for_branch): Don't add the -C workdir arguments. 2011-09-02 Basile Starynkevitch * melt-runtime.c (meltgc_start_flavored_module): Thingo on flavordup. More debug messages. 2011-09-01 Basile Starynkevitch * melt-runtime.h (meltgc_load_flavored_module) (meltgc_start_flavored_module): New declarations. * melt-runtime.c (meltgc_load_flavored_module) (meltgc_start_flavored_module): New functions. (meltgc_load_one_module): Call meltgc_load_flavored_module. (meltgc_load_module_list): Better fatal error. * melt-built.tpl (melt-tiny-tests): Add test to run melt-sayhello.melt. * melt-build.mk: Regenerate. * melt/warmelt-base.melt (load_quickly_melt_module) (load_debug_melt_module): Obsolete primitives generate #warning. (start_melt_module_of_flavor): New primitive. * melt/warmelt-outobj.melt (runfile_docmd, rundebug_docmd): Use start_melt_module_of_flavor 2011-09-01 Basile Starynkevitch * melt-runtime.c (meltgc_new_box, melt_box_content) (meltgc_box_put): Code entirely removed, these functions where #if 0-ed. (meltgc_make_melt_module): Fatal error also displays the cwd. 2011-08-31 Basile Starynkevitch * melt-runtime.c: Also contributed by Alexandre Lissy. * melt/warmelt-debug.melt (debug_msg_fun): Use dump_file or else stderr, and inform once the user about this. 2011-08-31 Basile Starynkevitch * melt/warmelt-genobj.melt (compile2obj_procedure): When making a procedure from a cloned symbol [in particular a LAMBDA] use the cloned rank in the generated C name of that procedure. 2011-08-31 Basile Starynkevitch * melt-runtime.c (meltgc_load_module_list): Transform modlistpath to a realpath when relative. Free it at end. (meltgc_load_one_module): Likewise. 2011-08-31 Basile Starynkevitch * melt/warmelt-outobj.melt (compile_one_or_more_files): Renamed. (translate_to_c_one_or_more_melt_files): New name. (translatetomodule_docmd, translatedebug_docmd) (translatequickly_docmd, runfile_docmd, rundebug_docmd) (translatefile_docmd): Change accordingly. 2011-08-31 Basile Starynkevitch * melt-runtime.h (melt_compile_source): Improve explanatory comment. * melt/warmelt-base.melt (load_melt_module): Remove. 2011-08-31 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-08-31 Basile Starynkevitch * melt/warmelt-outobj.melt (outpucod_initialroutine): Emit code to define constant strings meltmodule___melt_have_debug_enabled or meltmodule___melt_have_debug_disabled, depending upon MELT_HAVE_DEBUG preprocessor symbol. 2011-08-31 Pierre Vittet * melt-runtime.c (meltgc_read_file): Use LC_ENTER, not LC_RENAME for linemap_add. * melt-build.mk: Regenerate. 2011-08-30 Alexandre Lissy * melt-runtime.c (melt_load_module_index): - Export melt_versionstr from meltdesc instead of melt_genversionstr. - Make use of melt_version_str() instead of MELT_VERSION_STR. - Compare melt_version_str() against melt_versionstr instead of melt_genversionstr. * melt/warmelt-outobj.melt (output_melt_descriptor): Make use of melt_version_str() to build melt_versionstr instead of using MELT_VERSION_STRING. 2011-08-30 Basile Starynkevitch * melt-build.tpl (melt-all-modules): Typo, removed bad ". (meltrun-generate): Moved. Use melt-workdir. (warmelt-upgrade-translator): Redirect which to /dev/null. Indent the generated meltrunsup* files. * melt-build.mk: Regenerate. 2011-08-30 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_container, mexpand_content): Add debug message. * melt/warmelt-outobj.melt (makedoc_docmd): Use current_module_environment_container. * melt-build.tpl (warmelt-upgrade-translator): Need meltrun-generate, and copy the newly generated meltrunsup*.[ch] files. * melt-build.mk: Regenerate. 2011-08-30 Pierre Vittet * melt/xtramelt-ana-base.melt (isnull_tree): Add primitive. 2011-08-30 Pierre Vittet * melt/warmelt-base.melt (read_strv): New primitive. 2011-08-30 Basile Starynkevitch * melt-runtime.h (MELTOBMAG_BOX, meltgc_new_box, melt_box_content) (meltgc_box_put): Remove, as all box related code. * melt-runtime.c (readsimplelong): Remove read of +%MELTOBMAG_BOX 2011-08-30 Basile Starynkevitch * melt-predef.list (DISCR_BOX): Remove. * melt-runtime.h (MELTGLOB__SPARE5): New. * melt-runtime.c (melt_minor_copying_garbage_collector): Clear extra slots in melt_globarr from MELTGLOB__LASTWIRED to MELTGLOB__LASTGLOB. * melt/warmelt-first.melt (box_content, box_of, box_put, is_box) (make_box): Remove. {{Regenerated warmelt}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-08-30 Basile Starynkevitch * melt/warmelt-first.melt (install_ctype_descr): Give an error when bad $CTYP. {{Regenerate warmelt}} * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. 2011-08-30 Basile Starynkevitch * melt-build.mk: Regenerate. * melt-predef.list: Poison DISCR_BOX. * make-warmelt-predef.awk: Use @POISON instead of POISON. {{Regenerate warmelt with poisoned DISCR_BOX}} * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. 2011-08-30 Basile Starynkevitch * melt-build.mk: Regenerate. * melt-build.tpl: When warmelt-upgrade-ing remove the old *.c & *.so symlinks in $(MELT_STAGE_ZERO). {{Regenerate warmelt}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base+meltdesc.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug+meltdesc.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first+03.c: Regenerate. * melt/generated/warmelt-first+meltdesc.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj+meltdesc.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+meltdesc.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+meltdesc.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch+meltdesc.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj+meltdesc.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-08-30 Basile Starynkevitch * make-warmelt-predef.awk: Add POISON hack to help removing obsolete predefined. * melt-predef.list: Comment about POISON-ing. 2011-08-30 Basile Starynkevitch * melt-runtime.c (meltgc_load_modules_and_do_mode): Options are given by colons, not equal signs. 2011-08-29 Basile Starynkevitch * melt-module.mk: Regenerate. 2011-08-29 Alexandre Lissy * melt-build.tpl: Fix melt-tiny-tests failing target. 2011-08-29 Alexandre Lissy * melt-runtime.c (melt_load_module_index): Fix loading path of .c files. * melt/warmelt-outobj.melt (output_melt_descriptor): Fix generation of melt_modulename (taking basename). 2011-08-29 Basile Starynkevitch * melt-runtime.c (meltgc_new_string_without_suffix): Typo. 2011-08-29 Basile Starynkevitch * melt-runtime.h (meltgc_new_string_without_suffix): New declaration. * melt-runtime.c (meltgc_new_string_without_suffix): New function. (meltgc_new_string_generated_c_filename): Add debugeprintf-s. * melt/warmelt-base.melt (make_string_without_suffix): New primitive. * melt/warmelt-outobj.melt (compile_one_or_more_files): More debug message. (translatefile_docmd, translatetomodule_docmd) (translatedebug_docmd, translatequickly_docmd, runfile_docmd) (rundebug_docmd): Use make_string_without_suffix to remove ".c". 2011-08-29 Basile Starynkevitch * melt-module.tpl: Generate more comment lines with original location in melt-module.tpl. (melt-tiny-tests) New target. (all-melt): Use it. * melt-module.mk: Regenerate. 2011-08-29 Basile Starynkevitch * melt-module.mk: Comment out debugging echo-s for base[1234]name. * melt-build.tpl: Add generation of #@ from melt-build.tpl line XX. * melt-build.mk: Regenerate. 2011-08-27 Pierre Vittet * melt-build.tpl (warmelt-upgrade-translator): replace move-if-change by a cp. * melt-build.mk: Regenerate. 2011-08-26 Basile Starynkevitch * melt-runtime.h (melt_compile_source): Add declaration. * melt-runtime.c (melt_compile_source): Becomes an exported function. Sets the workdir to tempdir if null. * melt/warmelt-base.melt (generate_melt_module) (generate_debug_melt_module, generate_quickly_melt_module): Use melt_compile_source. 2011-08-26 Basile Starynkevitch * melt/warmelt-outobj.melt (translatetomodule_docmd): Use make_string_nakedbasename. 2011-08-26 Basile Starynkevitch * melt-runtime.c (meltgc_new_string_generated_c_filename): Don't append +00. 2011-08-25 Basile Starynkevitch * melt-runtime.c (elt_linemap_compute_current_location): Use the linemap_position_for_column function for GCC 4.7 when merging with GCC trunk rev 178073. 2011-08-25 Alexandre Lissy * melt-build.tpl: Fix meltgendoc.texi target (missing .texi extension for generated file). * melt-built.mk: Regenerate. 2011-08-25 Alexandre Lissy * melt-build.tpl: Use -quicklybuilt instead of -static for consistency with the whole build system. * melt-built.mk: Regenerate. 2011-08-24 Alexandre Lissy * melt-runtime.c (melt_load_module_index): Correct handling of invalid dlopen handle. 2011-08-05 Basile Starynkevitch * melt-runtime.c (melt_run_make_for_plugin): Don't use fullbinfile. 2011-08-05 Basile Starynkevitch * melt-runtime.c (meltgc_load_one_module): Better error message when descriptive file not found. * melt-build.tpl: Use realpath when symlinking. * melt-build.mk: Regenerate. 2011-08-04 Basile Starynkevitch * melt-build.tpl: Use melt-workdir for meltgendoc.texi. * melt-build.mk: Regenerate. 2011-08-04 Romain Geissler * melt/warmelt-base.melt (split_string_space, split_string_comma) (split_string_colon, split_string_equal): Operate on value strings. * melt/warmelt-outobj.melt (translateinit_docmd, makedoc_docmd): Change accordingly. 2011-08-03 Basile Starynkevitch * melt-build.tpl: Use melt_make_cc1 for meltgendoc.texi * melt-build.mk: Regenerate. * Makefile.in (check-melt-runtime): Give a workdir. 2011-08-03 Romain Geissler * Makefile.in (check-melt-runtime): Use only melt-modules as module-path. * melt-build.tpl (melt-modules/*.so): Create symlink in melt-modules directory. (melt-all-modules): Also list debugnoline and quicklybuilt version of extra modules. * melt-build.mk: Regenerate. 2011-08-02 Romain Geissler * melt/warmelt-first.melt (string_to_long): New exported primitive. (foreach_pair_between): New exported citerator. * melt/xtramelt-ana-base.melt (tree_chain_append): New exported primitive. (tree_chain_join): Likewise. (tree_chain_prepend): Likewise. (build_identifier_tree): Likewise. (build_string_tree): Likewise. (build_int_tree): Likewise. 2011-08-02 Basile Starynkevitch * melt-runtime.h (debugeprintfline): Defined even with MELT_HAVE_DEBUG=0. * melt-runtime.c (melt_load_module_index): Don't load short FOO.FLAVOR.so modules, even when bootstrapping. Compare only basenames of modules names when bootstrapping. * melt-build.tpl: Define & use $(MELT_GENERATED_[+mkvarsuf+]_CUMULMD5). Use melt-sources/warmelt-optimized.modlis for application files. * melt-build.mk: Regenerate. 2011-08-02 Basile Starynkevitch * melt-runtime.c (melt_find_file_at): Don't look implicitly in the current directory. (melt_load_module_index): Also look the complete path of *.so with md5sum in the current directory. Correct access test. * melt-build.tpl: Use workdir & inhibit-auto-build for melt-sources/ * melt-build.mk: Regenerate. 2011-08-02 Basile Starynkevitch * melt-build.tpl: Arguments files go into build directory. * melt-build.mk: Regenerate. * melt-runtime.c (melt_compile_source): Test that access succeeded. (meltgc_do_initial_mode): Remove useless variables. 2011-08-01 Basile Starynkevitch * melt-modules.mk: Make the GCCMELT_MODULE_WORKSPACE directory when missing. 2011-08-01 Basile Starynkevitch with help from Pierre Vittet {{Much improved runtime, managing md5sum-s in generated file names.}} * common.opt (fmelt-inhibit-auto-build): New option. * melt-build.tpl: Recode for the new runtime. No more melt-modules/optimized/ ... sub-directories. * melt-build.mk: Regenerate. * melt-runtime.h (meltgc_new_box,melt_box_content,meltgc_box_put): Made empty macros. (meltgc_load_module_list, meltgc_load_one_module, meltgc_start_all_new_modules): New declarations. (meltgc_make_load_melt_module, MELTLOADFLAG_CURDIR) (MELTLOADFLAG_DONTMAKE, meltgc_make_melt_module) (meltgc_load_modulelist): Remove declarations or enums. (meltgc_make_load_melt_module, meltgc_make_melt_module): Obsolete. * melt-runtime.c (MELT_MODULE_MAGIC): New macro. (melt_module_info_st): Renamed fields, added mmi_magic field. (modinfvec): Rename as (melt_modinfvec): New. (melt_argument): Handle "inhibit-auto-build". (MODULE_SOURCE_ARG, MODULE_BINARY_ARG) (MELTMODFLAV_QUICKLYBUILT_SUFFIX, MELTMODFLAV_QUICKLYBUILT_TARGET) (MELTMODFLAV_NOLINE_SUFFIX, MELTMODFLAV_NOLINE_TARGET) (MELTMODFLAV_DYNAMIC_SUFFIX) (MELTMODFLAV_DYNAMIC_TARGET,MELTMODFLAV_OPTIMIZED_SUFFIX) (MELTMODFLAV_OPTIMIZED_TARGET, MELT_BINARYMODULE_SUFFIX): Remove macros. (MODULE_SOURCEBASE_ARG, MODULE_BINARYBASE_ARG, FLAVOR_ARG): New macros. (melt_run_make_for_plugin): Change signature for flavor. Update for new melt-module.mk. (melt_run_make_for_branch): Ditto. (compile_gencsrc_to_binmodule): Remove. (melt_compile_source): New function. (meltgc_string_hex_md5sum_file_sequence): Typos. (notsame_md5_hex_binary): Remove. (struct melt_source_and_module_path_st): Remove. (load_checked_dynamic_module_index): Remove. (melt_dlsym_all): Use melt_modinfvec. (melt_find_file_at,MELT_FIND_FILE) (MELT_FILE_IN_DIRECTORY,MELT_FILE_IN_PATH): New. (lookup_path): Remove. (melt_get_source_and_module): Remove. (meltgc_make_load_melt_module, meltgc_make_melt_module): Move, since obsoleted. (meltgc_load_modulelist): Remove. (meltgc_read_file): Use MELT_FIND_FILE. (do_initial_mode): Remove. (melt_c_string_in_descr, melt_same_md5sum_hex): New. (melt_load_module_index): New big function. (MELTDESCR_REQUIRED_LIST, MELTDESC_REQUIRED_SYMNOL, MELTDESCR_REQUIRED) (MELTDESCR_OPTIONAL_LIST, MELTDESCR_OPTIONAL_SYMBOL, MELTDESCR_OPTIONAL): New macros. (meltgc_start_module_by_index): New function. (meltgc_start_all_new_modules, meltgc_load_one_module) (meltgc_load_module_list, meltgc_do_initial_mode): New functions. (meltgc_make_melt_module): Osolete. (meltgc_load_modules_and_do_mode): New. (melt_really_initialize): Call it. (melt_fatal_info): Use melt_modinfvec. * melt-module.mk: Rewritten file with new interface. * melt/warmelt-first.melt (need_dbglim, need_dbg): Handle MELT_HAVE_DEBUG. * melt/warmelt-base.melt (load_melt_module) (load_quickly_melt_module, load_debug_melt_module) (generate_melt_module): Obsolete primitives. * melt/warmelt-outobj.melt (output_melt_descriptor): Improve. 2011-07-27 Basile Starynkevitch * melt/warmelt-outobj.melt (compile_one_or_more_files): Check the modsrcname for lack of + and . 2011-07-27 Pierre Vittet * melt-runtime.c (meltgc_string_hex_md5sum_file_sequence): Correct fread use + only use md5_process_bytes 2011-07-27 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): Emit melt_lastsecfileindex, not melt_nbsecfiles. * melt-runtime.h (melt_nb_modules, melt_source_dir, melt_module_dir) (melt_module_make_command, melt_module_makefile) (melt_module_cflags, melt_default_modlis): Exported declarations. * melt-runtime.c (melt_nb_modules, melt_source_dir, melt_module_dir) (melt_module_make_command, melt_module_makefile) (melt_module_cflags, melt_default_modlis): Exported definitions. {{regenerated, with new melt descriptive C files}} * melt/generated/warmelt-base+meltdesc.c: New generated file. * melt/generated/warmelt-debug+meltdesc.c: New generated file. * melt/generated/warmelt-first+03.c: New generated file. * melt/generated/warmelt-first+meltdesc.c: New generated file. * melt/generated/warmelt-genobj+meltdesc.c: New generated file. * melt/generated/warmelt-macro+meltdesc.c: New generated file. * melt/generated/warmelt-normal+meltdesc.c: New generated file. * melt/generated/warmelt-normatch+meltdesc.c: New generated file. * melt/generated/warmelt-outobj+meltdesc.c: New generated file. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-07-27 Basile Starynkevitch * melt-runtime.h (meltgc_string_hex_md5sum_file_sequence): New declaration. * melt-runtime.c (meltgc_string_hex_md5sum_file_sequence): New function. (melt_output_cfile_decl_impl_secondary_option): Don't emit genversionstr_melt, md5prepromeltrun_melt anymore. * melt/warmelt-base.melt (string_hex_md5sum_path_sequence): New primitive. * melt/warmelt-outobj.melt (compile_one_or_more_files): Check that the basename has no dots. (output_melt_descriptor): Emit the cumulated md5sum. 2011-07-26 Basile Starynkevitch * melt/warmelt-first.melt (get_string): Remove primitive, and add a comment explaining why. It is not possible to safely retrieve the :cstring stuff pointing inside a string value, since that value will be moved by the garbage collector. 2011-07-26 Romain Geissler * melt/warmelt-base.melt (some_integer_different_from): New exported iterator. (some_integer_equal_to): Likewise. (some_integer_greater_or_equal_to): Likewise. (some_integer_lower_or_equal_to): Likewise. (some_integer_lower_than): Likewise. (string=): Removed primitive. (string!=): Likewise. (split_string_equal): New exported primitive. * melt/warmelt-first.melt (get_string): New exported primitive. (is_empty_string): New exported function. (is_non_empty_string): Likewise. * melt/xtramelt-ana-base.melt (cfun_cfg_entry_block): Export primitive. (cfun_cfg_exit_block): New exported primitive. * melt/warmelt-macro.melt (expand_fieldexpr): Replace "string=" calls by "==s" calls. (mexpand_defclass): Replace "string!=" calls by "==s" calls. 2011-07-26 Basile Starynkevitch * melt/warmelt-outobj.melt (output_melt_descriptor): New function. (translate_macroexpanded_list): Call it. * melt-runtime.c (load_checked_dynamic_module_index): Display dlerror sometimes. 2011-07-26 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_macroexpanded_list) (compile_list_sexpr, translatefile_docmd, translateinit_docmd): Check that the generated output has no .melt .c .so suffixes. * melt-build.tpl: Generate output names without suffixes. * melt-build.mk: Regenerate. * Makefile.in (check-melt-runtime): Adjust module path. 2011-07-26 Basile Starynkevitch * melt-module.mk (MELTMODULE_CFILES): Sort correctly. * melt-runtime.c (meltgc_make_load_melt_module): Inform about the current source & module paths when failing. 2011-07-25 Basile Starynkevitch {{unstable build machinery}} * melt-runtime.h (meltgc_string_hex_md5sum_file): New declaration. * melt-runtime.c (meltgc_string_hex_md5sum_file): New function. * melt/warmelt-base.melt (string_hex_md5sum_constpath) (string_hex_md5sum_pathstrv): New primitives. * melt-build.tpl: Typo in source dir. 2011-07-25 Basile Starynkevitch {{Regenerated, except the runtime}} * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. * melt-build.tpl: Use .args files to put the arguments to cc1, then pass @ * melt-build.mk: Regenerate. * melt-module.mk: Temporarily pass -g1 to GCCMELT_QUICKLYBUILT_FLAGS 2011-07-25 Basile Starynkevitch * melt-runtime.c (meltgc_readseqlist): Expand ##{...}# macro string inside sequence as several components, not as a single sexpr. * Makefile.in (check-melt-runtime): Use both melt-modules/quicklybuilt && melt-modules/optimized. 2011-07-25 Basile Starynkevitch * melt-runtime.h (melt_string_is_ending, melt_string_is_starting): New inline functions. * melt/warmelt-base.melt (string_ends, string_prefixed) (string_starts, string_suffixed): New primitives. 2011-07-25 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_macroexpanded_list): Inform about translation CPU time. (runtypesupport_docmd): Reindent. * melt-build.tpl (MELTCCINIT1): Replace by (MELTCCINIT1ARGS) (MELTCCFILE1): Replace by (MELTCCFILE1ARGS) Use $@.args file to have the long argument list. * melt-built.mk: Regenerate. * melt-runtime.c (melt_output_cfile_decl_impl_secondary_option): The temporary file name is even more random. genversionstr_melt is emitted with a different comment. 2011-07-25 Basile Starynkevitch * melt-runtime.h (melt_store_predefined): Do nothing when ix<0. * melt-runtime.c (readval) rename as (meltgc_readval). (readstring) rename as (meltgc_readstring). (readmacrostringsequence) rename as (meltgc_readmacrostringsequence). (readseqlist) rename as (meltgc_readseqlist). (makesexpr) rename as (meltgc_makesexpr). (melt_output_cfile_decl_impl_secondary_option): Output a comment, even without options. * melt/warmelt-outobj.melt (outcinitfill_objinitobject): Output indentation. (outcinitfill_objinitstring): Ditto. (compile_list_sexpr): Always generate several files. (translate_macroexpanded_list): Add comments in codechunks. 2011-07-25 Romain Geissler * melt/xtramelt-ana-base.melt (foreach_edge_bb_precs): Rename for foreach_edge_bb_preds. Fix structure field access typo. 2011-07-25 Basile Starynkevitch * melt-build.tpl (warmelt-upgrade-translator, meltrun-generate): Use $(WARMELT_LAST). * melt-built.mk: Regenerate. * Makefile.in (upgrade-warmelt): Depend upon $(WARMELT_LAST). Merged with trunk. 2011-07-24 Basile Starynkevitch {{reverting to rev.176695}} * melt/generated/warmelt-first.c: Revert. * melt/generated/warmelt-normal.c: Revert. * melt/generated/warmelt-first+01.c: Revert. * melt/generated/warmelt-first+02.c: Revert. * melt/generated/warmelt-normal+01.c: Revert. * melt/generated/warmelt-normal+02.c: Revert. * melt/generated/warmelt-normal+03.c: Revert. * melt/generated/warmelt-normal+04.c: Revert. 2011-07-23 Basile Starynkevitch {{partly regenerated. removing DISCR_BOX is painful. Still instable.}} * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. 2011-07-23 Basile Starynkevitch {{partly regenerated. removing DISCR_BOX is painful. Very instable.}} * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/warmelt-first.melt: Regenerate. * melt-module.mk: Regenerate. * melt-runtime.c: Regenerate. * melt-runtime.h: Regenerate. 2011-07-23 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_box): Remove. 2011-07-23 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-07-23 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. 2011-07-23 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_box_method): Removed. 2011-07-23 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-07-23 Basile Starynkevitch * doc/melt.texi (Invoking MELT): Remove -fmelt-single-c-file. * melt-runtime.h (melt_wants_single_c_file): Obsolete function, always return false. * melt-runtime.c (melt_argument): No more "single-c-file". (melt_output_strbuf_to_file): Use random in temporary file name. (melt_wants_single_c_file): Remove. (meltgc_new_string_generated_c_filename): Use +00.c suffix for the primary. (melt_output_cfile_decl_impl_secondary_option): Reindent. * melt/warmelt-normatch.melt (normpat_variablepat, normpat_orpat): Don't use boxes. * melt/warmelt-outobj.melt (wants_single_c_file): Remove primitive. (compile_list_sexpr): Don't use it. 2011-07-23 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_fetch_predefined) (normexp_store_predefined): Don't use boxes. 2011-07-23 Pierre Vittet * melt/warmelt-outobj.melt (translatequickly_docmd): Generate .q.so suffix instead of .n.so 2011-07-23 Basile Starynkevitch * melt-runtime.c: (load_checked_dynamic_module_index): Takes a struct melt_source_and_module_path_st argument. (melt_get_source_and_module): Calls accordingly. (melt_really_initialize): Handles print-settings before. * melt-module.mk (MELTSTAMPOLD): New variable. Rename $(MELTSTAMP) as $(MELTSTAMPOLD) instead of removing it. 2011-07-22 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_put_fields): Don't use box, but containers. 2011-07-22 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_or): Don't use box, but containers. 2011-07-22 Basile Starynkevitch * melt-module.mk (GCCMELT_OPTIMIZED_FLAGS) (GCCMELT_QUICKLYBUILT_FLAGS) (GCCMELT_DYNAMIC_FLAGS) (GCCMELT_NOLINE_FLAGS): New flags. 2011-07-22 Basile Starynkevitch {{Regenerate}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+02.c: Regenerate. * melt/generated/warmelt-genobj+03.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+01.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj+01.c: Regenerate. * melt/generated/warmelt-outobj+02.c: Regenerate. * melt/generated/warmelt-outobj+03.c: Regenerate. * melt/generated/warmelt-outobj+04.c: Regenerate. * melt/generated/warmelt-outobj+05.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-07-22 Basile Starynkevitch * melt/warmelt-outobj.melt (outpucod_initialroutine): Reduce the size of each initialmeltchunk generated function. 2011-07-22 Basile Starynkevitch * testsuite/melt/tcontent.melt: Improved comment. This test runs ok. * melt/warmelt-macro.melt (class_source_get_field): Improve doc & comment. (mexpand_content): Put the field container_value, not the keyword. 2011-07-22 Basile Starynkevitch * testsuite/melt/tcontent.melt: New file. Don't work yet. 2011-07-22 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base+01.c: Regenerate. * melt/generated/warmelt-base.c: Regenerate. * melt/generated/warmelt-debug+01.c: Regenerate. * melt/generated/warmelt-debug+02.c: Regenerate. * melt/generated/warmelt-debug.c: Regenerate. * melt/generated/warmelt-first+01.c: Regenerate. * melt/generated/warmelt-first+02.c: Regenerate. * melt/generated/warmelt-first.c: Regenerate. * melt/generated/warmelt-genobj+01.c: Regenerate. * melt/generated/warmelt-genobj+04.c: Regenerate. * melt/generated/warmelt-genobj+05.c: Regenerate. * melt/generated/warmelt-genobj.c: Regenerate. * melt/generated/warmelt-macro+01.c: Regenerate. * melt/generated/warmelt-macro+02.c: Regenerate. * melt/generated/warmelt-macro+03.c: Regenerate. * melt/generated/warmelt-macro+04.c: Regenerate. * melt/generated/warmelt-macro.c: Regenerate. * melt/generated/warmelt-normal+01.c: Regenerate. * melt/generated/warmelt-normal+02.c: Regenerate. * melt/generated/warmelt-normal+03.c: Regenerate. * melt/generated/warmelt-normal+04.c: Regenerate. * melt/generated/warmelt-normal.c: Regenerate. * melt/generated/warmelt-normatch+02.c: Regenerate. * melt/generated/warmelt-normatch+03.c: Regenerate. * melt/generated/warmelt-normatch+04.c: Regenerate. * melt/generated/warmelt-normatch.c: Regenerate. * melt/generated/warmelt-outobj.c: Regenerate. 2011-07-22 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Bump to 0.9pre (meltgc_new_box, melt_box_content, meltgc_box_put): Obsolete functions. (meltgc_new_container, meltgc_container_put): New function. * melt-runtime.c (meltgc_new_box, melt_box_content, meltgc_box_put): Give warning once. (meltgc_new_container, meltgc_container_put): New functions. (readval): Add syntactic sugar for ! as exclaim, that is for the content macro. * melt/warmelt-base.melt (set_function): New function. * melt/warmelt-debug.melt (dbgout_mapobject_method): Use containers, not boxed values. * melt/warmelt-macro.melt (mexpand_container, patexpand_container) (mexpand_content): New functions for (container, content, exclaim): New macros. * melt/warmelt-normal.melt (normbind_anybind, normexp_symbol) (normbind_fixbind): Likewise. 2011-07-22 Basile Starynkevitch * melt-runtime.c (MELTMODFLAV_DYNAMIC_SUFFIX): Typo. (melt_run_make_for_plugin): Compiles. 2011-07-21 Basile Starynkevitch * melt-built.tpl: Don't give melt-modules/optimized as module path, except for application files. * melt-build.mk: Regenerate. * melt-runtime.h (MELT_DECLEMPTYFRAME, MELT_ENTEREMPTYFRAME): New macros. * melt-runtime.c (MODULE_SOURCE_ARG, MODULE_BINARY_ARG) (WORKSPACE_ARG, CFLAGS_ARG, MAKECHDIR_ARG) (MELTMODFLAV_QUICKLYBUILT_SUFFIX, MELTMODFLAV_QUICKLYBUILT_TARGET) (MELTMODFLAV_NOLINE_SUFFIX, MELTMODFLAV_NOLINE_TARGET) (MELTMODFLAV_DYNAMIC_SUFFIX, MELTMODFLAV_DYNAMIC_TARGET) (MELTMODFLAV_OPTIMIZED_SUFFIX, MELTMODFLAV_OPTIMIZED_TARGET) (MELT_BINARYMODULE_SUFFIX): Move or new macros. (melt_run_make_for_plugin, melt_run_make_for_branch): New functions. (compile_gencsrc_to_binmodule): Call them. (melt_get_source_and_module): Refactor. Add assert on src_path. Correct typos. 2011-07-21 Basile Starynkevitch * melt-run.proto.h: Include c-pragma.h c-pretty-print.h conditionally with c-family & cpplib.h & langhooks.h 2011-07-21 Basile Starynkevitch * melt-built.tpl: Don't give melt-modules/optimized as module path. * melt-built.mk: Regenerate. 2011-07-21 Basile Starynkevitch * melt-runtime.c (melt_get_source_and_module): Use both the entire modulname and its basename when searching. 2011-07-21 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Handle "print-settings". * toplev.c (toplev_main): Call it when melt_print_settings_string. * common.opt (-fmelt-print-settings=): New option. * doc/melt.texi (Invoking MELT): Document -fmelt-print-settings=, -fmelt-coutput=, -fmelt-output=, -fmelt-workdir. 2011-07-21 Basile Starynkevitch Romain Geissler * melt-runtime.c: Update contributors list. Include "c-pragma.h" & "c-pretty-print.h", conditionally with "c-family/" directory. Move "diagnostic.h" include. (load_checked_dynamic_module_index): Add inform "Consider removing MELT generated files." * melt-run.proto.h: Update contributors list. 2011-07-21 Basile Starynkevitch {{all melt/generated/warmelt*.c files don't have any -0 in their name and have been regenerated.}} * melt/generated/warmelt-base+01.c: Rename and generate. * melt/generated/warmelt-base.c: Rename and generate. * melt/generated/warmelt-debug+01.c: Rename and generate. * melt/generated/warmelt-debug+02.c: Rename and generate. * melt/generated/warmelt-debug.c: Rename and generate. * melt/generated/warmelt-first+01.c: Rename and generate. * melt/generated/warmelt-first+02.c: Rename and generate. * melt/generated/warmelt-first.c: Rename and generate. * melt/generated/warmelt-genobj+01.c: Rename and generate. * melt/generated/warmelt-genobj+02.c: Rename and generate. * melt/generated/warmelt-genobj+03.c: Rename and generate. * melt/generated/warmelt-genobj+04.c: Rename and generate. * melt/generated/warmelt-genobj+05.c: Rename and generate. * melt/generated/warmelt-genobj.c: Rename and generate. * melt/generated/warmelt-macro+01.c: Rename and generate. * melt/generated/warmelt-macro+02.c: Rename and generate. * melt/generated/warmelt-macro+03.c: Rename and generate. * melt/generated/warmelt-macro+04.c: Rename and generate. * melt/generated/warmelt-macro.c: Rename and generate. * melt/generated/warmelt-normal+01.c: Rename and generate. * melt/generated/warmelt-normal+02.c: Rename and generate. * melt/generated/warmelt-normal+03.c: Rename and generate. * melt/generated/warmelt-normal+04.c: Rename and generate. * melt/generated/warmelt-normal.c: Rename and generate. * melt/generated/warmelt-normatch+01.c: Rename and generate. * melt/generated/warmelt-normatch+02.c: Rename and generate. * melt/generated/warmelt-normatch+03.c: Rename and generate. * melt/generated/warmelt-normatch+04.c: Rename and generate. * melt/generated/warmelt-normatch.c: Rename and generate. * melt/generated/warmelt-outobj+01.c: Rename and generate. * melt/generated/warmelt-outobj+02.c: Rename and generate. * melt/generated/warmelt-outobj+03.c: Rename and generate. * melt/generated/warmelt-outobj+04.c: Rename and generate. * melt/generated/warmelt-outobj+05.c: Rename and generate. * melt/generated/warmelt-outobj.c: Rename and generate. * melt/generated/warmelt-base-0+01.c: Remove since renamed. * melt/generated/warmelt-base-0.c: Remove since renamed. * melt/generated/warmelt-debug-0+01.c: Remove since renamed. * melt/generated/warmelt-debug-0+02.c: Remove since renamed. * melt/generated/warmelt-debug-0.c: Remove since renamed. * melt/generated/warmelt-first-0+01.c: Remove since renamed. * melt/generated/warmelt-first-0+02.c: Remove since renamed. * melt/generated/warmelt-first-0.c: Remove since renamed. * melt/generated/warmelt-genobj-0+01.c: Remove since renamed. * melt/generated/warmelt-genobj-0+02.c: Remove since renamed. * melt/generated/warmelt-genobj-0+03.c: Remove since renamed. * melt/generated/warmelt-genobj-0+04.c: Remove since renamed. * melt/generated/warmelt-genobj-0+05.c: Remove since renamed. * melt/generated/warmelt-genobj-0.c: Remove since renamed. * melt/generated/warmelt-macro-0+01.c: Remove since renamed. * melt/generated/warmelt-macro-0+02.c: Remove since renamed. * melt/generated/warmelt-macro-0+03.c: Remove since renamed. * melt/generated/warmelt-macro-0+04.c: Remove since renamed. * melt/generated/warmelt-macro-0.c: Remove since renamed. * melt/generated/warmelt-normal-0+01.c: Remove since renamed. * melt/generated/warmelt-normal-0+02.c: Remove since renamed. * melt/generated/warmelt-normal-0+03.c: Remove since renamed. * melt/generated/warmelt-normal-0+04.c: Remove since renamed. * melt/generated/warmelt-normal-0.c: Remove since renamed. * melt/generated/warmelt-normatch-0+01.c: Remove since renamed. * melt/generated/warmelt-normatch-0+02.c: Remove since renamed. * melt/generated/warmelt-normatch-0+03.c: Remove since renamed. * melt/generated/warmelt-normatch-0+04.c: Remove since renamed. * melt/generated/warmelt-normatch-0.c: Remove since renamed. * melt/generated/warmelt-outobj-0+01.c: Remove since renamed. * melt/generated/warmelt-outobj-0+02.c: Remove since renamed. * melt/generated/warmelt-outobj-0+03.c: Remove since renamed. * melt/generated/warmelt-outobj-0+04.c: Remove since renamed. * melt/generated/warmelt-outobj-0+05.c: Remove since renamed. * melt/generated/warmelt-outobj-0.c: Remove since renamed. * melt-build.tpl: Significantly rewritten. Use .stamp files. * melt-build.mk: Regenerate. * Makefile.in (check-melt-runtime): Use melt-modules/optimized. 2011-07-21 Basile Starynkevitch * Makefile.in (melt_make_cc1_dependency): Add melt-runtime.c 2011-07-21 Basile Starynkevitch * melt-runtime.c (melt_get_source_and_module): Typos. (melt_output_cfile_decl_impl_secondary_option): Output basename in comments. * melt/warmelt-base.melt (mixloc_locbasefile): New primitive. * melt/warmelt-outobj.melt (output_raw_location): Use it. 2011-07-20 Basile Starynkevitch * melt-runtime.c (melt_find_source_and_module): Renamed as (melt_get_source_and_module). (meltgc_make_load_melt_module): Use it. 2011-07-20 Basile Starynkevitch * melt-runtime.h (MELTLOADFLAG_DONTMAKE): New flag. * melt-runtime.c (struct melt_source_and_module_path_st): New. (melt_argument): Handle "workdir". (melt_find_source_and_module): New function. (meltgc_make_load_melt_module): Cast to void* when free-ing. (load_melt_modules_and_do_mode): Use MELT_LOCATION_HERE_PRINTF. * common.opt (-fmelt-workdir): New. 2011-07-19 Romain Geissler * melt/warmelt-outobj (translatetomodule_docmd): Override default C source filename if coutput argument is defined. Add this new argument in the help text. (translatedebug_docmd): Likewise. (translatequickly_docmd): Likewise. * melt-runtime.c (mlet_argument): Allow the new coutput argument. * common.opt: Define a new coutput melt argument. 2011-07-19 Basile Starynkevitch * melt-runtime.h: (MELT_LOCATION_HERE_PRINTF) (MELT_LOCATION_HERE_PRINTF_MACRO) (MELT_LOCATION_HERE_PRINTF_AT_MACRO): Macros need an SBUF. * melt-runtime.c (notsame_md5_hex_binary): New static function. (load_checked_dynamic_module_index): Use it. Also try .n.so, .q.so suffixes. (meltgc_make_load_melt_module): Better debug & MELT_LOCATION... 2011-07-19 Romain Geissler * melt/warmelt-outobj.melt (translatequickly_docmd): Fix installation. 2011-07-19 Basile Starynkevitch * melt-runtime.h: Use lbasename, not basename. (MELT_LOCATION_HERE_PRINTF) (MELT_LOCATION_HERE_PRINTF_MACRO) (MELT_LOCATION_HERE_PRINTF_AT_MACRO): New macros. * Makefile.in (melt-runtime.i): New target. 2011-07-19 Pierre Vittet * melt/warmelt-base.melt (register_pre_genericize_hook): Remove (register_pre_generize_hook_first, register_pre_generize_hook_last, pre_genericize_hook_runner): New functions, allows to have a queue of closure using PLUGIN_PRE_GENERICIZE callback. 2011-07-19 Pierre Vittet * melt/warmelt-first.melt (at_end_melt_pass_first): Correct used queue: end_melt_pass_execution_delayed_queue instead of final_delayed_queue. 2011-07-18 Basile Starynkevitch * melt/warmelt-first.melt (class_delayed_queue): Export it. * melt/warmelt-base.melt (register_pre_genericize_hook): Should be obsoleted, and have first & last pre-genericize hooks. 2011-07-18 Basile Starynkevitch * melt-build.tpl: Use GCCMELT_MODULE_SOURCE=$<. * melt-build.mk: Regenerate. 2011-07-18 Basile Starynkevitch * melt-runtime.c (melt_pre_genericize_callback): Typos. * melt/warmelt-base.melt (pregenericize_delayed_queue): New instance. (register_pre_genericize_hook): Should use the pregenericize_delayed_queue... 2011-07-18 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Update to 0.8.1 * melt-runtime.c (plugin_init): Return 0 because successful, so revert previous change. 2011-07-17 Basile Starynkevitch * melt-runtime.c (plugin_init): Return 1 because successful. 2011-07-16 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0+01.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-07-16 Pierre Vittet * melt-runtime.c (melt_really_initialize): Register a new Callback to PLUGIN_PRE_GENERICIZE. (melt_pre_genericize_callback): New function, use field sysdata_pre_genericize to transmit the callbacks. * melt/warmelt-base.melt (register_pre_genericize_hook): New function. 2011-07-16 Pierre Vittet * melt-runtime.h (enum FSYDAT*): Add a FSYSDAT_PRE_GENERICIZE field. * melt/warmelt-first.melt (class_system_data): add a sysdata_pre_genericize field. 2011-07-15 Romain Geissler [[Romain Geissler is covered by copyright assignment RT211150]] * doc/melt.texi: gcc -c compilation works * melt-runtime.c: Use module basename when looking for module source * melt-build.tpl: melt_make_cc1_* help * melt-build.mk: Regenerate. * Makefile.in (melt_installed_cflags): Add library includes Change source installation directory melt-source{,s} (check-melt-runtime): temporary use -Wno-error (check-melt-runtime): use bootstrapping mode 2011-07-15 Pierre Vittet * Makefile.in (install-melt-default-modules-list): Fix bad file call. 2011-07-11 Basile Starynkevitch * melt-runtime.c (melt_garbcoll): Increase default values of parameters above their minimal ones, used notably in plugin mode. 2011-07-11 Basile Starynkevitch * melt-module.mk: Replace quickly by quicklybuilt. * melt-build.tpl: Ditto. Minor typos. * melt-build.mk: Regenerate. 2011-07-10 Basile Starynkevitch {{fix failure of MELT_STAGE_ZERO=melt-stage0-dynamic on 32 bits x86/Linux}} * melt-runtime.c (load_checked_dynamic_module_index): Check that ix>0. (melt_dlsym_all): Start from ix=1. (melt_really_initialize): Better comment. (melt_fatal_info): Display modules from ix=1. 2011-07-10 Basile Starynkevitch * melt-runtime.c: Remove second include of melt-run-md5.h near eof. 2011-07-10 Basile Starynkevitch * melt-runtime.h (meltgc_touch): Use intptr_t when HAVE_STDINT_H. * melt-runtime.c: include melt-run-md5.h. 2011-07-10 Basile Starynkevitch * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0+01.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0+01.c: Regenerate. * melt/generated/warmelt-debug-0+02.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0+04.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-07-10 Basile Starynkevitch * melt-runtime.h (meltgc_load_modulelist): Add depth formal. (struct melt_callframe_st): Add mcfr_unusedflocs field without MELT_HAVE_DEBUG. (MELT_DECLFRAME): Ditto. * melt-runtime.c (compile_gencsrc_to_binmodule): Print a message when the MELT plugin or branch is running a command. (meltgc_make_load_melt_module): Also check for .q.so special suffix. Permit / in module names, i.e. permit directories. Don't run a command when bootstrapping. (MODLIS_MAXDEPTH): New constant. (meltgc_load_modulelist): Gets a depth formal. May recurse. Add better location information thru curlocbuf. (load_initial_melt_modules): Better location info. Call melt_fatal_error if default module list loaded not at first. * melt-build.tpl: Major improvements. Have variants {quicklybuilt, optimized, debugnoline} for modules and their directories. The various melt stages use the quicklybuilt variant. * melt-build.mk: Regenerate. * Makefile.in: Install various variants of melt-modules. * melt/warmelt-outobj.melt: Emit mcfr_unusedflocs without MELT_HAVE_DEBUG in generated MELT call frames. 2011-07-09 Basile Starynkevitch * melt/warmelt-outobj.melt (translate_macroexpanded_list): Emit a forward declaration for melt_callframe_st. * melt-module.mk: Add flags -DMELTGCC_MODULE_OPTIMIZED or -DMELTGCC_MODULE_DYNAMIC or -DMELTGCC_MODULE_NOLINE, as appropriate. * melt-build.tpl (meltarg_modulecflags): New. (MELTCCINIT1, MELTCCFILE1): Use it. Generate intermediate modules with melt_module_quickly. * melt-build.mk: Regenerate. * Makefile.in (install-melt-source, install-melt-modules): Add / after $(DESTDIR) * melt-runtime.h (MELT_DECLFRAME, MELT_LOCATION, MELT_INITFRAME): Add comments inside macros. * melt-runtime.c (obstack_add_escaped_path): Don't escape always some punctuation chars. (compile_gencsrc_to_binmodule): Ignore ./ for make -C. Flush diagnostics before system. No silent make when quiet. 2011-07-08 Basile Starynkevitch * Makefile.in (melt_make_cc1flags,melt_cflags): Use realpath for include directories. Add inform MELT running: ... 2011-07-08 Basile Starynkevitch * melt-runtime.h (MELT_HAVE_DEBUG): Define it as 0 if undefined. * melt-runtime.c (obstack_add_escaped_path): Always provided, even without MELT_IS_PLUGIN. (compile_gencsrc_to_binmodule): Show the failing command. * melt/warmelt-outobj.melt (compile_one_or_more_files): Add debug_msg. 2011-07-07 Basile Starynkevitch * melt-runtime.h (struct melt_callframe_st): Add forward declaration. * melt-module.mk (MELTMODULE_QUICKLY,MELTMODULE_OBJQUIPICFILES) (melt_module_quickly,%.quipic.o): New for quick compilation. * melt/warmelt-base.melt (generate_quickly_melt_module) (load_quickly_melt_module): New primitives. * melt/warmelt-outobj.melt (translatequickly_docmd): New translatequickly mode. runfile_docmd uses quick compilation. 2011-07-07 Basile Starynkevitch {{Regenerated}} * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0+01.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-07-07 Basile Starynkevitch * Makefile.in (gtyp-real-meltplugin-input.list): Remove. (gt-melt-runtime-plugin.h, REALGTMELTPLUGINFILES): Remove * melt/generated/gt-melt-runtime-plugin.h: Remove file. 2011-07-07 Basile Starynkevitch * melt-runtime.c (compile_gencsrc_to_binmodule): Gives a fatal error if the make command failed. * melt-runtime.h (melt_dbgtracefile): Remove. (melt_trace_start, melt_trace_end): Dummy macros. * melt-module.mk (melt_module_dynamic,melt_module_withoutline): Pass -DMELT_HAVE_DEBUG=1 2011-07-07 Basile Starynkevitch * melt-runtime.h (melt_gcc_version): New declaration. * melt-runtime.c (melt_gcc_version): New definition. Use MELT_GCC_VERSION to test for GCC version number. Make an #error for gcc <4.6. (meltgc_add_out_raw_len, meltgc_put_mapobjects, meltgc_send): Remove ENABLE_CHECKING code. (melt_dbgtracefile): Remove declaration. (melt_apply, meltgc_make_load_melt_module) (meltgc_load_modulelist,load_melt_modules_and_do_mode) (melt_passexec_callback, melt_dbgbacktrace, melt_fatal_info) (meltgc_gimple_gate, meltgc_gimple_execute, meltgc_rtl_execute) (meltgc_simple_ipa_gate, meltgc_simple_ipa_execute) (melt_handle_melt_attribute): Use #if MELT_HAVE_DEBUG instead of #if ENABLE_CHECKING (melt_attribute_callback): Test on MELT_GCC_VERSION. * Makefile.in (MELT_RUNTIME_CPPDEFS): Add -DMELT_GCC_VERSION. 2011-07-07 Pierre Vittet * melt/warmelt-base.melt (register_pragma_handler): New function. 2011-07-06 Basile Starynkevitch * melt-runtime.c (MELT_VERSION_STRING): Change to 0.8rc2. 2011-07-06 Basile Starynkevitch * melt-runtime.c (melt_attr_spec): Add comment for each field, and protect the affects_type_identity for 4.7 2011-07-05 Pierre Vittet * melt-runtime.c (c_register_pragma_with_expansion): Protect with BUILDING_GCC_VERSION > 4006, but still unsatisfactory. 2011-07-05 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0+01.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0+01.c: Regenerate. * melt/generated/warmelt-debug-0+02.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0+04.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-07-05 Pierre Vittet * melt-runtime.h (melt_warning_at_strbuf): New declaration. * melt-runtime.c (melt_warning_at_strbuf): New function. * melt/xtramelt-ana-base.melt (warning_at_gimple_strbuf): New primitive. 2011-07-05 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STR): becomes 0.8rc1 (MELT_HAVE_DEBUG): New preprocessor flag, either 0 or 1 (debugeprintf,debugeprintfline,debugeprintf_raw) (debugeprintfnonl,debugeprintvalue,debugebacktrace,debugeputs) (melt_magic_discr,MELT_DECLFRAME,MELT_LOCATION,MELT_INITFRAME): Conditionned on MELT_HAVE_DEBUG. (melt_debug_garbcoll): Conditionned on ENABLE_GC_CHECKING. * melt/warmelt-first.melt (shortbacktrace_dbg): Conditionned on MELT_HAVE_DEBUG. * melt/warmelt-macro.melt (mexpand_assert_msg,mexpand_debug_msg): produce source exprs cppif-conditionned on MELT_HAVE_DEBUG. * melt/warmelt-outobj.melt (output_curframe_declstruct) (output_curframe_declstruct_init): Emit code conditionned on MELT_HAVE_DEBUG. 2011-07-05 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-07-05 Basile Starynkevitch * melt/warmelt-first.melt: Add gncx_altmatch field to class_c_generation_context. * melt/warmelt-genobj.melt (class_alternate_match_nrep_data): New. (compilobj_nrep_altmatch): Set and restore gncx_altmatch field. (compilobj_nrep_matchdatainit): Use it. 2011-07-05 Basile Starynkevitch * melt-runtime.c (melt_startalz, melt_endalz, melt_curalz) (melt_storalz): Add comment. (melt_initialstoralz): New variable. (melt_allocate_young_gc_zone): Initialize it. (melt_ggcstart_callback): Also runs the minor MELT GC when the store part of the birth region is non-empty. 2011-07-04 Basile Starynkevitch * melt/warmelt-normatch.melt: Exported more classes for altmatch. * melt/warmelt-genobj.melt: Update copyright year. (compilobj_nrep_matchlabel,compilobj_nrep_matchdatainit): New methods. * testsuite/melt/tmatch-5.melt: Even simpler. * testsuite/melt/tmatch-6.melt: Better comment. 2011-07-04 Basile Starynkevitch * melt-runtime.c (meltgc_add_out_raw_len): Removed GCC 4.5 code. (melt_val2passflag): Removed GCC 4.5 specific code. * melt/xtramelt-ana-simple.melt (meltframe_docmd): Notice the number of handled MELT routines. 2011-07-04 Basile Starynkevitch * melt-runtime.c (meltgc_notify_sysdata_passexec_hook): Better comment. 2011-07-04 Basile Starynkevitch * melt-runtime.c (meltgc_raw_remove_mappointers) (meltgc_intern_symbol, meltgc_read_from_rawstring): Remove useless local slot in MELT frame. (do_initial_mode): Remove forcing of MELT copying minor GC. (meltgc_gimple_gate,meltgc_gimple_execute) (meltgc_rtl_gate,meltgc_rtl_execute) (meltgc_simple_ipa_gate,meltgc_simple_ipa_execute): Ditto. 2011-07-04 Basile Starynkevitch * melt-runtime.c (melt_ggcstart_callback): New routine. (melt_really_initialize): Register it for PLUGIN_GGC_START. 2011-07-04 Basile Starynkevitch * melt-runtime.c (meltgc_raw_put_mappointers) (meltgc_raw_remove_mappointers): Remove discrv local MELT pointer. (meltgc_read_file, meltgc_read_from_rawstring): Remove genv local MELT pointer. (meltgc_clone_ppl_constraint_system): Cleanup and use discv. (meltgc_gimple_execute): Use dumpv. (meltgc_register_pass): Clean up local frame. * melt/xtramelt-ana-simple.melt (class_melt_frame_data): New class. (meltframe_docmd): Use it. (meltframe_gate): Count using melfram_funcount slot. 2011-07-04 Basile Starynkevitch * melt-runtime.c: Removed all the #define ggc_alloc_* for GCC 4.5 support, since GCC 4.5 is obsolete for MELT. (melt_reserved_allocation_failure): Improve message. 2011-07-04 Pierre Vittet * melt-runtime.c: Include c-pragma.h. [__GNUC__>4.6] (melt_handle_melt_pragma, handle_melt_pragma, melt_pragma_callback): Add functions for full pragma handling. [__GNUC__<=4.6] (melt_handle_melt_pragma, handle_melt_pragma, melt_pragma_callback): Add functions for limited pragma handling. (melt_really_initialize): Register a callback for pragma. * Makefile.in (CFAMILYINC): We need c-family header in include headers. 2011-07-01 Basile Starynkevitch * melt/warmelt-macro.melt: Correct spelling mistakes:: conjonction -> conjunction & disjonction -> disjunction. * melt/warmelt-normatch.melt: Ditto, so (class_match_step_flag_conjonction) renamed as (class_match_step_flag_conjunction) and (class_match_step_flag_disjonction) renamed as (class_match_step_flag_disjunction). * gcc/testsuite/melt/tmatch-6.melt: Improved test. 2011-07-01 Basile Starynkevitch * melt/warmelt-normatch.melt (translpat_constpat): Complete. (altmatch_normalize_match_context): Use a recursive add_norm_step. 2011-07-01 Basile Starynkevitch * melt/warmelt-normatch.melt (class_match_step_test_constant): New class. (translpat_constpat): More. 2011-07-01 Basile Starynkevitch * melt-runtime.c (meltgc_open_infix_file): Remove MELT frame. Rename as (melt_open_infix_file). (meltgc_close_infix_file): Remove MELT frame. Rename as (melt_close_infix_file). * melt-runtime.h (meltgc_open_infix_file): Rename as (melt_open_infix_file). (meltgc_close_infix_file): Rename as (melt_close_infix_file). * melt/warmelt-normatch.melt: Add space in dot files after . * melt/xtramelt-parse-infix-syntax.melt: Update copyright year. (open_infix_file, close_infix_file): Update primitive. 2011-06-30 Basile Starynkevitch * melt-runtime.c (meltgc_multiple_put_nth, meltgc_send) (meltgc_open_infix_file, meltgc_intern_keyword) (meltgc_read_from_val): Remove useless slots in meltfram__. 2011-06-30 Basile Starynkevitch * melt/xtramelt-ana-base.melt (warning_at_tree_decl_with_number): New primitive. * melt/xtramelt-ana-simple.melt (meltframe_exec): Work! It does find some "bugs" in melt-runtime.c, e.g. needless varptr slots. 2011-06-30 Basile Starynkevitch * melt/xtramelt-ana-simple.melt (meltframe_exec): Find reference to varptr.... 2011-06-30 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_integer_type_bounded): New cmatcher. (tree_integer_cst): Use host_integerp to ensure the constant fits on host. 2011-06-30 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_array_type): New c-matcher. (tree_field_decl): Got new type output. * melt/xtramelt-ana-simple.melt (meltframe_exec): Use it. * melt/xtramelt-c-generator.melt (get_tree_value_rec): Ditto. 2011-06-30 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_record_type_with_fields): New c-matcher. * melt/xtramelt-ana-simple.melt (meltframe_exec): Use it. 2011-06-29 Basile Starynkevitch * melt/xtramelt-ana-simple.melt (meltframe_exec): Improved again. 2011-06-29 Pierre Vittet * melt-runtime.c (struct reading_st): Add a boolean rhas_file_location field. (melt_linemap_compute_current_location): Return immediately if no file location. (meltgc_read_file, meltgc_read_from_rawstring) (meltgc_read_from_val): Set rhas_file_location accordingly (meltgc_read_from_val): create seqv list, it was used without being created. 2011-06-29 Basile Starynkevitch * melt/xtramelt-ana-base.melt (each_bb_cfun): Improved message. * melt/xtramelt-ana-simple.melt (melt_frame_exec): Improved. 2011-06-29 Basile Starynkevitch * melt-runtime.h (melt_fatal_error_at_line): New macro. * melt-runtime.c (melt_fatal_info): display information about cfun & current_pass. * melt/xtramelt-ana-base.melt (each_bb_current_fun, each_bb_cfun) (each_local_decl_cfun): Use melt_fatal_error_at_line. 2011-06-29 Basile Starynkevitch * melt/xtramelt-ana-base.melt (cfun_local_decls): Removed. (each_local_decl_cfun): New c-iterator. 2011-06-29 Basile Starynkevitch * melt-runtime.c (callframe_melt_st): Rename as (melt_callframe_st). * melt-runtime.h (melt_callframe_st): Remove temporary macro. 2011-06-29 Basile Starynkevitch {{Regenerate}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0+01.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0+01.c: Regenerate. * melt/generated/warmelt-debug-0+02.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0+04.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-06-29 Basile Starynkevitch * melt-runtime.h (callframe_melt_st): Rename as (melt_callframe_st), and use a temporary macro. * melt/warmelt-outobj.melt: Emit melt_callframe_st not callframe_melt_st. 2011-06-28 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_address_expression): Remove, renaming it as (tree_addr_expr): new cmatcher {was tree_address_expression}. * melt/xtramelt-c-generator.melt (get_tree_value_rec): Correct for above renaming. * melt/xtramelt-ana-simple.melt (meltframe_exec): More matching. 2011-06-28 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_var_declaration): Remove, renaming it as (tree_var_decl): new cmatcher {was tree_var_declaration}. * melt/xtramelt-c-generator.melt (get_tree_value_rec): Correct for above renaming. * melt/xtramelt-ana-simple.melt (meltframe_exec): More complete pattern. 2011-06-27 Basile Starynkevitch * melt/xtramelt-ana-base.melt (tree_array_ref) (tree_array_ref_full, tree_component_ref, tree_component_ref_full) (tree_mem_ref): New cmatchers. (tree_component_ref_typed): Rename cmatcher, was tree_component_ref. 2011-06-27 Basile Starynkevitch * melt/xtramelt-c-generator.melt: Update copyright year. (get_tree_value_rec): Use tree_component_ref_typed instead of tree_component_ref. 2011-06-27 Basile Starynkevitch * testsuite/melt/t-meltgcnewint.c: New file. * melt/xtramelt-ana-simple.melt (meltframe_exec): More, still incomplete. 2011-06-27 Basile Starynkevitch * Makefile.in (MELT_RUNTIME_CPPDEFS): New variable. (melt-runtime.o): Use it. (melt.encap): Do also check-melt-runtime; echo-s are made silent. (check-melt-runtime): New phony target. * melt/warmelt-base.melt (cstring_prefixed): New cmatcher. * melt/xtramelt-ana-simple.melt (meltframe_gate, meltframe_exec) (meltframe_docmd): New functions. (meltframe_mode): New mode. 2011-06-27 Basile Starynkevitch * melt-runtime.h (MELT_INITFRAME_AT_MACRO): New internal macro. (MELT_INITFRAME): Use it. (MELT_LOCATION_HERE_AT_MACRO, MELT_LOCATION_HERE): New internal macros. (MELT_LOCATION): Use them. 2011-06-27 Basile Starynkevitch * Makefile.in (melt_source_dir, melt_module_dir): Remove trailing slash in definition. 2011-06-27 Basile Starynkevitch * melt-runtime.h (MELT_TOUCHED_CACHE_SIZE): Increase to 19. (meltgc_touch): Use temporary widepad variable to force two consecutive casts. * melt-runtime.c (melt_garbcoll): fix debugprintf format. 2011-06-27 Basile Starynkevitch * melt-runtime.c (melt_minor_copying_garbage_collector): New routine. (melt_garbcoll): Move the minor GC out of it. Call melt_minor_copying_garbage_collector. 2011-06-27 Basile Starynkevitch * testsuite/melt/tmatch-7.melt: Enhance test. 2011-06-24 Basile Starynkevitch * melt-runtime.c: Spell "receive" correctly in comments or strings. * melt/warmelt-first.melt: Ditto. * melt/warmelt-debug.melt: Ditto. * melt/warmelt-macro.melt: Ditto. * melt/warmelt-normal.melt: Ditto. * melt/warmelt-normatch.melt: Ditto. * melt/warmelt-genobj.melt: Ditto. * melt/warmelt-outobj.melt: Ditto. 2011-06-22 Pierre Vittet * melt-runtime.c (load_melt_modules_and_do_mode): load extra module before setting options. 2011-06-21 Pierre Vittet * melt-runtime.c (meltgc_new_split_string): Add comment. 2011-06-21 Pierre Vittet * melt-runtime.c (meltgc_new_split_string): Fix issue with string starting with seperator. 2011-06-21 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0+04.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-06-21 Basile Starynkevitch * melt/warmelt-normatch.melt (scanpat_srcpatconst): Added one more warning on bad match parenthesis. http://groups.google.com/group/gcc-melt-french/browse_thread/thread/92d171b8bda87916 2011-06-21 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_defun): Reject nested defun-s, so testsuite/melt/tbad-4.melt fails properly. * testsuite/melt/tbad-4.melt: Improved comment. 2011-06-21 Basile Starynkevitch * testsuite/melt/tbad-4.melt: New file, testcase of nested defun which should fail properly. 2011-06-12 Basile Starynkevitch * Makefile.in (install-melt-source): Typo. 2011-06-12 Basile Starynkevitch * Makefile.in (install-melt-source,install-melt-modules,install-melt-mk) (install-melt-default-modules-list): Install at correct wired-in locations. 2011-05-31 Basile Starynkevitch * melt-build.tpl: Update copyright year. * melt-build.mk: Regenerate. 2011-05-31 Basile Starynkevitch {{regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-05-31 Basile Starynkevitch * melt-build.tpl (warmelt-upgrade-translator): Test with which that unifdef exists. * melt-build.mk: Regenerate. 2011-05-31 Basile Starynkevitch * melt-predef.list: Add CLASS_GCC_PRAGMA. * melt-runtime.h: Better comment. (FSYSDAT_MELTPRAGMAS, FGCCPRAGMA_HANDLER, FGCCPRAGMA_DATA) (FGCCPRAGMA__LAST): New enum values. * melt/warmelt-first.melt: (class_initial_system_data): Add new field systda_meltpragmas (initial_system_data): Clear it. (class_gcc_pragma): New predefined class. 2011-05-31 Basile Starynkevitch * melt-runtime.c (melt_list_length): Reindent. (meltgc_output_file): Loop on list test better the pairs. 2011-05-26 Basile Starynkevitch * melt/xtramelt-opengpu.melt: Added comments with Konrad's insights. * testsuite/melt/topengpu-vecsum.c: Ditto. 2011-05-25 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-05-25 Basile Starynkevitch * melt/xtramelt-ana-base.melt (foreach_edge_bb_precs,foreach_edge_bb_succs): Avoid input formals $BB in generated comment. 2011-05-25 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): Fix debugedge call. 2011-05-25 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): More. 2011-05-25 Basile Starynkevitch * melt/xtramelt-ana-base.melt (foreach_edge_bb_precs,foreach_edge_bb_succs): New citerators. 2011-05-25 Basile Starynkevitch * melt/xtramelt-ana-base.melt (output_loop) (dbgout_boxloop_method): New. Various fixes. 2011-05-25 Basile Starynkevitch * melt-runtime.h (meltgc_out_loop): Add new declaration. * melt-runtime.c (meltgc_out_loop): Add new function. 2011-05-25 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpudetect_handle_parallel_loop): Add new function. (opengpudetect_exec): Call it. 2011-05-25 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Exporting loop primitives. 2011-05-24 Basile Starynkevitch * melt/xtramelt-ana-base.melt (each_loop): Get a new loopix local formal. (loop_index_number): Thinko in return type. (loop_depth): New. * melt/xtramelt-opengpu.melt (opengpudetect_exec): Correct each_loop invocation. 2011-05-24 Basile Starynkevitch * melt/warmelt-macro.melt (check_c_expansion): Better error messages. 2011-05-24 Basile Starynkevitch * melt-runtime.c (readval): Issue a lexing error for colon followed by non-letter. 2011-05-24 Basile Starynkevitch * melt/xtramelt-ana-base.melt (number_of_loops): New primitive. 2011-05-24 Basile Starynkevitch * melt-runtime.h (MELT_FORWARDED): Use typeof only with __GNUC__. 2011-05-23 Basile Starynkevitch * testsuite/melt/topengpu-vecsum.c: New test file. * melt/xtramelt-ana-base.melt (loop_inner): Correct type typo. (loop_index_number): New primitive. (dbgout_boxgimpleseq_method,dbgout_boxtree_method) (dbgout_boxbasicblock_method): Improve indentation in output. * melt/xtramelt-opengpu.melt (opengpudetect_exec): Better debug. 2011-05-20 Basile Starynkevitch * melt/xtramelt-ana-base.melt (debug_post_dominance_info): Fix typo. 2011-05-20 Basile Starynkevitch * melt-runtime.h (debugeprintfline, debugeprintflinenonl): New macros. (debugeprintf,debugeprintfnonl): Use them. 2011-05-20 Pierre Vittet * melt/xtramelt-ana-base.melt (is_dominance_info_available, is_post_dominance_info_available) (calculate_dominance_info_unsafe) (calculate_post_dominance_info_unsafe, free_dominance_info) (free_post_dominance_info) (calculate_dominance_info) (calculate_post_dominance_info, debug_dominance_info) (debug_post_dominance_info, get_immediate_dominator_unsafe) (get_immediate_dominator, get_immediate_post_dominator_unsafe) (get_immediate_post_dominator, dominated_by_other_unsafe) (dominated_by_other, post_dominated_by_other_unsafe) (post_dominated_by_other, foreach_dominated_unsafe) (dominated_by_bb_iterator): Add primitives, functions, iterators for dominance info. 2011-05-20 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpudetect_exec): Iterate inside the loop, still incomplete. 2011-05-19 Basile Starynkevitch * params.def (PARAM_MELT_FULL_PERIOD): Increase default. * melt-runtime (melt_garbcoll): Increase minimal melt_fullperiod. 2011-05-19 Basile Starynkevitch * melt-runtime.c (check_pointer_at): Use MELTOBMAG__FIRST. 2011-05-19 Basile Starynkevitch {{Regenerated all}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-05-19 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_enum_objmagic): Emit MELTOBMAG__FIRST enumeration value. 2011-05-19 Basile Starynkevitch * melt/warmelt-normatch.melt (normstep_mgroup): More code. Still incomplete. 2011-05-19 Basile Starynkevitch * melt/warmelt-debug.melt (dbgout_fields): Reduced width of display before forcing newline. 2011-05-18 Basile Starynkevitch * melt/warmelt-normatch.melt (normstep_mgroup): Adding new incomplete stub method for normalize_step for class_match_step_test_group. (normtestmatch_cmatcher): Return two values only. (normfillmatch_cmatcher): Complete. (normstep_mtestmatcher): Complete. 2011-05-18 Basile Starynkevitch * melt/warmelt-normatch.melt (normalize_fill_matcher): Add more formal arguments to selector. (normfillmatch_catchall): Ditto. (normfillmatch_cmatcher): New function method for cmatcher. 2011-05-17 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_msend): Make an error, not a warning, when the formals given in the selector mismatch the actual arguments. 2011-05-17 Pierre Vittet * Makefile.in (melt_module_dir,install-melt-mk): Correct path errors. 2011-05-17 Basile Starynkevitch * melt/warmelt-normatch.melt (normalize_test_matcher): Add bindlist formal. (normtestmatch_catchall): Ditto. (normtestmatch_cmatcher): Complete. (normstep_mtestmatcher): Send normalize_test_matcher with bindlist and two extra results. 2011-05-17 Basile Starynkevitch * melt/warmelt-first (install_method): Issue errors, not warnings, on failure. 2011-05-17 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Check melt_source_dir, melt_module_dir, melt_module_makefile, but issue only a warning. Initialize flag_melt_debug & flag_melt_bootstrapping earlier in plugin mode. 2011-05-16 Pierre Vittet * Makefile.in: remove useless use of MELTHERE_CFLAGS, remove variable MELTHERE_CC1_CFLAGS, as it takes its arg from MELTHERE_CLAGS. 2011-05-16 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Check melt_source_dir, melt_module_dir, melt_module_makefile. * Makefile.in (melt_source_dir,melt_module_dir,melt_installed_module_makefile): Set variables. 2011-05-16 Basile Starynkevitch * melt-runtime.c (meltgc_load_modulelist): Don't recompute twice envpath. Adjust comment. * Makefile.in (INSTALL_HEADERS): Use install-melt-includes. 2011-05-16 Basile Starynkevitch * melt/warmelt-normatch.melt: (normalize_test_matcher, normalize_fill_matcher): New selectors. (normtestmatch_catchall,normfillmatch_catchall): New catchall functions for them. (normtestmatch_cmatcher): New embryonic function. (normstep_mtestmatcher): Compute normouts. Send normalize_test_matcher. Still incomplete. 2011-05-11 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-05-11 Basile Starynkevitch * melt/warmelt-first.melt (at_end_melt_pass_first) (at_end_melt_pass_last): New exported functions. (end_melt_pass_execution_delayed_queue): New private instance. (end_melt_pass_runner): New internal function. 2011-05-11 Basile Starynkevitch * melt-runtime.h (FSYSDAT_MELTPASS_AFTER_HOOK): New. * melt-runtime.c (melt_attr_spec): Sets affects_type_identity. (melt_clear_inisysdata): New function. (meltgc_run_meltpass_after_hook): New function. (meltgc_gimple_execute,meltgc_rtl_execute,meltgc_simple_ipa_execute): Call it. (meltgc_notify_sysdata_passexec_hook): Reduce melt stack frame size. * Makefile.in (melt_cflags): Add $(INCLUDES) to them. (melt_default_modules_list): Restore definition. * melt/warmelt-first.melt (class_initial_data): Add sysdata_meltpass_after_hook field. * melt/warmelt-base.melt (register_pass_execution_hook): Typo in doc string. 2011-05-11 Basile Starynkevitch * Makefile.in: File simplified for MELT specific targets after svn rev 173652. No more melt-run.d. Trigger error when plugins are disabled. (install-melt-headers-*): Remove intermediate targets. (melt-run.d): Remove directory. (warmelt*.modlis): Remove. (all.internal): Add melt.encap. (MISSINGMELT_PLUGIN_HEADERS): Remove variable. (melt_private_include_dir, melt_source_dir, melt_module_dir) (melt_build_include_dir, MELT_RAW_CFLAGS, MELTHERE_CFLAGS): Remove variables. (melt-run-deps,melt-run.d,install-melt-*): Remove targets. And many other minor changes. 2011-05-11 Basile Starynkevitch * gengtype.c: Merge manually from trunk 173646. 2011-05-10 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STR): Increase to 0.7.1 2011-05-09 Basile Starynkevitch * melt-runtime.c (ggc_force_collect): Remove extern declaration. (melt_garbcoll): Update comment. 2011-05-09 Pierre Vittet [Pierre's GNU copyright agreement RT634276] * melt-runtime.c (melt_garbcoll): Don't force collection by gcc_collect. 2011-04-27 Basile Starynkevitch * melt-runtime.c (plugin_init): Fill the help and version field of plugin_info. 2011-04-27 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0+01.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-04-27 Basile Starynkevitch * melt/warmelt-base.melt (melt_version_str): New primitive. * melt/warmelt-outobj.melt (help_docmd): Use it. 2011-04-26 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-04-26 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): 0.7 (melt_version_str): New function. * melt-runtime.c (bname_obstack): Remove variable, by renaming it to (melt_bname_obstack): New variable. (bstring_obstack): Remove variable, by renaming it to (melt_bstring_obstack): New variable. (melt_output_cfile_decl_impl_secondary_option): Don't escape _. * Makefile.in (melt-runtime.o): Define MELT_REVISION. 2011-04-17 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): 0.7rc5 2011-04-16 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): 0.7rc4 2011-04-15 Basile Starynkevitch * Makefile.in (melt_installed_cflags): Use the $(plugin_include_dir) (MELT_PLUGIN_HEADERS): Add the generated melt-run-md5.h file. 2011-04-15 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): 0.7rc3 + ... * melt/warmelt-outobj.melt (makedoc_genpatmacro,makedoc_genprimitive): Check class of source definitions and sort them appropriately. 2011-04-15 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): 0.7rc3 2011-04-15 Basile Starynkevitch * melt-build.tpl: no $(melt_extra_cflags) to build melt-modules/xtramelt*.so * melt-build.mk: Regenerate. * melt-predef.list: Remove CLASS_VARIADIC_FUNCTION. {{Regenerate twice}} * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2011-04-15 Basile Starynkevitch * melt/warmelt-first.melt (class_variadic_binding,class_variadic_function): Remove. 2011-04-15 Basile Starynkevitch * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2011-04-15 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_variadic_application,class_source_defvariadic): Remove classes. (mexpand_defvariadic,defvariadic): Remove function and macro. 2011-04-15 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0+04.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. 2011-04-15 Basile Starynkevitch * testsuite/melt/tvariadic-1.melt: Remove file. * melt/warmelt-macro.melt: (class_source_variadic_application,class_source_defvariadic): Mark classes as obsolete. (expand_variadicexpr): Remove function. (macroexpand_1): Don't call it. (mexpand_defvariadic): Make it obsolete. * melt/warmelt-normal.melt (normexp_defvariadic): Remove function. 2011-04-14 Basile Starynkevitch * melt/warmelt-genobj.melt (compile2obj_procedure): Lower thresholds so that generated C files are more, but smaller. {{Regenerated}} * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-debug-0+01.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-debug-0+02.c: Add since generated. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0+04.c: Add since generated. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-macro-0+04.c: Add since generated. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0+05.c: Add since generated. * melt/generated/warmelt-base-0+01.c: Add since generated. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0+04.c: Add since generated. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0+05.c: Add since generated. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2011-04-15 Basile Starynkevitch * melt-runtime.c (melt_output_cfile_decl_impl_secondary): Renamed. (melt_output_cfile_decl_impl_secondary_option): add optbuf argument and handle it. * melt-runtime.h (melt_output_cfile_decl_impl_secondary_option): New declaration. (melt_output_cfile_decl_impl_secondary,melt_output_cfile_decl_impl): New inline functions. * melt/warmelt-first.melt (class_module_context): Add mocx_cflags and mocx_linkflags fields. * melt/warmelt-outobj.melt (compile_list_sexpr): Should fill these fields. 2011-04-14 Basile Starynkevitch * melt/warmelt-base.melt (c_time,c_clock): New exported primitives. 2011-04-13 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Upgrade to 0.7rc2 +... 2011-04-13 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Upgrade to 0.7rc2 2011-04-12 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): Upgrade to 0.7rc1 2011-04-11 Basile Starynkevitch * tree-dump.c (get_dump_file_name): Add a chronological unique id in the file name. 2011-04-11 Basile Starynkevitch * melt/xtramelt-ana-base.melt (gimple_seq_first_stmt,gimple_seq_last_stmt): New primitives. * testsuite/melt/topengpu-0.c: Indent better. 2011-04-09 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-04-08 Basile Starynkevitch * melt/xtramelt-ana-base.melt (loop_header, loop_latch): New primitives. * melt/xtramelt-opengpu.melt (opengpudetect_exec): Use them. 2011-04-08 Basile Starynkevitch * melt-runtime.h (meltgc_out_edge): Add new function declaration. * melt-runtime.c (meltgc_out_edge): Add new function. * melt/xtramelt-ana-base.melt (output_edge): New primitive. (dbgout_boxedge_method): New method. 2011-04-08 Basile Starynkevitch * melt-runtime.c (meltgc_make_load_melt_module): Don't check module name when MELTLOADFLAG_CURDIR. (load_melt_modules_and_do_mode): Added better MELT_LOCATION_HERE etc. Move extra module handler so it works. * doc/melt.texi (Invoking MELT): Document -fmelt-extra. 2011-04-08 Basile Starynkevitch * common.opt (fmelt-extra=): Add new option. * melt-runtime.h (meltgc_make_load_melt_module) (meltgc_load_modulelist): Add new flags argument. (MELTLOADFLAG_NONE,MELTLOADFLAG_CURDIR): New enum values. * melt-runtime.c (melt_argument): Handle "extra". (melt_extra_string): Poison it after use. (meltgc_make_load_melt_module,meltgc_load_modulelist): Handle flags. (load_melt_modules_and_do_mode): Handle extra modules. * melt/warmelt-base.melt (load_melt_module) (load_debug_melt_module): Set flag to MELTLOADFLAG_NONE. {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-04-07 Basile Starynkevitch * melt-runtime.h (MELT_VERSION_STRING): New. * melt-runtime.c (melt_really_initialize): Compute melt_gccversionstr also using MELT_VERSION_STRING. 2011-04-07 Basile Starynkevitch * melt-build.tpl: Add more dependencies on melt-sources & melt-tempbuild directories. * melt-build.mk: Regenerate. 2011-04-07 Basile Starynkevitch * melt-build.tpl: Add some @echo MELT build. Add empty-file-for-melt.c to run MELT plugin. * melt-build.mk: Regenerate. 2011-04-07 Basile Starynkevitch * melt-runtime.h (debugeputs): Define as empty macro when no ENABLE_CHECKING. * melt-runtime.c (load_checked_dynamic_module_index): Add space. 2011-04-07 Basile Starynkevitch * melt-runtime.c (compile_gencsrc_to_binmodule): When MELT_IS_PLUGIN use obstack_grow, not obstack_grow0! (melt_fatal_info): Remind the error after backtrace. 2011-04-06 Basile Starynkevitch * melt-runtime.c (skipspace_getc): Ignore result of linemap_add. (meltgc_open_infix_file): Likewise. Also handle correctly escapes. (readsexpr): Ignore result of skipspace_getc & of linemap_add. * melt-build.tpl (LN_S): Give a suitable default. * melt-build.mk: Regenerate. 2011-04-06 Basile Starynkevitch * melt-runtime.h (flag_melt_bootstrapping): Declare extern in plugin mode. * melt-runtime.c (melt_really_initialize): Indent. 2011-04-06 Basile Starynkevitch * melt-runtime.c (compile_gencsrc_to_binmodule): Correct debugeprintf. 2011-04-06 Basile Starynkevitch * melt-runtime.c (compile_gencsrc_to_binmodule): Better test of workdir. 2011-04-06 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-04-06 Basile Starynkevitch * melt-runtime.c: Move #include "gt-melt-runtime.h" near beginning of file. * melt/warmelt-base.melt (valdesc_mapobjects, valdesc_mapstrings): Add ggc_alloc_cleared_vec_entry* 2011-04-06 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-04-06 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_forwcopy_fun): Generate conditional ggc_alloc for map entries. 2011-04-06 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-04-06 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_forwcopy_fun): Generate conditional ggc_alloc macro for map ctype. 2011-04-06 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_forwcopy_fun): Generate conditional ggc_alloc macro for simple ctype. 2011-04-06 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_special_ppl_constraint_system): Typo in ggc_alloc.... 2011-04-06 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. 2011-04-06 Basile Starynkevitch * melt/warmelt-base.melt: Add conditionally appropriate #define ggc_alloc_melt* macros in VALDESC* 2011-04-05 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. 2011-04-05 Basile Starynkevitch * gengtype.c (write_typed_alloc_def): Gets extra outf_p argument and use it. (write_typed_struct_alloc_def, write_typed_typedef_alloc_def) (write_typed_alloc_defns): Likewise. (main): Calls write_typed_alloc_defns with output_header. 2011-04-04 Basile Starynkevitch * Makefile.in (MISSINGMELT_PLUGIN_HEADERS): New variable. 2011-04-04 Basile Starynkevitch * Makefile.in (MELT_PLUGIN_HEADERS): Remove $(REG_SET_H). 2011-04-01 Basile Starynkevitch * Makefile.in (MELT_PLUGIN_HEADERS): Add realmpfr.h 2011-04-01 Basile Starynkevitch {{Regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-03-22 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_defvariadic): More. 2011-03-21 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_defvariadic): More. 2011-03-21 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_defvariadic): More. 2011-03-21 Basile Starynkevitch * melt-runtime.c (melt_obmag_string): Remove function, since it is generated in melt/generated/meltrunsup-inc.c 2011-03-21 Basile Starynkevitch {{regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-03-21 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_mag2str): Gets both a code & a declaration strbuf. (runtypesupport_docmd): Update its call accordingly. 2011-03-21 Basile Starynkevitch * melt-runtime.c (melt_obmag_string): #ifdef-ed with MELT_OBMAG_STRING_generated * melt/warmelt-outobj.melt (generate_runtypesupport_mag2str): New function. (runtypesupport_docmd): Call it. 2011-03-19 Basile Starynkevitch * melt-runtime.c (melt_garbcoll): Add more melt_alptr* debugging. 2011-03-19 Basile Starynkevitch * melt-runtime.c (meltgc_make_special): Correct typo on melt_break_alptr_2. (melt_garbcoll): Move the clearing of old special before Cheney loop & root scanning. Add melt_alptr_{1,2} debugging. 2011-03-18 Basile Starynkevitch * melt-runtime.h (melt_magic_discr): Improve melt_fatal_error messages. 2011-03-18 Basile Starynkevitch * melt-runtime.h (melt_magic_discr): Add cast to avoid compiler warnings on %p format. 2011-03-18 Basile Starynkevitch * melt-runtime.h (MELT_POISON_POINTER): New #define-d constant. (melt_magic_discr): Better checks using it. 2011-03-18 Basile Starynkevitch * testsuite/melt/tgcissue-pv-1run.sh: New script. * testsuite/melt/tgcissue-pv-1m.melt: Rename everything as tgcissue. 2011-03-17 Basile Starynkevitch * testsuite/melt/tgcissue-pv-1c.c: Comment typo. * testsuite/melt/tgcissue-pv-1m.melt: Comment typo. 2011-03-17 Basile Starynkevitch * testsuite/melt/tgcissue-pv-1c.c: New file. * testsuite/melt/tgcissue-pv-1m.melt: New file. 2011-03-16 Basile Starynkevitch {{regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-03-16 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_lazy_macro_expansion): Add slazymacro_oper field. (macroexpand_1): Fill it. * melt/warmelt-normal.melt (normexp_lazymacroexp): Use slazymacro_oper field to output a nicer error message for unbound operators. 2011-03-16 Basile Starynkevitch * melt/xtramelt-ana-base.melt (foreach_loop_exit_edges): New iterator. (loop_exit_edges_tuple): New function. * melt/xtramelt-opengpu.melt (opengpudetect_exec): Call it. 2011-03-16 Basile Starynkevitch * testsuite/melt/twrongprim-1.melt: Update comment, since bug fixed. 2011-03-16 Basile Starynkevitch {{regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-03-16 Basile Starynkevitch {{test twrongmelt-1.melt passes}} * melt/warmelt-macro.melt (macroexpand_1): Really return the class_source_lazy_macro_expansion instance. 2011-03-16 Basile Starynkevitch * melt/xtramelt-ana-base.melt (make_empty_basicblock): New. (loop_body_tuple): Move the function after basic block primitives. * testsuite/melt/twrongprim-1.melt: New file. 2011-03-15 Basile Starynkevitch * melt/xtramelt-ana-base.melt (loop_body_tuple): More, and avoid having twice nested curbb variable. 2011-03-15 Basile Starynkevitch * melt-runtime.c (melt_dbgshortbacktrace): Use PTR_UNION_TYPE for dladdr of a function pointer. (meltgc_register_pass): Commented #warning for incomplete transform IPA pass handling. 2011-03-15 Basile Starynkevitch * melt/xtramelt-ana-base.melt (loop_body_tuple): More. 2011-03-14 Basile Starynkevitch {{Regenerated twice}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-03-11 Basile Starynkevitch * Makefile.in (INCLUDES, melt-run.d): Add $(srcdir)/melt/generated because it contains meltrunsup.h 2011-03-10 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_defvariadic): Typo. 2011-03-10 Basile Starynkevitch * melt/warmelt-normal.melt (normexp_defvariadic): More, but still incomplete. * testsuite/melt/tvariadic-1.melt: Update. 2011-03-10 Basile Starynkevitch * melt-runtime.c (melt_dbgshortbacktrace): Nicer printing of dladdr information on closure routines. 2011-03-10 Basile Starynkevitch * melt/warmelt-normatch.melt (normstep_mtestmatcher): Adding more. Should perhaps introduce selectors to make the test & the fill of matchers. 2011-03-09 Basile Starynkevitch * melt/warmelt-normatch.melt (normstep_mtestmatcher): Adding more. 2011-03-09 Basile Starynkevitch {{the tassign-pv-1.melt test case passes}} * melt/warmelt-genobj.melt (compilobj_datastring) (compilobj_databoxedinteger): Initialize :obv_type correctly. 2011-03-09 Basile Starynkevitch * testsuite/melt/tassign-pv-1.melt: New file. 2011-03-09 Basile Starynkevitch * testsuite/melt/tvariadic-1.melt: New file. * testsuite/melt/tmatch-7.melt: Updated comment. * melt/warmelt-macro.melt: Correct documentation of defvariadic. * melt/warmelt-normal.melt (normexp_defvariadic): More, but still incomplete. 2011-03-09 Basile Starynkevitch * melt-runtime.c (load_checked_dynamic_module_index): Add FAIL_BAD macro. (melt_dbgshortbacktrace): Use dladdr when _GNU_SOURCE to show module containing called closures. 2011-03-08 Basile Starynkevitch * melt/warmelt-macro.melt (patmacexpand_for_matcher): Give an error, not a warning, for extra pattern or expression arguments in matcher. * melt/warmelt-normatch.melt: Added more debug messages. * testsuite/melt/tmatch-7.melt: Use an ?(and ...) pattern since ?(some_integer_greater_than ..) dont accept a subpattern. 2011-03-08 Basile Starynkevitch * melt-runtime.c (MELT_READ_TABULATION_FACTOR): New macro constant. (melt_linemap_compute_current_location): New function. (READ_ERROR, READ_WARNING): Call it. (meltgc_infix_lexeme, readsexpr, readmacrostringsequence, readval): Likewise. 2011-03-07 Basile Starynkevitch * Makefile.in (gt-melt-runtime-plugin.h): Also gives meltrunsup.h to gengtype. {{Regenerated all}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/meltrunsup-inc.c: Regenerate. * melt/generated/meltrunsup.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+02.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-03-07 Basile Starynkevitch * meltrunsup.h: Moved to melt/generated/ * meltrunsup-inc.c: Ditto. * Makefile.in (GTFILES, MELT_H, melt_cflags, melt-runtime.o) (MELT_PLUGIN_HEADERS, warmelt-upgrade): Update for meltrunsup* files in melt/generated/ * melt-runtime.c: Add comment about meltrunsup-inc.c in melt/generated/ * melt-runtime.h: Add comment aboutmeltrun.h in melt/generated/ 2011-03-07 Basile Starynkevitch * Makefile.in (GTFILES): Add meltrunsup-inc.c. 2011-03-07 Alexandre Lissy * melt-build.tpl: Fix issues in compilation process for RPM packaging on GCCMELT_MODULE_WORKSPACE. * Makefile.in (MELTHERE_CC1_CFLAGS, mekt_make_cc1flags): Ditto. * melt-build.mk: Regenerate. 2011-03-04 Basile Starynkevitch * warmelt-macro.melt (patmacexpand_for_matcher): Add debug message. * warmelt-normal.melt (normexp_symbol): Added backtrace. * warmelt-normatch.melt: Update copyright year. 2011-03-03 Basile Starynkevitch * testsuite/melt/tmatch-7.melt: Update comment. 2011-02-28 Basile Starynkevitch * melt-runtime.h (melt_check_call_frames): Check only when ENABLE_GC_CHECKING. 2011-02-25 Basile Starynkevitch {{Regenerated}} * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * meltrunsup-inc.c: Regenerate. * meltrunsup.h: Regenerate. 2011-02-09 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_boxingfun): Correct the generation of the test of the magic discriminant within generated updatebox-ing routines. {{Regenerated again}} * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * meltrunsup-inc.c: Regenerate. * meltrunsup.h: Regenerate. 2011-02-09 Basile Starynkevitch * melt-runtime.h (meltgc_new_tree, melt_tree_content) (meltgc_new_gimple, melt_gimple_content, meltgc_new_gimpleseq) (melt_gimpleseq_content, meltgc_new_basicblock) (melt_basicblock_content, melt_basicblock_gimpleseq) (meltgc_new_loop, melt_loop_content, meltgc_new_bitmap) (meltgc_new_rtx, melt_rtx_content, meltgc_new_rtvec) (melt_rtvec_content): Remove declarations or inline functions, since they are now generated in meltrunsup.h & meltrunsup-inc.c files. * melt-runtime.c (meltgc_new_tree, meltgc_new_gimple) (meltgc_new_gimpleseq, meltgc_new_basicblock, meltgc_new_loop) (meltgc_new_rtx, meltgc_new_rtvec, meltgc_new_bitmap): Remove functions which are now generated. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * meltrunsup-inc.c: Regenerate. * meltrunsup.h: Regenerate. 2011-02-09 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_boxingfun): Correct meta-typo in generated code. 2011-02-09 Basile Starynkevitch * melt/.gitignore: New file. 2011-02-09 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_boxingfun): Correct meta-typo in generated code. 2011-02-08 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_boxingfun): New function. (runtypesupport_docmd): Call it. * melt-build.tpl: Copy correctly meltrunsup* to $(GCCMELTRUNGEN_DEST). * melt-build.mk: Regenerate. 2011-02-08 Basile Starynkevitch * Makefile.in (upgrade-warmelt): manually clean after generation of meltrunsup.h 2011-02-08 Basile Starynkevitch {{regenerated}} * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * meltrunsup-inc.c: Regenerate. * meltrunsup.h: Regenerate. 2011-02-08 Basile Starynkevitch * melt/xtramelt-opengpu.melt (opengpu_exec): use correctly loop_body_tuple. 2011-02-08 Basile Starynkevitch * melt/warmelt-first.melt (ctype_tree, ctype_gimple) (ctype_basicblock, ctype_edge, ctype_loop, ctype_bitmap) (ctype_rtx, ctype_rtvec): Fill ctypg_updateboxfun field. 2011-02-08 Basile Starynkevitch * melt/warmelt-first.melt (class_ctype_gty): Add ctypg_updateboxfun field. 2011-02-08 Basile Starynkevitch * melt/xtramelt-ana-base.melt (loop_body): Remove, and rename as... (loop_body_tuple): Add and return a tuple of boxed basic blocks. * melt/xtramelt-opengpu.melt (opengpu_exec): use loop_body_tuple. 2011-02-08 Basile Starynkevitch * Makefile.in (gtype-input.list): Put with gtyp-real-input.list. 2011-02-03 Basile Starynkevitch * melt-build.tpl: Pass melt_extra_flags when compiling generated xtramelt*.c files. * melt-build.mk: Regenerate. * melt/xtramelt-ana-base.melt: Add loop_body. * melt/xtramelt-opengpu.melt: Add more debug messages. But topengpu-0.c crashes it. 2011-02-03 Basile Starynkevitch * testsuite/melt/topengpu-0.c: New file. 2011-02-04 Basile Starynkevitch * melt/xtramelt-opengpu.melt: Require -fgraphite & -floop-parallelize-all 2011-02-03 Basile Starynkevitch * testsuite/melt/topengpu-1.c: Changed comment to pass -fgraphite. 2011-02-02 Basile Starynkevitch * testsuite/melt/topengpu-1.c: Changed comment to pass -floop-parallelize-all. 2011-02-02 Basile Starynkevitch * melt/xtramelt-ana-base.melt (loop_can_be_parallel) (with_cfun_decl, each_bb_current_fun): new. (debugloop): Output to stderr. * melt/xtramelt-opengpu.melt: Changing pass position. Pass becomes a GIMPLE pass, not an IPA one. 2011-02-02 Basile Starynkevitch * melt-runtime.c (load_checked_dynamic_module_index): When verbose_flag should the loaded shared objects. * testsuite/melt/topengpu-1.c: Changed comment. * melt/xtramelt-opengpu.melt: Changing pass position. 2011-02-01 Basile Starynkevitch * melt/warmelt-macro.melt (expand_variadicexpr): Set the varfun_fixedin. * melt/warmelt-normal.melt (normexp_defvariadic): New stub. 2011-02-01 Basile Starynkevitch * melt/warmelt-macro.melt (expand_variadicexpr): New. (mexpand_1): Use it. 2011-02-01 Basile Starynkevitch {{regenerated}} * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0+03.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * meltrunsup-inc.c: Regenerate. * meltrunsup.h: Regenerate. 2011-02-01 Basile Starynkevitch * melt-build.tpl (MELTCCAPPLICATION1): New variable. Use it for translating xtramelt-*.melt files. * melt-build.mk: Regenerate. 2011-02-01 Basile Starynkevitch * melt/warmelt-base.melt (melt_is_bootstrapping): New. * melt/warmelt-macro.melt (mexpand1): Use class_source_lazy_macro_expansion unless bootstrapping. * melt/warmelt-normal.melt (normexp_lazymacroexp): New method for normal_exp of class_source_lazy_macro_expansion. 2011-01-26 Basile Starynkevitch * melt/warmelt-macro.melt (class_source_lazy_macro_expansion): New. (macroexpand_1): Should use it. 2011-01-26 Basile Starynkevitch * Makefile.in (MELT_PLUGIN_HEADERS): Correct typo on meltrunsup.h 2011-01-26 Basile Starynkevitch * testsuite/melt/tfieldkey.melt: New test file. 2011-01-26 Basile Starynkevitch * melt/warmelt-macro.melt (expand_fieldexpr): New. (expand_keywordfun): Incomplete, gets a soper first argument. (macroexpand_1): Call expand_fieldexpr for (:field ) or (field ) 2011-01-26 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_defvariadic): Done, but not debugged. 2011-01-25 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_defvariadic): More code. 2011-01-25 Basile Starynkevitch * melt/warmelt-first.melt (class_variadic_binding): New. * melt/warmelt-macro.melt (mexpand_defvariadic) (class_source_defvariadic, class_source_variadic_application): Start adding support for defvariadic. 2011-01-24 Basile Starynkevitch {{Regenerate}} * meltrunsup-inc.c: Regenerate. * meltrunsup.h: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-first-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-first-0+02.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-macro-0+01.c: Regenerate. * melt/generated/warmelt-macro-0+02.c: Regenerate. * melt/generated/warmelt-macro-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. 2011-01-24 Basile Starynkevitch * melt-build.tpl (melt-sources/*melt): Depends upon melt-source. * melt-build.mk: Regenerate. 2011-01-24 Basile Starynkevitch * melt-predef.list (CLASS_VARIADIC_FUNCTION): New predefined. * melt/warmelt-first.melt (class_variadic_function): New. 2011-01-24 Basile Starynkevitch * melt-runtime.c (readval): Handle the @ macrocharacter, so @x is read as (at x). * melt/warmelt-macro.melt (expand_restlist_as_list, expand_restlist_as_tuple) (expand_pairlist_as_tuple, expand_pairlist_as_list): Macro expansion can return more than one value... 2011-01-24 Basile Starynkevitch * melt/xtramelt-ana-base.melt (each_loop, debugloop): New. * melt/xtramelt-ana-simple.melt: Add default match clause. * melt/xtramelt-opengpu.melt: Add each_loop call. 2011-01-21 Basile Starynkevitch {{the meltrunsup*.[ch] are generated and contain melt runtime support files}} . :: svn-ignore property: Added *.bak & *.old * meltrunsup.h: Add new generated file, included from melt-runtime.h. * meltrunsup-inc.c: Add new generated file, included from melt-runtime.c, in particular... (MELT_DEFINE_MAPTR): remove macro. Don't use meltspecial_st but the particular melspecial*_st names. * melt/WorkInProgress-GenRunTime/: Remove directory. * melt-build.tpl: Backup old meltrunsup* files as *.bak. * melt-build.mk: Regenerate. * melt-runtime.h: Add include of generated meltrunsup.h Remove every old code which has been replaced by generated code. * melt-runtime.c: Add include of generated meltrunsup-inc.c and remove every old code which is not generated. * melt-run.proto.h: Improve comment, telling that meltrunsup.h is generated. {{Regenerate}} * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * Makefile.in (MELT_H): Add generated meltrunsup.h (melt-runtime.o): Add dependency on generated meltrunsup-inc.c (MELT_PLUGIN_HEADERS): Add meltrunsup.h (melt_make_cc1_dependency, gt-melt-runtime-plugin.h): Add $(MELT_H) (upgrade-warmelt): Call melt-generate appropriately and add comment. 2011-01-20 Basile Starynkevitch * melt-runtime.h: Add better support for generating GTY-ed ctypes and argument descriptors. Tricky change, to be kept in sync with generating code in warmelt-outobj.melt. (MELTBP__LAST): Temporarily add with warning. (union meltparam_un): Upgrade comment. (melt_argdescr_cell_t): Add commented typedef. Should be kept in sync with generating code in file melt/warmelt-outobj.melt. (MELT_ARGDESCR_MAX): Add commented #define, likewise. (meltroutfun_t, melt_apply, meltgc_send): Use melt_argdescr_cell_t. * melt-runtime.c (melt_apply): Tricky change! Add check on MELT_ARGDESCR_MAX and change descriptors to melt_argdescr_cell_t strings. Should be kept in sync with generating code in file melt/warmelt-outobj.melt. (meltgc_send): Change signature appropriately with melt_argdescr_cell_t. * melt/warmelt-outobj.melt: Take into account the above changes. Mention them in comments, to be kept in sync with. (outpucod_procroutine): Update emitted signature for procedure routines. (generate_runtypesupport_gty, generate_runtypesupport_param): Emit code using melt_argdescr_cell_t... and check that the number of GTY-ed ctypes is compatibly with MELT_ARGDESCR_MAX. Tricky change to be kept in sync with MELT_ARGDESCR_MAX from melt-runtime.h! {{regenerated}} * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2011-01-20 Basile Starynkevitch * gcc/melt/WorkInProgress-GenRunTime/README : typo. 2011-01-19 Basile Starynkevitch {{experimental, work in progress}} * melt/warmelt-outobj.melt (generate_runtypesupport_mapfun): Barely working. * gcc/melt/WorkInProgress-GenRunTime/* : New experimental & transient code directory. First read the README there. Will generate the runtime support for every ctype (in particular GTY-ed ctypes). Will be removed & incorporated when I am confident enough. 2011-01-19 Basile Starynkevitch {{regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0+01.c: Regenerate. * melt/generated/warmelt-genobj-0+03.c: Regenerate. * melt/generated/warmelt-genobj-0+04.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. 2011-01-19 Basile Starynkevitch * melt/warmelt-outobj.melt (generate_runtypesupport_mapfun): Correct some typos in generated code. 2011-01-19 Basile Starynkevitch * melt/warmelt-base.melt (some_string_value): New cmatcher. * melt/warmelt-outobj.melt (generate_runtypesupport_mapfun): Adding new function, still incomplete. 2011-01-18 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_docmd): Generates terminating comment before outputting meltrunsup* files. 2011-01-18 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_mapobjects, valdesc_mapstrings): Dont emit declaration of dst in :valdesc_copychunk. 2011-01-18 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_closure): Added rout field in MELT_CLOSURE_STRUCT. 2011-01-18 Basile Starynkevitch * melt/warmelt-base.melt: Improve some valdesc_* by adding melt*_ptr_t typedefs. 2011-01-17 Basile Starynkevitch * melt/warmelt-base.melt: Improve valdesc_*. * melt/warmelt-outobj.melt (generate_runtypesupport_scanning): Fix typo in generated code. 2011-01-17 Basile Starynkevitch * melt/warmelt-base.melt: Improve valdesc_*. * melt/warmelt-outobj.melt (generate_runtypesupport_gty): Fix typo in generated code. 2011-01-14 Basile Starynkevitch * melt-build.tpl: Copy both meltrunsup*.c & meltunsup*.h for meltrun_generate. * melt-build.mk: Regenerate. * melt/warmelt-outobj.melt (runtypesupport_docmd): Write the generated files. 2011-01-14 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_param): Revamped as... (generate_runtypesupport_scanning): New revamped function. (runtypesupport_docmd): Call it. 2011-01-13 Basile Starynkevitch * melt/warmelt-outobj.melt (outcinitfill_objinitstring): Add (void) calls to avoid warnings. (generate_runtypesupport_scanning): New revamped function. (runtypesupport_scanforw): Remove since revamped. 2011-01-13 Basile Starynkevitch * melt-runtime.c (meltgc_add_ourt_cstr_len): Better signed int compare to avoid warning. 2011-01-13 Basile Starynkevitch * melt-runtime.h (meltgc_add_out_csubstr_len): New function declaration. (meltgc_add_strbuf_csubstr_len): New macro. * melt-runtime.c (meltgc_add_ourt_cstr_len): Duplicate the string argument. (meltgc_add_out_csubstr_len): New function. * melt/warmelt-base.melt (add2out_cencsubstring): New primitive. * melt/warmelt-outobj.melt (outcinitfill_objinitstring): Output really big string initializations in several calls to memcpy and strncpy, to avoid huge string constants. {{regenerated}} * melt/generated/warmelt-base-0.c: Regenerate. * melt/generated/warmelt-debug-0.c: Regenerate. * melt/generated/warmelt-first-0.c: Regenerate. * melt/generated/warmelt-genobj-0.c: Regenerate. * melt/generated/warmelt-macro-0.c: Regenerate. * melt/generated/warmelt-normal-0+01.c: Regenerate. * melt/generated/warmelt-normal-0+02.c: Regenerate. * melt/generated/warmelt-normal-0.c: Regenerate. * melt/generated/warmelt-normatch-0+01.c: Regenerate. * melt/generated/warmelt-normatch-0+03.c: Regenerate. * melt/generated/warmelt-normatch-0.c: Regenerate. * melt/generated/warmelt-outobj-0+01.c: Regenerate. * melt/generated/warmelt-outobj-0+02.c: Regenerate. * melt/generated/warmelt-outobj-0+03.c: Regenerate. * melt/generated/warmelt-outobj-0+04.c: Regenerate. * melt/generated/warmelt-outobj-0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2011-01-12 Basile Starynkevitch * melt-runtime.h (meltgc_add_out_cstr_len): New function declaration. (meltgc_add_strbuf_cstr_len): New macro. * melt-runtime.c (meltgc_add_out_cstr_len): New function. (meltgc_add_out_cstr): Call the above one. 2011-01-12 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_forwcopy): Remove and revamp as... (generate_runtypesupport_forwcopy_fun): New, which generates the entire melt_forwarded_copy function. 2011-01-12 Basile Starynkevitch * melt-build.tpl: File melt-sources/xtra*.c depends upon melt-modules/warmelt*.so. * melt-build.mk: Regenerate. 2011-01-12 Basile Starynkevitch * melt/warmelt-outobj.melt: Should generate only two files for the runtime, a header and a code file. Update copyright year. (generate_runtypesupport): Remove function. (runtypesupport_objmagic): Revamped as... (generate_runtypesupport_enum_objmagic): New. (runtypesupport_gtystruct): Revamped as... (generate_runtypesupport_gty): New. 2011-01-11 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_gtystruct): Generate typedefs thru quoted code chunks. 2011-01-10 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_gtystruct): Generate more #ifdef-ed typedefs. 2011-01-07 Basile Starynkevitch * melt/warmelt-base.melt: Renamed special_melt_un as melt_special_un. * melt/warmelt-outobj.melt (runtypesupport_gtystruct): Generate #ifdef-ed typedefs. 2011-01-07 Basile Starynkevitch * Makefile.in: Typo about meltrun-generate 2011-01-07 Basile Starynkevitch * melt-runtime.c (melt_output_strbuf_to_file): Use a unique temporary suffix. * melt-build.tpl: Use the -0.c suffix. * melt-build.mk: Regenerate. * melt/generated/ : warmelt*.0.c renamed as warmelt*-0.c * melt/generated/warmelt-base-0.c: Rename and regenerate. * melt/generated/warmelt-debug-0+01.c: Rename and regenerate. * melt/generated/warmelt-debug-0.c: Rename and regenerate. * melt/generated/warmelt-first-0+01.c: Rename and regenerate. * melt/generated/warmelt-first-0+02.c: Rename and regenerate. * melt/generated/warmelt-first-0.c: Rename and regenerate. * melt/generated/warmelt-genobj-0+01.c: Rename and regenerate. * melt/generated/warmelt-genobj-0+02.c: Rename and regenerate. * melt/generated/warmelt-genobj-0+03.c: Rename and regenerate. * melt/generated/warmelt-genobj-0+04.c: Rename and regenerate. * melt/generated/warmelt-genobj-0.c: Rename and regenerate. * melt/generated/warmelt-macro-0+01.c: Rename and regenerate. * melt/generated/warmelt-macro-0+02.c: Rename and regenerate. * melt/generated/warmelt-macro-0+03.c: Rename and regenerate. * melt/generated/warmelt-macro-0.c: Rename and regenerate. * melt/generated/warmelt-normal-0+01.c: Rename and regenerate. * melt/generated/warmelt-normal-0+02.c: Rename and regenerate. * melt/generated/warmelt-normal-0+03.c: Rename and regenerate. * melt/generated/warmelt-normal-0.c: Rename and regenerate. * melt/generated/warmelt-normatch-0+01.c: Rename and regenerate. * melt/generated/warmelt-normatch-0+02.c: Rename and regenerate. * melt/generated/warmelt-normatch-0+03.c: Rename and regenerate. * melt/generated/warmelt-normatch-0.c: Rename and regenerate. * melt/generated/warmelt-outobj-0+01.c: Rename and regenerate. * melt/generated/warmelt-outobj-0+02.c: Rename and regenerate. * melt/generated/warmelt-outobj-0+03.c: Rename and regenerate. * melt/generated/warmelt-outobj-0+04.c: Rename and regenerate. * melt/generated/warmelt-outobj-0.c: Rename and regenerate. * melt/generated/warmelt-base.0.c: Remove and rename. * melt/generated/warmelt-debug.0+01.c: Remove and rename. * melt/generated/warmelt-debug.0.c: Remove and rename. * melt/generated/warmelt-first.0+01.c: Remove and rename. * melt/generated/warmelt-first.0+02.c: Remove and rename. * melt/generated/warmelt-first.0.c: Remove and rename. * melt/generated/warmelt-genobj.0+01.c: Remove and rename. * melt/generated/warmelt-genobj.0+02.c: Remove and rename. * melt/generated/warmelt-genobj.0+03.c: Remove and rename. * melt/generated/warmelt-genobj.0+04.c: Remove and rename. * melt/generated/warmelt-genobj.0.c: Remove and rename. * melt/generated/warmelt-macro.0+01.c: Remove and rename. * melt/generated/warmelt-macro.0+02.c: Remove and rename. * melt/generated/warmelt-macro.0+03.c: Remove and rename. * melt/generated/warmelt-macro.0.c: Remove and rename. * melt/generated/warmelt-normal.0+01.c: Remove and rename. * melt/generated/warmelt-normal.0+02.c: Remove and rename. * melt/generated/warmelt-normal.0+03.c: Remove and rename. * melt/generated/warmelt-normal.0.c: Remove and rename. * melt/generated/warmelt-normatch.0+01.c: Remove and rename. * melt/generated/warmelt-normatch.0+02.c: Remove and rename. * melt/generated/warmelt-normatch.0+03.c: Remove and rename. * melt/generated/warmelt-normatch.0.c: Remove and rename. * melt/generated/warmelt-outobj.0+01.c: Remove and rename. * melt/generated/warmelt-outobj.0+02.c: Remove and rename. * melt/generated/warmelt-outobj.0+03.c: Remove and rename. * melt/generated/warmelt-outobj.0+04.c: Remove and rename. * melt/generated/warmelt-outobj.0.c: Remove and rename. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2011-01-06 Basile Starynkevitch * melt/warmelt-first.melt (class_ctype_gty): Add ctypg_mapunimemb field. (ctype_*) Fill in appropriately. * melt/warmelt-outobj.melt (runtypesupport_gtystruct): Use it. Generate value union. 2011-01-06 Basile Starynkevitch * Makefile.in (upgrade-warmelt): Do meltrun-generate. * melt/warmelt-first.melt (class_ctype_gty): Add ctypg_boxedunimemb field. (ctype_*) Fill in appropriately. * melt/warmelt-outobj.melt (runtypesupport_gtystruct): Use it. 2011-01-06 Basile Starynkevitch * melt-build.tpl: Prefix use of $(MELT_MAKE_MODULE) with +. * melt-build.mk: Regenerate. 2011-01-06 Basile Starynkevitch * melt-module.mk ($(MELTSTAMP)): Backslashify the sole recipe. 2011-01-06 Basile Starynkevitch * melt-build.tpl: Use $(realpath ...) with $(LN_S) * melt-build.mk: Regenerate. 2011-01-05 Basile Starynkevitch * melt/warmelt-base.melt: Typos in valdesc_*. 2011-01-05 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_gtystruct): Use valdesc_declchunk field. 2011-01-05 Basile Starynkevitch * melt/warmelt-base.melt (class_value_descriptor): Add valdesc_declchunk field. (valdesc_object, valdesc_multiple, valdesc_closure) (valdesc_routine): Fill it. 2011-01-05 Basile Starynkevitch * melt/warmelt-first.melt (ctype_value): The argfield is meltbp_vptr. * melt/warmelt-outobj.melt (runtypesupport_param): Generates meltrunsup-param.h correctly. 2011-01-05 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_param): Typos. 2011-01-04 Basile Starynkevitch * melt/warmelt-outobj.melt (runtypesupport_param): Typos. 2011-01-04 Basile Starynkevitch * melt/warmelt-first.melt (retrieve_dictionnary_ctype): Add new exported function. * melt/warmelt-outobj.melt (runtypesupport_param): Use it to generate union meltparam_un. 2011-01-04 Basile Starynkevitch * melt/warmelt-base.melt (valdesc_mapobjects, valdesc_mapstrings): Correct typos. 2011-01-04 Basile Starynkevitch * melt-build.tpl (meltrun-generate): Rename generate-meltrun. Use the GCCMELTRUNGEN_DEST variable. * melt-build.mk: Regenerate. * melt/warmelt-base.melt (valdesc_mapobjects, valdesc_mapstrings): New. 2011-01-03 Basile Starynkevitch * melt-runtime.h (MELT_GENERATE_RUNTIME): Define as 0 temporarily. * melt/warmelt-outobj.melt (runtypesupport_param): New function. (runtypesupport_docmd): Call it, to generate meltrunsup-param.h in the future. 2011-01-03 Basile Starynkevitch * melt-runtime.h: Rename BPARSTR_* as MELTBPARSTR_* everywhere. Remove old backward compatibility hacks. Use meltobj_magic & meltobj_class. * melt-runtime.c: Likewise. * melt/warmelt-outobj.melt (runtypesupport_forwcopy): Add newline generation. 2011-01-03 Basile Starynkevitch {{regenerated}} * melt/generated/gt-melt-runtime-plugin.h: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-macro.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+02.c: Regenerate. * melt/generated/warmelt-macro.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. 2010-12-23 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_defunmatcher, defunmatcher): Apply function argument is optional. 2010-12-16 Basile Starynkevitch {{regenerated}} * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-debug.0+01.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-macro.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+02.c: Regenerate. * melt/generated/warmelt-macro.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+03.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normatch.0+02.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2010-12-16 Basile Starynkevitch * melt-runtime.h: Rename every meltparam_un field from bp_* to meltbp_*. Temporarily add backward compatibility macro. * melt-runtime.c: Ditto. * melt/warmelt-first.melt: Ditto, so generate meltbp_*. * melt/warmelt-outobj.melt: Ditto. 2010-12-15 Basile Starynkevitch * melt-runtime.c: Rename scanning as melt_scanning. (melt_garbcoll): Ditto. * melt/warmelt-outobj.melt: Adding generation of forwarding for melt_scanning in runtime support. 2010-12-15 Basile Starynkevitch * melt/warmelt-macro.melt: workaround a match bug. Shows an informative message for match expressions without default joker clause. 2010-12-14 Basile Starynkevitch {{regenerated}} * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/gt-melt-runtime-plugin.h: Regenerate. 2010-12-14 Basile Starynkevitch * melt/warmelt-base.melt (class_value_descriptor): Add field :valdesc_forwchunk. (valdesc_*) Fill it appropriately in every value descriptor. * melt/warmelt-outobj.melt: Update runtypesupport. * melt/melt-build.tpl (generate-meltrun): Remove the old meltrunsup*.h files. * melt/melt-build.mk: Regenerate. 2010-12-13 Basile Starynkevitch * melt-/warmelt-base.melt (class_value_descriptor): Rename :valdesc_chunk as :valdesc_membchunk field. Add :valdesc_copychunk field. Update every value descriptor instance. * melt/warmelt-outobj.melt: Rename :valdesc_chunk as :valdesc_membchunk * melt-build.tpl: Add generate-meltrun. * melt-build.mk: Regenerate. * Makefile.in (upgrade-warmelt): Invoke generate-meltrun. 2010-12-13 Basile Starynkevitch * melt/warmelt-outobj.melt: Rename ctypesupport mode and routines as runtypesupport. Adding generation of GTY value types. (runtypesupport_gtyvaldesc): New function. 2010-12-12 Basile Starynkevitch * Makefile.in (upgrade-warmelt): Remove temporary quirk for gt-melt-runtime-plugin.h which builds again. Remove $(warning). 2010-12-12 Basile Starynkevitch * Makefile.in (gt-melt-runtime-plugin.h): Run twice gengtype to save the state into gtype-no-melt.state and to generate it. 2010-12-12 Basile Starynkevitch * melt-build.tpl: Add melt-tempbuild. * melt-build.mk: Regenerate. * Makefile.in (MELT_STAGE_ZERO): Defaults to melt-stage0-dynamic. * doc/melt.texi (Lexical MELT convention): Mention $' macrostrings. * melt-runtime.h (meltobj_class, meltobj_magic): New field-like macros. Reformat some code (spacing issue). * melt-runtime.c (READ_WARNING): New macro. (readmacrostringsequence): Handle specially $' at start of macrostrings. * melt/warmelt-first.melt (ctype_bitmap, ctype_rtvec): Become instances of class_ctype_gty. * melt/warmelt-base.melt: Adding description of MELT values GTY-ed datatypes. (class_value_descriptor, class_varisized_value_descriptor): New classes. (retrieve_value_descriptor_list, valdesc_object, valdesc_decay) (valdesc_box, valdesc_multiple, valdesc_closure valdesc_routine) (valdesc_string, valdesc_strbuf, valdesc_pair valdesc_list) (valdesc_int, valdesc_mixint, valdesc_mixloc, valdesc_mixbigint) (valdesc_real, valdesc_special_file, valdesc_special_file) (valdesc_special_raw_file, valdesc_special_mpfr) (valdesc_special_ppl_coefficient) (valdesc_special_ppl_linear_expression) (valdesc_special_ppl_constraint, valdesc_special_ppl_constraint_system) (valdesc_special_ppl_generator, valdesc_special_ppl_generator_system) (valdesc_special_ppl_polyhedron): New values. * melt/warmelt-outobj.melt: Use meltobj_magic & meltobj_class in generated code. {{regenerated all}} * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-12-11 Basile Starynkevitch * melt-runtime.c (meltgc_new_string_nakedbasename): Get the last dot with strrchr! * melt/warmelt-base.melt (informsg_strv): New function. * melt/warmelt-outobj.melt (generate_gplv3plus_copyright_notice_c_comment): New function. (generate_ctypesupport, ctypesupport_enumagic) (ctypesupport_gtystruct): New internal functions. (ctypesupport_docmd): Use them, but still incomplete. 2010-12-10 Basile Starynkevitch * melt/warmelt-base.melt (register_pass_execution_hook) (unregister_pass_execution_hook): New public functions. 2010-12-10 Basile Starynkevitch * melt/warmelt-outobj.melt: outpucod_objputclosurout is numbering its output in asserts. {{regenerated}} * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-12-10 Basile Starynkevitch * melt-build.tpl (melt-sources/[+includeload+]): Better. * melt-build.mk: Regenerate. * melt-runtime.h: Add FSYSDAT_PASSEXEC_HOOK. (meltgc_notify_sysdata_passexec_hook): New declaration. * melt-runtime.c (melt_passexec_callback): New function. (meltgc_notify_sysdata_passexec_hook): New function. * melt/warmelt-first.melt: Add field :sysdata_passexec_hook to class_initial_system_data. {{regenerated}} * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-12-07 Basile Starynkevitch * melt-build.tpl (melt-sources/[+includeload+]): copy it properly. * melt-build.mk: Regenerate. 2010-12-07 Basile Starynkevitch * Makefile.in (install-melt-cfiles, install-melt-meltfiles): Use basename. 2010-12-07 Basile Starynkevitch * Makefile.in (install-melt-cfiles): Use melt-sources! 2010-12-07 Basile Starynkevitch * Makefile.in (install-melt-dynlib): Use DESTDIR everywhere. * melt-build.tpl: Update to remove first empty lines in generated melt-build.mk. * melt-build.mk: Regenerate. 2010-12-07 Basile Starynkevitch * melt-runtime.c (compile_gencsrc_to_binmodule): Remove any .so .d.so .n.so suffix of the module before passing it as GCCMELT_MODULE_BINARY to make. Also change the maketarget which is the default topmaketarget. * melt-module.mk: Update comment. 2010-12-07 Basile Starynkevitch * melt-build.tpl: Add rules for generating *.d.so & *.n.so modules. Add meltgendoc.texi target. * melt-build.mk: Regenerate. * Makefile.in (install-melt-dynlib): Correct using basename. (upgrade-warmelt): Use warmelt-upgrade-translator. * melt-module.mk (GCCMELT_MODULE_BINARY): Should not end with .so. (MELTMODULE_OPTIMIZED): New variable. (melt_module,melt_module_dynamic,melt_module_rawdynamic): Use it. ($(MELTMODULE_OPTIMIZED),$(MELTMODULE_NOLINE),$(GCCMELT_MODULE_WORKSPACE)/%.nolpic.o): Update, notably for explicit -g compilation flag. ($(MELTSTAMP)): Update. * melt-runtime.h (melt_object_get_field_at, melt_getfield_object): Update for melt_dynobjstruct_getfield_object_at. (melt_dynobjstruct_make_raw_object): Has new deflenptr parameter. (melt_raw_object_create_at, melt_make_raw_object): Provide it. * melt-runtime.c (do_finalize_melt): Don't free each parsefilnam in parsedmeltfilevect. (melt_dynobjstruct_fieldoffset_at) (melt_dynobjstruct_classlength_at): Don't fatal, just warn when fail. * melt/warmelt-normal.melt (normexp_export_class): Remove a temporary check when retrieving the mocx_expclassdict & :mocx_expfieldict. Add assert that exported class & field dictionnaries exist. * melt/warmelt-outobj.melt (outpucod_objrawallocobj): Output also a comment. (compile_list_sexpr): The exported class & field dictionnaries exist are made larger. {{regenerated}} * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+02.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-debug.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+03.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-macro.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-12-06 Basile Starynkevitch * melt-built.tpl (warmmelt-upgrade-translator): Does work now. * melt-build.mk: Regenerate. * Makefile.in (MELT_HERE_CFLAGS): Remove -g & -gtoggle. {{regenerated the MELT translator}} * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-debug.0+01.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-macro.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+02.c: Regenerate. * melt/generated/warmelt-macro.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+03.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normatch.0+02.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. 2010-12-06 Basile Starynkevitch * common.opt (-fmelt-debug-skip): Add synonym for -fmelt-debugskip. (-fmelt-bootstrapping): Add new flag. * melt-runtime.c (flag_melt_bootstrapping): Add for plugins. (melt_argument): Handle debug-skip synonym and bootstrapping. (compile_gencsrc_to_binmodule, meltgc_make_load_melt_module) (meltgc_load_modulelist, meltgc_read_file): Handle bootstrapping by skipping builtin or environment directories. (melt_really_initialize): Show a message when bootstrapping. * mel-build.tpl (meltarg_bootstrapping): New. (MELTCCINIT1, MELTCCFILE1): Use it. (empty-file-for-melt.c): Add. * melt-built.mk: Regenerate. 2010-12-06 Basile Starynkevitch * Makefile.in: Remove include melt-make.mk, use melt-build.mk instead. (melt-build.mk): New autogen based rule. (install-melt-dynlib): Use melt-all-modules. (install-melt-cfiles, -install-melt-meltfiles): Use melt-all-sources. (upgrade-warmelt): Use warmelt-upgrade-translator in melt-build.mk * melt-make.mk: Remove file. * xtramelt-ana-base.melt (tree_real_type): size is a tree! * xtramelt-c-generator.melt (traverse_function_body): successor is a basic_block. * melt-build.mk: New autogen generated file. * melt-build.tpl: Typo in application MELT handing. 2010-12-05 Basile Starynkevitch * melt-build.tpl: Add more generation... * melt-runtime.h (melt_getfield_object_at): Improve error emssage. * melt/warmelt-base.melt: Added make_string_mixloc_file. * melt/warmelt-outobj.melt (outpucod_objputuple): make the assert message unique to help find bugs. 2010-12-03 Basile Starynkevitch * melt-build.tpl: Adding last stage... * Makefile.in: temporary ifdef MELT_NEW_MAKE. 2010-12-03 Basile Starynkevitch * melt-build.def (melt_stage): New variable. (includeload): New field. * melt-build.tpl: Use them. 2010-12-03 Basile Starynkevitch * melt-runtime.c (meltgc_make_load_melt_module): Don't test melt_module_dir... (meltgc_read_file): Look into source path, builtin source directory, and GCCMELT_SOURCE_PATH. 2010-12-03 Basile Starynkevitch * melt-runtime.c (meltgc_make_load_melt_module): Add additional notice messages on failure. * melt-build.def: Improve. 2010-12-02 Basile Starynkevitch * melt-build.def: New file. * melt-build.tpl: New file. 2010-12-01 Basile Starynkevitch * melt-make.mk: Add explanatory temporary warning. 2010-12-01 Basile Starynkevitch * melt/warmelt-first.melt: Add space. * melt/warmelt-macro.melt (mexpand_defselector): More precise error messages for bad class. * melt/warmelt-outobj.melt (orted_named_dict_tuple): Use foreach_in_mapstring. (output_exported_offsets): More debug messages, and generate the count. * testsuite/melt/tminiclass.melt: New file. 2010-12-01 Basile Starynkevitch {{merged with trunk rev 167323, and regenerated}} * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-12-01 Basile Starynkevitch * melt-runtime.h (FGCCTRIPAPASS_STMT_FIXUP) (FGCCTRIPAPASS_FUNCTION_TRANSFORM) (FGCCTRIPAPASS_VARIABLE_TRANSFORM): Add new enum to access fields inside class_gcc_transform_ipa_pass * melt-runtime.c (meltgc_register_pass): Add temporary warning because MELT transform IPA passes are not handled. |FIXME!] * melt/warmelt-first.melt (class_gcc_transform_ipa_pass): Name fields gcctripapass_* (container_ctype_gty_dict): New instance. (install_ctype_descr): Use it. (ctype_tree, ctype_gimple, ctype_gimple_seq, ctype_basic_block): Become instances of class_ctype_gty. (ctype_edge, ctype_loop, ctype_rtx): Ditto. (retrieve_dictionnary_ctype_gty): New function. * melt/warmelt-normal.melt (normexp_let): Check ctype compatibility in let bindings. * melt/warmmelt-genobj.melt (compilmatcher_cmatcher): Fix ctype binding mistake. * melt/warmelt-outobj.melt: Adding ctypesupport mode. * melt/xtramelt-ana-base.melt (gimple_iterator): Fixed ctype mistake. {{regenerated}} * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+03.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-12-01 Basile Starynkevitch * melt-first.melt (class_ctype_gty): New predefined class. {{regenerated all}} * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-macro.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+02.c: Regenerate. * melt/generated/warmelt-macro.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Regenerate. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-11-30 Basile Starynkevitch * melt-predef.list: Adding CLASS_CTYPE_GTY. * melt/warmelt-macro.melt (class_source_define): Add missing superclass. (mexpand_defclass): Errror if missing superclass on a non-predefined class. 2010-11-30 Basile Starynkevitch * Makefile.in (melt_make_cc1flags, melt_cflags): Put -I. in front. 2010-11-30 Basile Starynkevitch * melt/warmelt-normal.melt: Give an error for inappropriate fields in definstance. * melt/warmelt-outobj.melt: Change offset in compile2obj_procedure to generate slightly smaller main C file. {{regenerated all}} * melt/generated/warmelt-normatch.0+01.c: Regenerate. * melt/generated/warmelt-first.0.c: Regenerate. * melt/generated/warmelt-normatch.0+02.c: Regenerate. * melt/generated/warmelt-normal.0.c: Regenerate. * melt/generated/warmelt-normatch.0+03.c: Regenerate. * melt/generated/warmelt-macro.0.c: Regenerate. * melt/generated/warmelt-outobj.0.c: Regenerate. * melt/generated/warmelt-debug.0+01.c: Regenerate. * melt/generated/warmelt-first.0+01.c: Regenerate. * melt/generated/warmelt-first.0+02.c: Add new generated file. * melt/generated/warmelt-genobj.0.c: Regenerate. * melt/generated/warmelt-normal.0+01.c: Regenerate. * melt/generated/warmelt-normal.0+02.c: Regenerate. * melt/generated/warmelt-normal.0+03.c: Regenerate. * melt/generated/warmelt-base.0.c: Regenerate. * melt/generated/warmelt-normatch.0.c: Regenerate. * melt/generated/warmelt-macro.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+01.c: Regenerate. * melt/generated/warmelt-macro.0+03.c: Regenerate. * melt/generated/warmelt-outobj.0+02.c: Regenerate. * melt/generated/warmelt-genobj.0+01.c: Regenerate. * melt/generated/warmelt-outobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+02.c: Regenerate. * melt/generated/warmelt-outobj.0+04.c: Regenerate. * melt/generated/warmelt-genobj.0+03.c: Regenerate. * melt/generated/warmelt-genobj.0+04.c: Add new generated file. * melt/generated/warmelt-debug.0.c: Regenerate. 2010-11-29 Basile Starynkevitch * passes.c: Display more about executed passes. * melt-predef.list: Add CLASS_GCC_TRANSFORM_IPA_PASS. * melt/warmelt-first.melt: Add class_gcc_any_ipa_pass & class_gcc_transform_ipa_pass. * melt/xtramelt-ana-base.melt: Add debugeprintf inside each_cgraph_fun_call_flow_graph. * melt/xtramelt-opengpu.melt: Add comment about other pass positions. and more gccpass_todo_* flags. * testsuite/melt/topengpu-1.c: Update comment. 2010-11-26 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Add each_cgraph_fun_call_flow_graph. * melt/xtramelt-opengpu.net: Use it. 2010-11-24 Basile Starynkevitch * testsuite/melt/topengpu-1.c: improved comment. * melt/warmelt-debug.melt: improved for stddump... * melt/xtramelt-ana-base.melt: adding each_cgraph_fun_call_flow_graph * melt/xtramelt-opengpu.melt: more 2010-11-23 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Improve each_cgraph_fun_entryblock which also gives the exit block. * melt/xtramelt-ana-simple.melt: Change smallanapass_exec for above improvement. * melt/xtramelt-opengpu.melt: Change opengpudetect_exec likewise. 2010-11-23 Basile Starynkevitch * testsuite/melt/topengpu-1.c: improved comment. * melt/warmelt-macro.melt: start adding (define ...) ie class_source_define and mexpand_define. * melt/xtramelt-opengpu.melt: added more debug printing. 2010-11-22 Basile Starynkevitch * melt/xtramelt-ana-base.melt: slightly improved iterators with better generated comments. * melt/xtramelt-opengpu.melt: added iteration which core dumps... 2010-11-22 Basile Starynkevitch * Makefile.in (REALGTMELTPLUGINFILES): filtering out everymelt-*.[ch] file. Added temporarily a warning! {{regenerated files}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+04.c: New file. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-11-22 Basile Starynkevitch * melt/warmelt-debug.melt: use stdump orelse stderr for out... * melt/xtramelt-opengpu.melt: added more debug. * testsuite/melt/topengpu-1.c: added #include needed for size_t and removed atoi... 2010-11-22 Basile Starynkevitch * melt-runtime.c: replaced strerror by xstrerror everywhere, while merging with trunk 167021. 2010-11-22 Basile Starynkevitch * melt-runtime.c (meltchar_p): renamed char_p type as meltchar_p to avoid clashes. 2010-11-19 Basile Starynkevitch * gcc/testsuite/melt/topengpu-1.c: new file. * melt/xtramelt-opengpu.melt: Added pass. 2010-11-19 Basile Starynkevitch * Makefile.in (install-melt-dynlib, install-melt-cfiles) (install-melt-meltfiles, install-melt-otherfiles): Use DESTDIR. 2010-11-19 Basile Starynkevitch * melt-runtime.c (meltgc_new_split_string): Stop splitting when null character! * Makefile.in (MELT_RAW_CFLAGS): Force -O, which is always added to compile MELT generated C code. * melt-make.mk (XTRAMELT_FILES): added xtramelt-opengpu.melt file. (xtramelt-opengpu.c): New target. * melt/xtramelt-opengpu.melt: Added new file stub. 2010-11-05 Basile Starynkevitch MELT branch merged with trunk rev 166377 * Makefile.in (MELT_RAW_CFLAGS): removed LIBELFINC 2010-10-19 Basile Starynkevitch * melt/warmelt-outobj.melt: added nop mode. 2010-10-19 Basile Starynkevitch * melt-runtime.c (meltgc_make_special): Moved function out of ENABLE_CHECKING... 2010-10-19 Basile Starynkevitch * melt-runtime.c: Every #ifdef MELT_IS_PLUGIN is #endif-ed with a comment. Also corrected typo. (melt_really_initialize): Ensure that meltgc_make_special exists. * melt-runtime.h (MELT_MODULE_VISIBILITY, MELT_PLUGIN_VISIBILITY): Added or moved from melt-run.proto.h (meltgc_make_special): Made publicly visible. * melt-run.proto.h (MELT_MODULE_VISIBILITY) : moved to melt-runtime.h. 2010-10-19 Basile Starynkevitch * melt-runtime.h (meltgc_make_special): Declared extern. * melt-runtime.c (melt_really_initialize): Indented comment. 2010-10-19 Basile Starynkevitch * melt-make.mk (melt_make_cc1_dependency): Added variable. (warmelt*.c): use it. * Makefile.in: set it. 2010-10-18 Basile Starynkevitch * melt-make.mk: added warmelt0. 2010-10-17 Basile Starynkevitch * melt-make.mk: use warmelt-%.so instead of warm%.so 2010-10-17 Basile Starynkevitch * Makefile.in: Added comment about keeping in sync with contrib/build-melt-plugin.sh. * melt-runtime.c: Added missing macro ggc_alloc_meltmixloc_st. 2010-10-17 Basile Starynkevitch * melt-runtime.h: debumsgval undefined without ENABLE_CHECKING * melt-runtime.c: mismatched parenthesis in ggc_alloc_* macro definitions for plugin 4.5 ... 2010-10-17 Basile Starynkevitch * gengtype.c (main): Changed fatal to warning for plugin mode without state file. Remove double parsing of plugin files. {{regenerated MELT related files}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-10-17 Basile Starynkevitch * melt/warmelt-outobj.melt: melt help printed shorter. 2010-10-17 Basile Starynkevitch * melt/xtramelt-ana-simple.melt: updared MELT help string. * melt/xtramelt-c-generator.melt: ditto. * melt/warmelt-outobj.melt: ditto. 2010-10-17 Basile Starynkevitch * melt/warmelt-macro.melt: removed debug prints from mexpand_defclass * melt/warmelt-outobj.melt: added help mode. 2010-10-17 Basile Starynkevitch * gengtype.c (parse_program_options): Allocate plugin_files. * Makefile.in (gt-melt-runtime-plugin.h): fix gengtype invocation. 2010-10-16 Basile Starynkevitch * Makefile.in (MELT_PLUGIN_HEADERS): temporarily added $(REGSET_H) which should go into $(PLUGIN_HEADERS) 2010-10-13 Basile Starynkevitch * melt/warmelt-macro.melt: changed indentation. 2010-10-10 Basile Starynkevitch * melt/warmelt-genobj.melt: (compilobj_nrep_altmatch) added more... but still incomplete... 2010-10-09 Basile Starynkevitch * melt-make.mk (warm%.so): added dependency to cc1 2010-10-08 Basile Starynkevitch * melt/warmelt-base.melt (make_string_generated_c_filename): New primitive. * melt/warmelt-outobj.melt (translatetomodule_docmd): The generated C files are kept in the current directory. 2010-10-07 Basile Starynkevitch * melt-runtime.h (meltgc_sort_multiple): updated comment. * melt-runtime.c (melt_mode_string, melt_old_mode_string) (melt_argument_string, melt_arglist_string) (melt_compile_script_string, count_melt_debugskip_string) (melt_dynmodpath_string, melt_srcpath_string, melt_init_string) (melt_secondargument_string, melt_tempdir_string): options are conditionally #undef-ed (for GCC 4.6) or poisoned (for 4.5). (mulsort_cmp): The sorting function can also return multiply a non-nil value and a long... * melt/warmelt-debug.melt: display all object fields on debug_msg at depth 0. * melt/warmelt-normatch.melt: more of normexp_altmatch & renamed altmatch_normalize_match_case as altmatch_normalize_match_context and remove the tuple of cases argument. * melt/warmelt-genobj.melt: added compilobj_nrep_altmatch incomplete stub. * testsuite/melt/tmatch-6.melt: updated test. 2010-10-06 Basile Starynkevitch {{regenerated all MELT files}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-09-29 Basile Starynkevitch * testsuite/melt/tmatch-6.melt: updated comment. * melt/warmelt-normatch.melt: completed normstep_msuccwhenflag. 2010-09-27 Basile Starynkevitch * testsuite/melt/tmatch-7.melt: has a complex match input argument to test its normalization. * melt/warmelt-normatch.melt: still improving normstep_mtestmatcher. 2010-09-23 Basile Starynkevitch * testsuite/melt/tmatch-7.melt: Added new file. * melt/warmelt-normatch.melt: improving normstep_mtestmatcher. 2010-09-19 Basile Starynkevitch [[merged with trunk rev.164348, so improved MELT runtime!]] * melt-runtime.h: improved comments. (melt_debug_garbcoll, melt_debuggc_eprintf): Moved from melt-runtime.c. (melt_obmag_string): New declaration. (struct meltobject_st, struct meltclosure_st, struct meltroutine_st, struct meltmixbigint_st, struct meltstring_st): using GTY variable_size and @@MELTGTY@@ comment. (melt_mark_special): added debug print. * melt-runtime.c: Improved comments. Include bversion.h, realmpfr.h, gimple-pretty-print.h. (ggc_force_collect) Declared external. (melt_forward_counter): Added. (melt_obmag_string): New function. (melt_alptr_1, melt_alptr_2, melt_break_alptr_1_at) (melt_break_alptr_2_at, melt_break_alptr_1,melt_break_alptr_1) (melt_allocate_young_gc_zone, melt_free_young_gc_zone): New. (delete_special, meltgc_make_special): Improved debug printf and use melt_break_alptr_1... (ggc_alloc_*) macros defined for backport to GCC 4.5 (melt_forwarded_copy): Don't clear the new destination zone in old GGC heap. (meltgc_add_out_raw_len): Use ggc_alloc_atomic. (meltgc_raw_new_mappointers, meltgc_raw_put_mappointers) (meltgc_raw_remove_mappointers): Corrected length argument to ggc_alloc_cleared_vec_entrypointermelt_st. (melt_really_initialize): Call melt_allocate_young_gc_zone. (melt_initialize): Set flag_plugin_added. (melt_val2passflag): TODO_verify_loops only in GCC 4.5 2010-08-31 Jeremie salvucci * xtramelt-ana-base.melt (gimple_iterator): Iterator added for gimple. * xtramelt-c-generator.melt: Added new file. 2010-08-16 Jeremie salvucci * xtramelt-ana-base.melt (tree_void_type) : Pattern added for void type. (tree_indirect_reference) : Pattern added for indirect reference. (tree_address_expression) : Pattern added for address expression. (tree_component_ref) : Pattern added for structure. (tree_record_type) : Pattern added for structure fields. (tree_field_declaration) : Pattern added for an access to a field declaration. 2010-07-20 Jeremie Salvucci * xtramelt-ana-base.melt (tree_string_cst) : Added. (tree_real_cst) : Exported. 2010-07-15 Jeremie Salvucci * xtramelt-ana-base.melt (gimple_nb_succ) : Exported. 2010-07-14 Jeremie Salvucci * xtramelt-ana-base.melt (gimple_assign_unary_minus) : Added unary minus matcher. (gimple_cond_equal) : Added matcher on logical operator greater or equal. 2010-07-14 Basile Starynkevitch * melt/warmelt-outobj.melt: force full GC in translateinit mode. {{regenerated all}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-07-14 Basile Starynkevitch {{regenerated all}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-07-14 Basile Starynkevitch * melt/warmelt-base.melt: added melt_mode_container. * melt/warmelt-macro.melt: check for CLASS_SELECTOR in defselector disabled when the melt_mode_container contains something. * melt/warmelt-outobj.melt: disable defselector warning above in makedoc mode thru melt_mode_container. 2010-07-12 Basile Starynkevitch * melt/warmelt-macro.melt (mexpand_defselector): check the class in defselector & improved messages... 2010-07-12 Basile Starynkevitch {{preparing for merge with better 4.6 trunk with typed GGC}} * melt-make.mk (warmelt-*0.so, warmelt-first.1.c): added dependencies on melt-runtime.h & melt-runtime.c. * melt-runtime.h: improved typos, and removed mapgimpleseqnodes useless dirt like u_mapgimpleseqnodes... * melt-runtime.c (ggc_alloc_cleared_melt*) (ggc_alloc_cleared_vec_*melt*): added macros for 4.5 compatibility & future 4.6 compatibility. (melt_forwarded_copy): Use them. 2010-07-10 Basile Starynkevitch {{tbad-3.melt correctly failing}} * melt/warmelt-base.melt: Added string!= * melt/warmelt-macro.melt: Added check in mexpand_defclass to catch redefinition of fields! * testsuite/melt/tbad-3.melt: Typo. 2010-07-10 Basile Starynkevitch {{added tbad-3.melt which should fail but don't}} * testsuite/melt/tfullgc.melt: Updated comment. * testsuite/melt/tbad-3.melt: New file. 2010-07-10 Basile Starynkevitch {{full GC works again!}} * melt-runtime.c (melt_debuggc_eprintf): Added macro. (melt_fullperiod): Declared static variable. (melt_argument): Handle "full-period". (delete_special): Added debug print. (debughack_file): Removed definition. (melt_check_call_frames_at): No more debughack_file. (melt_caught_assign_at, melt_cbreak_at): Ditto. (melt_marking_callback): Updated comments & debug prints. (melt_garbcoll): Added debug prints. Use and initialize if needed melt_fullperiod. The clearing of marks on the old special list is moved to avoid crashing. Updated comments. Removed debughack_file use. (scanning): For ALL_MELTOBMAG_SPECIAL_CASES set the mark. (meltgc_make_load_melt_module): Better debugprint. * params.def (PARAM_MELT_FULL_PERIOD): Added parameter. 2010-07-07 jeremie Salvucci * xtramelt-ana-base.melt (gimple_assign_binaryop) : I changed the test which didn't work on the number of ops. 2010-07-06 Jeremie Salvucci * xtramelt-ana-base.melt (tree_var_decl) : Now we have an access to the type of a variable declaration and to its uid. * xtramelt-ana-base.melt (tree_uid) : Useful to get the uid of a tree. * xtramelt-ana-simple.melt : modifications of tree_var_decl calls. 2010-07-02 Basile Starynkevitch * melt-runtime.h: Replaced OBMAG_... by MELTOBMAG_... everywhere, so have MELTOBMAG_OBJECT etc. * melt-runtime.c: Ditto. * melt-run.proto.h: Likewise. * melt/warmelt-first.melt: Likewise. * melt/warmelt-normal.melt: Likewise. * melt/warmelt-base.melt: Likewise. * melt/xtramelt-ana-base.melt: Likewise. * melt/warmelt-macro.melt: Likewise. * melt/warmelt-outobj.melt: Likewise. * melt/warmelt-genobj.melt: Likewise. {{regenerated all several times}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-07-02 Basile Starynkevitch * melt-runtime.h (melt_un_t): Recoded the special cases as u_special_file, u_special_rawfile, u_special_mpfr, u_special_ppl_coefficient, u_special_ppl_linear_expression, u_special_ppl_constraint, u_special_ppl_constraint_system, u_special_ppl_generator, u_special_ppl_generator_system, u_special_ppl_polyhedron. 2010-07-02 Basile Starynkevitch * Makefile.in (clean): Cleaning better the MELT generated files. 2010-07-02 Jeremie Salvucci * melt/xtramelt-ana-base.melt: The matcher tree_integer_type has been splitted into several submatchers to be closer to the tree type. We now have tree_integer_type and tree_declaration to traverse a function_type tree. Matcher tree_any_type_float renamed in tree_real_type. 2010-07-02 Basile Starynkevitch * melt-runtime.h (melt_un_t): Added missing tag ("OBMAG_SPEC_RAWFILE")!! * melt-runtime.c (melt_forwarded_copy): Added debug message when melt_debug_garbcoll > 1. (meltgc_make_load_melt_module): Added debug message. 2010-07-02 Basile Starynkevitch * melt-runtime.c (melt_debug_garbcoll): added variable. (melt_marking_callback): more debug messages when melt_debug_garbcoll. (melt_garbcoll): Added debug messages and simplified code. * testsuite/gcc/melt/tfullgc.melt: (*toplevel*) corrected melt_sparebreakpoint_[12]. 2010-07-01 Jeremie Salvucci * melt/xtramelt-ana-base.melt: Added foreach_argument_in_function_tree & tree_function_type. Updated tree_integer_type. 2010-07-01 Basile Starynkevitch {{try hard to detect that the melt-run.h is the good one by generating it with a unique hash}} * Makefile.in (melt-run.h): is generated from melt-run.proto.h and contains a generated #define MELT_RUN_HASHCMD5 * melt-run.h: removed file, since renamed to melt-run.proto.h & generated. * melt-run.proto.h: added file, was melt-run.h before. Got $Id$ inside. * melt-runtime.h (meltgc_output_file, melt_sparebreakpoint_1) (melt_sparebreakpoint_2): Added declarations * melt-runtime.c (load_checked_dynamic_module_index): Uses & checks the used_meltrun_md5_melt. (melt_output_cfile_decl_impl_secondary): Generates used_meltrun_md5_melt. (meltgc_output_file, melt_sparebreakpoint_1_at) (melt_sparebreakpoint_2_at): Added new functions. * melt/warmelt-outobj.melt: Generates clearing of initial frame in startup routine. * testsuite/gcc/melt/tfullgc.melt: added calls to melt_sparebreakpoint_[12] to ease debugging. 2010-07-01 Basile Starynkevitch {{tfullgc.melt still crashes!}} * melt-runtime.h: Added $Id$ comment & svn:keywords property. * melt-runtime.c: ditto. * melt/warmelt-outobj.melt: Generating dbgprintf in the forward_or_mark_module_start_frame_* generated routines. 2010-06-30 Basile Starynkevitch * melt-runtime.c (melt_marking_callback): Made better cast for call to cf->mcfr_forwmarkrout. 2010-06-30 Basile Starynkevitch {{hopefully corrected full GC bug: the initial module frames have not being forwarded! So regenerated & redefined the generated marking & forwarding routines in module start.}} * Makefile.in (melt-run-deps): Also copy melt-run.h! * melt-run.h: Added & explained $Id$ comment and set explicitly svn:keywords property to Id. * melt-runtime.h (melt_is_forwarding): added external declaration. (MELT_FORWARDED_DISCR, melt_forwarded_copy, melt_is_young) (melt_forwarded, MELT_FORWARDED): added declarations or inline functions [moved from melt-runtime.c where there had no melt_* prefix]. (mcfr_markrout_, mcfr_markrout): removed fields from (struct callframe_melt_st). (mcfr_forwmarkrout_, mcfr_forwmarkrout): added fields. Impropved comments & spacing. * melt-runtime.c (melt_is_forwarding): added definition of variable. (FORWARDED_DISCR, forwarded_copy, is_young) (forwarded, FORWARDED): removed functions or macros, they have been added with a melt_ prefix to melt-runtime.h (melt_garbcoll): sets melt_is_forwarding. Calling cfram->mcfr_forwmarkrout with 0 as marking flag & a changed signature. Added debug messages. (scanning): replaced FORWARDED with MELT_FORWARDED. (meltgc_load_modulelist): improved error message. * melt/warmelt-outobj.melt: Generate a mcfr_initforwmarkrout field. The generated module data initializer routine is named initialize_module_meltdata_*. Generate a forward & marking routine named forward_or_mark_module_start_frame_* with a changed signature and sets the mcfr_forwmarkrout field to it. Generate the forwarding code. * testsuite/gcc/melt/tfullgc.melt: Updated command in comment. {{regenerated all twice}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-29 Basile Starynkevitch * melt-runtime.c (melt_marking_callback): Made better debug print... 2010-06-29 Basile Starynkevitch * melt-runtime.h: mcfr_nbvar is a signed int. * melt-runtime.c (melt_marking_callback): Added debug print... * melt/warmelt-macro.melt: in macroexpanders of get_field & unsafe_get_field added check that an object is given. * melt/warmelt-outobj.melt: in the initial frame, the nbvar is set to a small negative quasirandom magic, and checked in the generated marking routine. * melt/xtramelt-ana-base.melt: added gimple_copy. 2010-06-29 Basile Starynkevitch * melt-run.h (MELT_SET_MODULE_INITIAL_FRAME) (MELT_CLEAR_MODULE_INITIAL_FRAME): Removed. * melt-runtime.h (struct callframe_melt_st): renamed fields to mcfr_nbvar, mcfr_flocs, mcfr_closp, mcfr_markrout & added mcfr_un_ union. Special frames with negative mcfr_nbvar have their own marking routines. (melt_curframdepth, MELT_DECLFRAME, MELT_INITFRAME_AT) (MELT_LOCATION, MELT_LOCATION_HERE_AT, MELT_INITFRAME) (MELT_EXITFRAME): Updated accordingly. * melt-runtime.c: Ditto. (melt_module_info_t): Removed iniframp & marker_rout. (melt_marking_callback): Added marking of special frames. * melt/warmelt-outobj.melt: Updated for new conventions. Don't generate MELT_SET_MODULE_INITIAL_FRAME & MELT_CLEAR_MODULE_INITIAL_FRAME. Generating the marking routine mark_module_start_frame_XXX for the start routine. {{regenerated all many times}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-29 Basile Starynkevitch * melt-make.mk: replaced run-melt.h by melt-run.h everywhere. 2010-06-29 Basile Starynkevitch * Makefile.in (MELT_OBJ): removed definition, use melt-runtime.o. (melt-run-md5.h): Added its generation. * run-melt.h: removed file, by renaming it as... * melt-run.h: new file, it was run-melt.h previously. (MELT_SET_MODULE_INITIAL_FRAME, MELT_CLEAR_MODULE_INITIAL_FRAME): Added macros. * melt-make.mk: added warmelt2n target... * melt-runtime.h (melt_run_preprocessed_md5): added declaration. (struct callframe_melt_st) Added FIXME comment. * melt-runtime.c (melt_marking_callback): added debug messages & FIXME comment. (struct melt_module_info_st): Added FIXME comment. (load_checked_dynamic_module_index): Use dynmd5prepromeltrun... Removed duplicate tests. (melt_output_cfile_decl_impl_secondary): Generate md5prepromeltrun_melt. Added include of generated melt-run-md5.h. * melt/warmelt-outobj.melt: added generation of MELT_SET_MODULE_INITIAL_FRAME & MELT_CLEAR_MODULE_INITIAL_FRAME. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-27 Basile Starynkevitch * testsuite/gcc/melt/tfullgc.melt: Added new file. 2010-06-27 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): The message depends upon MELT_IS_PLUGIN. 2010-06-27 Basile Starynkevitch * melt-make.mk (warmelt*.so): added explicit dependencies on elt-predef.h run-melt.h melt-runtime.h cc1$(exeext) to ensure rebuild. 2010-06-25 Basile Starynkevitch * melt-module.mk (meltmodule, meltmoduledynamic) (meltmodulerawdynamic, meltmodulewithoutline, meltclean): Phony targets renamed as melt_module melt_module_dynamic melt_module_rawdynamic melt_module_withoutline melt_clean, because they are somehow wired in melt-runtime.c. * melt-make.mk: Use new target names, see above! * melt-runtime.h (meltgc_load_melt_module) Removed declaration, since (meltgc_make_load_melt_module): Added declaration, with maketarget argument. (meltgc_generate_melt_module): Removed declaration, since (meltgc_generate_melt_module): Added declaraton, with maketarget argument. (MELT_INITFRAME_AT): Increased static buffer size for location. (MELT_LOCATION_HERE_AT): Ditto. * melt-runtime.c (compile_gencsrc_to_binmodule): Got extra topmaketarget argument and use it in the generated make command. Changed notice message when sucessfully built a module. (meltgc_load_melt_module): renamed as... (meltgc_make_load_melt_module): with new maketarget argument. Handle specially the .n .n.so .d .d.so suffixes. (meltgc_generate_melt_module): renamed as... (meltgc_make_melt_module): with new argument maketarget. {{regenerated}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. * testsuite/gcc/melt/thello.melt: Added new file. 2010-06-24 Basile Starynkevitch * melt/xtramelt-ana-base.melt: each_bb_cfun gives fatal error when called without or with invalid cfun. * melt-runtime.c (melt_startunit_callback) (melt_finishunit_callback, melt_really_initialize) (do_finalize_melt): always call minor MELT GC. 2010-06-25 Basile Starynkevitch * melt/warmelt-normatch.melt: adding normstep_mtestmatcher, still incomplete. * testsuite/gcc/melt/tmatch-4.melt: added other case to test cmatcher with input arg. 2010-06-25 Basile Starynkevitch * melt-runtime.c (readmacrostringsequence): Corrected detection of premature end of file, and more user-friendly message. 2010-06-24 Basile Starynkevitch * melt-make.mk (warmelt*.0.so): added dependency to $(wildcard cc1). 2010-06-24 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Added tree_any_float_type asked by Marie Krumpe. 2010-06-24 Basile Starynkevitch * melt/warmelt-normal.melt: Adding normstep_msuccwhenflag, which is still incomplete. 2010-06-24 Basile Starynkevitch {{tbad-2.melt now correctly fails to be translated}} * melt/warmelt-normal.melt: Added check of field w.r.t. class in normexp_instance. 2010-06-24 Basile Starynkevitch * testsuite/gcc/melt/tbad-2.melt: Added new test which should fail to get translated but MELT don't detect any error at translation by mistake. * melt/warmelt-normatch.melt: Added super-class class_match_step_with_data, Reclassed class_match_step_test. Don't put mdata_steps in step without data. Added match_data_update_data_steps_index and call it from match_step_index, complete_normstep_if_last, altmatch_handle_normalized_mdata. 2010-06-23 Jeremie Salvucci * melt/xtramelt-ana-base.melt: Added foreach_argument_of_gimple_call & foreach_case_of_gimple_switch 2010-06-23 Basile Starynkevitch {{removed gimple_seq_node support}} * melt-make.mk: added dependency to melt-runtime.h * melt-predef.list: removed CTYPE_GIMPLE_SEQ_NODE DISCR_GIMPLE_SEQ_NODE DISCR_MAP_GIMPLE_SEQ_NODES * melt/warmelt-first.melt: Removed discr_gimple_seq_node discr_map_gimple_seq_nodes ctype_gimple_seq_node * melt-runtime.h: Removed everything related to gimple_seq_node.. & their maps... * melt-runtime.c (check_pointer_at, forwarded_copy, scanning): likewise. {{regenerated all twice}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-23 Basile Starynkevitch {{supporting gimple_seq_node as ctype is a probable mistake, see http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02226.html & http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02242.html }} * melt/warmelt-normatch.melt: We probably should separate testing steps from non-testing ones w.r.t. complete_normstep_if_last & match_step_index. Completed function normstep_mtestvar. 2010-06-22 Basile Starynkevitch {{adding allmost all coretypes, e.g. rtx, ... to MELT}} * melt-predef.list: Sorted names alphabetically. (CTYPE_BITMAP, CTYPE_GIMPLE_SEQ_NODE, CTYPE_RTVEC, CTYPE_RTX) (DISCR_BITMAP, DISCR_GIMPLE_SEQ_NODE, DISCR_MAP_BITMAPS) (DISCR_MAP_GIMPLE_SEQ_NODES, DISCR_MAP_RTVECS, DISCR_MAP_RTXS) (DISCR_RTVEC, DISCR_RTX): Added. * melt-runtime.h: Re-indented some macros. Added basic support of new ctypes & boxed. (BPAR_BITMAP, BPARSTR_BITMAP, bp_bitmap, bp_bitmapptr, bp_rtx) (bp_rtxptr, BPAR_RTX, BPARSTR_RTX, bp_gimple_seq_node) (bp_gimple_seq_nodeptr, BPAR_GIMPLE_SEQ_NODE) (BPARSTR_GIMPLE_SEQ_NODE, bp_rtvec, bp_rtvecptr, BPAR_RTVEC) (BPARSTR_RTVEC): Added for meltparam_un union. (enum obmag_en): Sorted almost alphabetically. (OBMAG_BITMAP, OBMAG_GIMPLESEQNODE, OBMAG_MAPBITMAPS) (OBMAG_MAPGIMPLESEQNODES, OBMAG_MAPRTVECS, OBMAG_MAPRTXS) (OBMAG_RTVEC, OBMAG_RTX): Added new obmagics inside obmag_en. (meltgimpleseqnode_st, meltrtx_st, meltbitmap_st, meltrtvec_st) (entrygimpleseqnodesmelt_st, meltmapgimpleseqnodes_st) (entrybitmapsmelt_st, meltmapbitmaps_st, entryrtxsmelt_st) (meltmaprtxs_st, entryrtvecsmelt_st, meltmaprtvecs_st): Added new struct-s. (u_bitmap, u_rtx, u_rtvec, u_mapbitmaps, u_maprtxs, u_maprtvecs) (u_mapgimpleseqnodes): new union member in union melt_un. (meltgc_new_mapgimpleseqnodes, melt_get_mapgimpleseqnodes) (melt_put_mapgimpleseqnodes, melt_remove_mapgimpleseqnodes) (melt_count_mapgimpleseqnodes, melt_size_mapgimpleseqnodes) (melt_nthattr_mapgimpleseqnodes, melt_nthval_mapgimpleseqnodes): new declarations. (meltgc_new_maprtxs, melt_get_maprtxs, melt_put_maprtxs) (melt_remove_maprtxs, melt_count_maprtxs, melt_size_maprtxs) (melt_nthattr_maprtxs, melt_nthval_maprtxs): new declarations. (meltgc_new_maprtvecs, melt_get_maprtvecs, melt_put_maprtvecs) (melt_remove_maprtvecs, melt_count_maprtvecs, melt_size_maprtvecs) (melt_nthattr_maprtvecs, melt_nthval_maprtvecs): new declarations. (meltgc_new_mapbitmaps, melt_get_mapbitmaps, melt_put_mapbitmaps) (melt_remove_mapbitmaps, melt_count_mapbitmaps, melt_size_mapbitmaps) (melt_nthattr_mapbitmaps, melt_nthval_mapbitmaps): new declarations. (meltgc_new_gimpleseqnode, meltgc_new_bitmap, meltgc_new_rtx) (meltgc_new_rtvec): new declarations. (melt_gimpleseqnode_content, melt_bitmap_content) (melt_rtx_content, meltgc_new_rtvec): added new functions. * melt-runtime.c: Added basic support of ctypes & boxed. (check_pointer_at): updated for new OBMAG. (forwarded_copy): likewise. (meltgc_new_gimpleseqnode, meltgc_new_bitmap, meltgc_new_rtx) (meltgc_new_rtvec): new functions. * melt/warmelt-first.melt: Added basic support. (ctype_bitmap, ctype_gimple_seq_node, ctype_rtvec, ctype_rtx) (discr_bitmap, discr_gimple_seq_node, discr_loop) (discr_map_bitmaps, discr_map_gimple_seq_nodes) (discr_map_gimple_seqs, discr_map_rtvecs, discr_map_rtxs) (discr_rtvec, discr_rtx): new. {{regenerated all}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-21 Basile Starynkevitch Jeremie Salvucci * melt/warmelt-base.melt: Added debuglong. * melt/warmelt-normatch.melt: Added more debug in match_step_index. * melt/xtramelt-ana-base.melt: Added gimple_switch, gimple_switch_index, gimple_label. 2010-06-21 Basile Starynkevitch added copyright notice (same as ChangeLog) to ChangeLog.MELT 2010-06-19 Basile Starynkevitch * melt/warmelt-normatch.melt: Added normstep_mflagconj. 2010-06-19 Basile Starynkevitch * melt/warmelt-first.melt: Fixed typo in is_non_empty_list. * melt/warmelt-normatch.melt: Added debug_msg... * testsuite/gcc/melt/tmatch-6.melt: commented some code. 2010-06-18 Basile Starynkevitch * melt/xtramelt-ana-base.melt: exporting gimple_cond_with_edges 2010-06-18 Basile Starynkevitch {{added support of :loop-s}} * run-melt.h: Added include of cfgloop.h * melt-runtime.h: (MELT_DEFINE_MAPTR) re-indented huge macro. (meltloop_st, entryloopsmelt_st, meltmaploops_st): added new structures. (melt_un_st): added u_loop & u_maploops. (meltgc_new_maploops, melt_get_maploops, melt_put_maploops) (melt_remove_maploops, melt_count_maploops, melt_size_maploops) (melt_nthattr_maploops, melt_nthval_maploops): Added functions thru MELT_DEFINE_MAPTR. (meltgc_new_loop): added declaration. (melt_loop_content): added inline function. * melt-runtime.c: Added include of cfgloop.h (check_pointer_at): handle OBMAG_LOOP & OBMAG_MAPLOOPS. (forwarded_copy, scanning): likewise. (meltgc_new_loop): new function. * melt-predef.list: Added CTYPE_LOOP, DISCR_LOOP, DISCR_MAP_LOOPS. * Makefile.in (melt-runtime.o): as MELT_OBJ, added dependencies. (upgrade-warmelt): added gtyp-real-meltplugin-input.list dependency. * melt/warmelt-first.melt: added discr_loop discr_map_loop ctype_loop * melt/xtramelt-ana-base.melt: added mapgimple primitives & operation on loops & maploops {{regenerated all}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-17 Basile Starynkevitch * melt/xtramelt-ana-base.melt: added melt_assertmsg in each_cgraph_fun_entryblock. 2010-06-17 Basile Starynkevitch Jeremie Salvucci * melt-runtime.c (compile_gencsrc_to_binmodule): in MELT_IS_PLUGIN variant, removed extra parenthesis. * melt-runtime.h (melt_make_raw_object): in MELT_IS_PLUGIN variant, added a third ignored argument. 2010-06-16 Basile Starynkevitch * melt/warmelt-outobj.melt: added translatedebug mode. 2010-06-16 Jeremie Salvucci * melt-make.mk (warmelt*): Added dependencies on melt-predef.h. * melt-runtime.c: Added meltgc_new_real. * melt/warmelt-first.melt: Added instance of discr_real. * melt/warmelt-ana-base.melt: Added a cmatcher for real_cst. * melt-predef.list: Added discr_real. 2010-06-14 Basile Starynkevitch * melt/xtramelt-ana-base.melt: Added gimple_seq_of_basic_block. 2010-06-14 Basile Starynkevitch * melt/warmelt-normatch.melt: Added more debug printing. * melt/xtramelt-ana-base.melt: Removed the truelab & falselab of many gimple_cond_* cmatchers. Added the not very useful gimple_cond_with_true_false_labels & the needed gimple_cond_with_edges cmatchers. * melt/xtramelt-ana-simple.melt: updated accordingly. 2010-06-11 Basile Starynkevitch * melt/xtramelt-ana-base.melt: added make_gimple_mixloc. 2010-06-11 Basile Starynkevitch * melt/warmelt-normatch.melt: The dot-generated graph is good in mgaltstep_steptestvar. 2010-06-09 Basile Starynkevitch * testsuite/melt/twrongmatch-1.melt: added new test which should fail. * melt/warmelt-macro.melt: patmacexpand_for_matcher issues a warning when something is extra. 2010-06-09 Basile Starynkevitch * melt/warmelt-first.melt: added is_non_empty_list. * melt/warmelt-normatch.melt: added & using match_step_index utility function. * melt/xtramelt-ana-simple.melt: added gimple_debug gimple_debug_bind gimple_error_mark_or_nil cmatchers. 2010-06-08 Basile Starynkevitch {{Removed every GFDL license in code. http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00767.html and regenerted everything.}} * melt/warmelt-debug.melt: reverted copyright notice to GPLv3+ only. * melt/warmelt-first.melt: ditto. * melt/warmelt-normal.melt: ditto. * melt/warmelt-base.melt: ditto. * melt/warmelt-normatch.melt: ditto. * melt/warmelt-macro.melt: ditto. * melt/warmelt-outobj.melt: ditto. Also removed code outputing GFDL notice in generated documentation. * melt/warmelt-genobj.melt: ditto. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-06-07 Basile Starynkevitch * melt/xtramelt-ana-base.melt: added tree_pointer_type_p cmatcher. 2010-06-07 Basile Starynkevitch {{a debug_msg on a tree crashed the generated C}} * testsuite/melt/tdebugmsg-1.melt: new file. * melt/warmelt-normal.melt: normexp_apply tests the ctype of the function and of the first argument. * melt/warmelt-normatch.melt: added more debug_msg. 2010-06-06 Basile Starynkevitch {{regenerated all files}} * Makefile.in (upgrade-warmelt): Use @warmelt not @warmelt3! * melt/generated/warmelt-first.0.c: Regenerated file. * melt/generated/warmelt-normatch.0+01.c: Regenerated file. * melt/generated/warmelt-normatch.0+02.c: Regenerated file. * melt/generated/warmelt-normal.0.c: Regenerated file. * melt/generated/warmelt-normatch.0+03.c: Added new generated file. * melt/generated/warmelt-macro.0.c: Regenerated file. * melt/generated/warmelt-debug.0+01.c: Regenerated file. * melt/generated/warmelt-outobj.0.c: Regenerated file. * melt/generated/warmelt-first.0+01.c: Regenerated file. * melt/generated/warmelt-normal.0+01.c: Regenerated file. * melt/generated/warmelt-genobj.0.c: Regenerated file. * melt/generated/warmelt-normal.0+02.c: Regenerated file. * melt/generated/warmelt-normal.0+03.c: Regenerated file. * melt/generated/warmelt-base.0.c: Regenerated file. * melt/generated/warmelt-normatch.0.c: Regenerated file. * melt/generated/warmelt-macro.0+01.c: Regenerated file. * melt/generated/warmelt-macro.0+02.c: Regenerated file. * melt/generated/warmelt-outobj.0+01.c: Regenerated file. * melt/generated/warmelt-outobj.0+02.c: Regenerated file. * melt/generated/warmelt-macro.0+03.c: Regenerated file. * melt/generated/warmelt-outobj.0+03.c: Regenerated file. * melt/generated/warmelt-genobj.0+01.c: Regenerated file. * melt/generated/warmelt-genobj.0+02.c: Regenerated file. * melt/generated/warmelt-genobj.0+03.c: Regenerated file. * melt/generated/gt-melt-runtime-plugin.h: Regenerated file. * melt/generated/warmelt-debug.0.c: Regenerated file. 2010-06-06 Basile Starynkevitch * melt/warmelt-first.melt: Changed notice to also add GFD1.3+ license for generated documentation. Dual licensed with explicit permission from FSF, after a question to licensing@fsf.org positively replied by Karl Berry on May 31st 2010, [gnu.org #579118]. See also http://gcc.gnu.org/ml/gcc/2010-05/msg00674.html http://gcc.gnu.org/ml/gcc/2010-05/msg00125.html http://gcc.gnu.org/ml/gcc/2010-05/msg00749.html etc. * melt/warmelt-base.melt: Likewise. * melt/warmelt-debug.melt: Likewise. * melt/warmelt-macro.melt: Likewise. * melt/warmelt-normal.melt: Likewise. * melt/warmelt-normatch.melt: Likewise. * melt/warmelt-genobj.melt: Likewise. * melt/warmelt-outobj.melt: Likewise. Also output the GFDL notice in the generated documentation. 2010-06-04 Basile Starynkevitch * melt/warmelt-macro.melt: macroexpand_toplevel_list issues a warning for an s-expr followed by an atom. 2010-06-04 Basile Starynkevitch * melt/warmelt-normal.melt: normexp_symbol gives a better message for unknown names. 2010-06-01 Basile Starynkevitch * Makefile.in (MELT_RAW_CFLAGS): Don't use PLUGINCFLAGS here but explicitly add CPPINC PPLINC .... so make bootsrap works again. Bug found with the help of Jeremie Salvucci. 2010-05-31 Basile Starynkevitch * melt/warmelt-normal.melt: Added a bit more :doc. Added class_nrep_ifsame. * melt/warmelt-normatch.melt: Adding more in normstep_mtestvar. 2010-05-31 Basile Starynkevitch * melt/warmelt-normatch.melt: complete_normstep_if_last leaves normstep unchanged if the matched data is not comming from a pattern. normstep_mtestinstance is probably complete. 2010-05-30 Basile Starynkevitch * melt/warmelt-normatch.melt: using class_nrep_ifisa in normstep_mtestinstance 2010-05-28 Basile Starynkevitch * melt/warmelt-normatch.melt: altmatch_normalize_step handles specially a null step. Added altmatch_make_match_normalization_context function. Renamed altmatch_normalize_case as altmatch_normalize_match_case & revamped it. * gcc/testsuite/melt/tmatch-5.melt: updated comment. 2010-05-28 Basile Starynkevitch * melt/warmelt-normatch.melt: The field MDATA_STEPS of class_matched_data is transformed to a tuple once mature. Added field mstep_index to class_match_step. Removed field nmlab_nbremsteps from class_nrep_match_label. Removed formal nbothersteps from normalize_step selector & methods, and from complete_normstep_if_last & altmatch_normalize_step. 2010-05-28 Basile Starynkevitch {{the compiler can be bootstrapped with a non gcc-4.5 compiler; however the compare fail for melt-runtime.o because it is compiled with varying -DMELT_MODULE_CFLAGS}} * melt-make.mk: added debugging echo. * Makefile.in: (MELT_C): renamed as MELT_RUNTIME_C. (MELT_OBJ) added comment for fixme of failed compare step. (MELT_RAW_CFLAGS) used PLUGINCLAGS. (MELTHERE_CFLAGS):removed -gtoggle with filter-out make function. Added export. (melt.encap) more verbose echo. 2010-05-26 Basile Starynkevitch {{when a symbol appears at the top level, we have no location for it. Perhaps the reader should parse differently top-level symbols as located occurrences...?}} * melt/warmelt-normal.melt: Print short backtrace when null location. * melt/warmelt-normatch.melt: postponing step normalization... 2010-05-26 Basile Starynkevitch * melt/warmelt-normatch.melt: altmatch_normalize_step should postpone the step normalization 2010-05-21 Basile Starynkevitch * melt/warmelt-normatch.melt: adding normstep_mtestinstance & class_nrep_jump_when_is_a. 2010-05-21 Basile Starynkevitch * melt/warmelt-normatch.melt: added nbothersteps argument to several functions or selectors. Added complete_normstep_if_last function. Adding normstep_mflagset method implementation & incomplete stub for normstep_mtestinstance. Completed altmatch_handle_normalized_mdata * melt/warmelt-genobj.melt: removed some shortbacktrace_dbg. 2010-05-20 Basile Starynkevitch * melt/warmelt-normatch.melt: Removed class_normal_let_match_binding. Adding class_nrep_matched_data. 2010-05-19 Basile Starynkevitch * melt/warmelt-normatch.melt: Adding class_nrep_match_data_clear class_nrep_match_data_action class_nrep_match_data_finalizer and fields matnorx_bodylist & matnorx_endlabel & selector normalize_step... 2010-05-19 Basile Starynkevitch * melt/warmelt-normatch.melt: removing blocks.. 2010-05-17 Basile Starynkevitch {{regenerated all}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-05-17 Basile Starynkevitch * melt/warmelt-base.melt: added MINI & MAXI primitives. * melt/warmelt-macro.melt: added pat_weight field to class_source_pattern and pattern_weight_tuple function. Computed compositionally the weight. * melt/warmelt-normatch.melt: updated a document string... 2010-05-11 Basile Starynkevitch * melt/warmelt-normatch.melt: added more in the alternate matching normalization... 2010-05-10 Basile Starynkevitch * melt/warmelt-normatch.melt: the alternate matching normalization should probably focus on matched data, not on steps... 2010-05-10 Basile Starynkevitch {{field initialization is checked to be a :value}} * melt/warmelt-normal.melt: Added check of ctype of field value. * testsuite/gcc/melt/tbad-1.melt: added new file. 2010-05-07 Basile Starynkevitch * melt/warmelt-normatch.melt: added class_match_normalization_context. added altmatch_normalize_with_block selector. Added altmatch_normalize_flag & altmatch_normalize_step. Renamed altmatch_normalize as altmatch_normalize_case {{TO BE FIXED ELSEWHERE: prohibit setting a field in an INSTANCE expression to a literal integer like (instance class_nrep_setq :nstq_var normflag :nstq_exp 1). This is incorrectly accepted by MELT}} 2010-05-06 Basile Starynkevitch * melt/warmelt-normatch.melt: added class_nrep_match_flag; added namatch_flags field to class_nrep_altmatch. Exporting both classes. More of altmatch_normalize, which is still incomplete. 2010-05-05 Basile Starynkevitch * melt/warmelt-normatch.melt: a flag setting for the translation of a new pattern variable is a match step on the data... So tmatch-5.melt tmicro5 test seems to produce a correct match step graph. 2010-05-05 Basile Starynkevitch * melt/warmelt-normatch.melt: added scan_step_flag selector and methods, and scanflag local lambda in mg_altdraw_graphviz so the dot graph is generated entirely. 2010-05-04 Basile Starynkevitch {{and patterns still mistranslated in alternate matching, so tmicro5 example from tmatch-5.melt fails.}} * melt/warmelt-normatch.melt: added more debug_msg, but still buggy. * gcc/testsuite/melt/tmatch-5.melt: commented stuff & added tmicro5 2010-04-21 Basile Starynkevitch * melt-runtime.c (meltgc_load_melt_module): Corrected typo in error message, suggesting -fmelt-source-path... 2010-04-21 Basile Starynkevitch * melt-runtime.c (load_checked_dynamic_module_index): better error when bad modulnam. all dlopen-s test than dypath is non empty. 2010-04-21 Basile Starynkevitch * melt-runtime.h (melt_fatal_error): Added new macro which calls melt_fatal_info.. (melt_fatal_info,melt_runtime_build_date): Added declaration. (melt_putfield_object_at) (melt_raw_new_ppl_empty_constraint_system) (melt_raw_new_ppl_unsatisfiable_constraint_system) (melt_raw_clone_ppl_consstraint_system): use melt_fatal_error. * melt-runtime.c (check_pointer_at, meltgc_add_out_raw_len) (melt_output_strbuf_to_file, melt_tempdir_path) (compile_gencsrc_to_binmodule, meltgc_load_melt_module) (meltgc_load_modulelist, READ_ERROR, meltgc_open_infix_file) (meltgc_infix_lexeme, meltgc_close_infix_file, meltgc_read_file) (load_melt_modules_and_do_mode, melt_dynobjstruct_fieldoffset_at) (melt_dynobjstruct_classlength_at, melt_debug_out) (open_meltpp_file, close_meltpp_file) (melt_make_ppl_coefficient_from_tree) (melt_make_ppl_coefficient_from_long) (meltgc_new_ppl_constraint_system) (meltgc_clone_ppl_constraint_system) (melt_insert_ppl_constraint_in_boxed_system) (melt_make_ppl_NNC_Polyhedron_from_Constraint_System) (meltgc_new_ppl_polyhedron, melt_make_ppl_linear_expression) (meltgc_new_ppl_linear_expression, meltgc_ppstrbuf_ppl_varnamvect) (melt_ppl_error_handler, melt_output_cfile_decl_impl_secondary) (melt_assert_failed, meltgc_register_pass): use melt_fatal_error. (melt_fatal_info): Added function. (melt_runtime_build_date): Added definition. * melt/warmelt-normatch.melt: uses melt_fatal_error. * melt/warmelt-outobj.melt: ditto. * melt/xtramelt-ana-base.melt: likewise. {{regenerated all}} * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2010-04-21 Basile Starynkevitch * melt-runtime.c (struct melt_module_info_st): Added modpath field. (load_checked_dynamic_module_index): Added dypathdup to fill the modpath field in melt_module_info_t. (melt_assert_failed): Show all the loaded modules thru error messages. 2010-04-19 Basile Starynkevitch * common.opt: -fmelt= is deprecated and replaced by -fmelt-mode=. * melt-runtime.c (melt_argument): looks into melt_mode_string & melt_old_mode_string, and issues a warning when melt_old_mode_string is used. * toplev.c (toplev_main): also test melt_old_mode_string before calling melt_initialize & melt_finalize. * melt-make.mk: typo in rule for warmelt-first.2.c * doc/melt.texi (Invoking MELT): document -fmelt-mode=. (translating a MELT module): use it. 2010-04-15 Basile Starynkevitch {{alternate matching buggy & incomplete}} * melt/warmelt-normatch.melt: added matresctyp to normexp_altmatch. 2010-04-15 Basile Starynkevitch {{alternate matching buggy & incomplete}} * melt/warmelt-normatch.melt: added asserts & debugs. * testsuite/melt/tmatch-5.melt: uncommented ?and 2010-04-14 Basile Starynkevitch * doc/melt.texi: (Invoking MELT) updated section for -fmelt-init. * Makefile.in: (MELT_RAW_CFLAGS) Added @CFLAGS@. (MELT_FINAL_CFLAGS) Added new variable, with default initialization to -O. (warmelt3) removed, and replaced by (warmelt). Likewise, replace WARMELT_BASE3* with WARMELT_BASE* to have installed generated files as warmelt-first.{c,so}. (install-melt-cfiles) ditto. Likewise removed 3 (upgrade-warmelt) uses WAMELT_BASESO... so removed 3 everywhere. * melt-runtime.c (melt_nb_modules): added variable. (compile_module_to_binary) renamed as (compile_gencsrc_to_binmodule). (meltgc_load_melt_module): retrieve the temporary directory thru melt_tempdir_path. (meltgc_generate_melt_module): likewise. Also added information messages. (load_melt_modules_and_do_mode): handle @@ as the default module list. * melt-make.mk: removed warmelt*3 and uses the plain warmelt* name everywhere. Use MELT_FINAL_CFLAGS to compile generated C code. * melt/warmelt-normatch.melt: added blocklist in altmatch_normalize, which is still incomplete. * melt/warmelt-outobj.melt: Added translatetomodule mode. {{regenerated all}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-04-13 Basile Starynkevitch * common.opt (fmelt-arg): updated description. * doc/melt.texi (Invoking MELT): updated documentation. (MELT as a plugin): Mentions GCC 4.5. 2010-04-13 Basile Starynkevitch * melt-module.mk (RM): set to rm -f without verbosity. * melt-runtime.c (melt_tempdir_path): Made a bit more robust, and the generated temporary dir has a more suggestive unique name. (compile_module_to_binary): The make command is given a -C to chdir into the work directory, to avoid spoiling the user's directory. Added informative messages. (meltgc_load_melt_module): Uses the temporary directory as a work directory when compiling generated C files. (do_finalize_melt): inform about the temporary directory cleanup. (melt_output_cfile_decl_impl_secondary): Added inform. 2010-04-12 Basile Starynkevitch {{bug reported by Sylvestre Ledru}} * melt-runtime.c (melt_debug_out): Added missing cast from unsigned to int. 2010-04-12 Basile Starynkevitch {{bug reported by Christophe Coupe'}} * melt-runtime.c (load_checked_dynamic_module_index): try to append a .so to the dynamic module shared object. A quick & dirty hack! 2010-04-09 Basile Starynkevitch {{bug reported by Jeremie Salvucci on gcc-melt-french@googlegroups.com}} * Makefile.in: replaced ANAMELT with XTRAMELT, so (install-melt-dynlib): replaced ANAMELT. (install-melt-cfiles): ditto. (install-melt-meltfiles): ditto. 2010-04-08 Basile Starynkevitch * melt/warmelt-macro.melt: exporting class_source_pattern_list & class_source_pattern_tuple. * melt/warmelt-normatch.melt: added :mctx_nmatbind field to class_matching_context. Added translpat_tuplepat & translpat_listpat stubs. Removed useless order_data_step_flag_altmatch & adding altmatch_normalize. * testsuite/melt/tmatch-1.melt: updated comment & testing tuple.. 2010-04-06 Basile Starynkevitch * melt/warmelt-macro.melt: added more :doc. 2010-04-06 Basile Starynkevitch * melt/warmelt-macro.melt: added :doc of cppif and added gccif macro. 2010-04-05 Basile Starynkevitch * melt/warmelt-first.melt: corrected warning with bad C arguments in install_method. 2010-04-05 Basile Starynkevitch * melt-runtime.c (meltgc_load_modulelist): added a lot of information message when failing to load a module list. 2010-04-05 Basile Starynkevitch * Makefile.in (install-all-melt): added install-melt-otherfiles dependency. * melt/warmelt-normatch.melt: added export of new classes like class_matched_normal_data etc. {{regenerated all files}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/gt-melt-runtime-plugin.h: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-03-30 Basile Starynkevitch * melt/warmelt-normatch.melt: added computation of the ctype of the match, with a warning on mismatches. 2010-03-29 Basile Starynkevitch * testsuite/melt/tmatch-6.melt: replace old integer_multiple cmatcher with some_integer_multiple & integer_greater_than with some_integer_greater_than. * melt/warmelt-macro.melt: added debug_msg to patternexpand_pairlist_as_tuple. Adding class_source_pattern_when. * melt/warmelt-normatch.melt: added mgaltstep_stepclear. Better transpat_orpat. 2010-03-26 Basile Starynkevitch * melt/warmelt-normatch.melt: class_match_step_assign_flag renamed as class_match_step_with_flag and superclass of class_match_step_success_when_flag which is the new name of class_match_step_success. The field mstepsuccess_flag is removed, we use mstep_flag instead. mgaltstep_stepsuccess updated to better display success steps. 2010-03-26 Basile Starynkevitch * melt/warmelt-normatch.melt: in alternate matching the simple instance match does not recurse infinitly! Removed bad put_then_match in translpat_inspat! 2010-03-26 Basile Starynkevitch * melt/warmelt-macro.melt: added :doc for defclass & defcmatcher. * melt/warmelt-normal.melt: added warnings in defclass for classes without super or with name not starting with CLASS_. 2010-03-25 Basile Starynkevitch * melt/warmelt-first.melt: install_method warns when bad arguments. * melt/warmelt-base.melt: added warningmsg_strv * melt/warmelt-normatch.melt: added debug msg... 2010-03-24 Basile Starynkevitch {{still buggy alternate matching; recursion loop on simple instance pattern!!}} * melt-runtime.h (melt_application_count, melt_application_depth): Added declarations. * melt-runtime.c (melt_application_count, melt_application_depth): Added functions. * melt/warmelt-first.melt: added box_of cmatcher. * melt/warmelt-base.melt: added melt_application_count, melt_application_depth, melt_application_shallower. * melt/warmelt-normatch.melt: the mstgroup_then should usally be only the flag setting step. Still buggy! 2010-03-24 Basile Starynkevitch * melt/xtramelt-ana-base.melt: updated copyright. Added cmatchers tree_identifier tree_list tree_vec 2010-03-23 Basile Starynkevitch {{{infinite recursion in alternate matching}}} * testsuite/melt/tmatch-6.melt: commented temporarily out... * melt-runtime.h (melt_output_length): Added declaration. * melt-runtime.c (melt_output_length): Added function. (melt_apply): reduced MAXDEPTH_APPLY_MELT. * melt/warmelt-base.melt: added output_length. * melt/warmelt-debug.melt: use it in dbgout_fields. * melt/warmelt-normatch.melt: translpat_orpat still buggy. Added stub for transpat_constpat. 2010-03-15 Basile Starynkevitch * melt/warmelt-normatch.melt: translpat_orpat still incomplete. 2010-03-14 Basile Starynkevitch * Makefile.in (gt-melt-runtime-plugin.h): new target, useless packaging MELT for plugins. (upgrade-warmelt): added above file. {{regenerated all}} * melt/generated/gt-melt-runtime-plugin.h: added generated new file. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-03-13 Basile Starynkevitch {{can be compiled as a plugin, and removed every GDBM stuff.}} * configure.ac: removed GDBM stuff. * common.opt: removed GDBM related option -fmelt-gdbmstate=. * melt-make.mk: added/renamed several variables, such as: melt_make_module_makefile melt_make_cc1 melt_make_gencdeps ... * Makefile.in: corrected accordingly, and removed GDBM stuff. * melt-runtime.h (melt_has_gdbmstate) (meltgc_fetch_gdbmstate_constr, meltgc_fetch_gdbmstate) (meltgc_put_gdbmstate_constr, meltgc_put_gdbmstate): removed declarations. * melt-runtime.c: Don't include anymore. (melt_argument): handle "option", but no more "gdbmstate". (melt_debug_depth): uses melt_argument. (compile_module_to_binary): dlfile replaced by binfile when MELT_IS_PLUGIN. (load_melt_modules_and_do_mode): use melt_argument for option. (plugin_init): use gcc_version->basever... when MELT_IS_PLUGIN. (meltgdbmstate): removed variable. (melt_has_gdbmstate, get_melt_gdbm, fatal_gdbm) (meltgc_fetch_gdbmstate_constr, meltgc_fetch_gdbmstate) (meltgc_put_gdbmstate_constr, meltgc_put_gdbmstate): removed functions. * melt/xtramelt-ana-base.melt: removed GDBM related code. 2010-03-10 Basile Starynkevitch * melt/warmelt-normatch.melt: adding match set flags to success step & coding translpat_orpat... 2010-03-10 Basile Starynkevitch * melt/warmelt-normatch.melt: adding match set flags ... 2010-03-09 Basile Starynkevitch * melt/warmelt-first: added list_first_element & list_last_element. * melt/warmelt-normatch.melt: adding match flags and steps to set them. Very incomplete! 2010-03-08 Basile Starynkevitch * melt/warmelt-normatch.melt: removed put_else_match in translate_matchcase.... Still bad! * testsuite/melt/tmatch-4.melt: updated comment... 2010-03-07 Basile Starynkevitch * melt/warmelt-normatch.melt: some design issues with alternate matching. See the comment near warning in translate_matchcase. * testsuite/melt/tmatch-5.melt: temporarily commented out the ?and 2010-03-04 Basile Starynkevitch * melt/warmelt-normatch.melt: putelse_matchtest should be completed... 2010-03-04 Basile Starynkevitch * melt/warmelt-normatch.melt: removed class_match_step_set_variable. 2010-02-25 Basile Starynkevitch * testsuite/melt/tmatch-5.melt: added other case. * melt/warmelt-normatch.melt: added prevstep argument to translate_matchcase... 2010-02-25 Basile Starynkevitch * Makefile.in (install-melt-otherfiles): new target, to install melt-module.mk. * testsuite/melt/tmatch-5.melt: typo. * melt/warmelt-macro.melt: Removed class_source_pattern_as and all class_sourcepattern* obsolete synonyms. * melt/warmelt-normatch.melt: Removed class_source_pattern_as and added stub to alt-translate and & or patterns. * melt/warmelt-outobj.melt: Replaced as patterns with and patterns. * melt/xtramelt-ana-simple.melt: ditto. * melt/xtramelt-parse-infix-syntax.melt: ditto. {{regenerated all}} * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2010-02-24 Basile Starynkevitch * melt/warmelt-normatch.melt: added more of alternate matching. putelse_matchtest is incomplete when an else already exists... 2010-02-24 Basile Starynkevitch * melt/warmelt-normatch.melt: added more of alternate matching. putthen_matchthen calls recursively put_then_match on the mythen ... so first test graph is ok... 2010-02-24 Basile Starynkevitch * melt/warmelt-normatch.melt: added more of alternate matching. Added :mstgroup_start field to class_match_step_test_group and using it. 2010-02-23 Basile Starynkevitch * melt/warmelt-normatch.melt: added more of alternate matching. better alternate display in .dot files for debugging. 2010-02-23 Basile Starynkevitch * melt/warmelt-base.melt: Removed extra openbrace in add2sbuf_short_mixloc. * melt/warmelt-normatch.melt: added more of alternate matching. * testsuite/melt/tmatch-5.melt: updated command in comment. 2010-02-23 Basile Starynkevitch * melt/warmelt-normatch.melt: added more of alternate matching. 2010-02-22 Basile Starynkevitch * melt/warmelt-normatch.melt: added more of alternate matching. 2010-02-22 Basile Starynkevitch * Makefile.in (melt-runtime.o): also depends upon the Makefile and passes melt_installed_cflags & (melt_installed_module_makefile. (melt_installed_module_makefile): Added new variable. (MELTHERE_CFLAGS): Don't remove anymore -O2. (melt_installed_cflags): Added new variable. 2010-02-22 Basile Starynkevitch * melt-runtime.c (melt_print_version_info): also prints the default module list. 2010-02-22 Basile Starynkevitch * toplev.h (melt_print_version_info): Added declaration. * toplev.c (print_version): added call to melt_print_version_info. * melt-runtime.c (melt_print_version_info): Added function. 2010-02-19 Basile Starynkevitch {{use meltcallcount everywhere}} * run-melt.h (meltcallcount): added default definition. * melt/warmelt-first.melt: defines the_meltcallcount. * melt/warmelt-macro.melt: uses the_meltcallcount in debug_msg.. * melt/warmelt-normal.melt: cleaned up normletrec_lambda. * melt/warmelt-outobj.melt: generates meltcallcount. {{regenerated all}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: Regenerated. 2010-02-19 Basile Starynkevitch {{ all tletrec*.melt test passes }} * testsuite/melt/tletrec.melt: corrected to not use make_tuple2. * testsuite/melt/tletrec2.melt: corrected fields. * melt/warmelt-normal.melt: normexp_letrec should call normalize_lambda cexpr env newenv ... * melt/warmelt-outobj.melt: should generate a callcount in the initial chunks.. Actually, callcount should be renamed.. 2010-02-19 Basile Starynkevitch {{tletrec4.melt new case, miscompiled}} * testsuite/melt/tletrec4.melt: added new case. * melt/warmelt-normatch.melt: more of alternate matching. 2010-02-18 Basile Starynkevitch * melt/warmelt-first.melt: added cast in foreach_in_mapobject to avoid warnings in generated code. * melt/warmelt-normatch.melt: more of alternate matching. 2010-02-17 Basile Starynkevitch * melt/warmelt-normatch.melt: more of alternate matching. Added class_matched_binding. 2010-02-16 Basile Starynkevitch * melt/warmelt-normatch.melt: more of alternate matching. * melt-runtime.c (melt_assert_failed): also shows the time of failure. 2010-02-16 Basile Starynkevitch * melt/warmelt-normal.melt: renamed normalize_local_binding as normalize_binding. The class_any_binding captures constant occurrences. 2010-02-16 Basile Starynkevitch * melt/warmelt-normal.melt: added normalize_local_binding selector and start using it. * melt/warmelt-normatch.melt: more of alternate matching. 2010-02-15 Basile Starynkevitch * melt/warmelt-normatch.melt: more of alternate matching. 2010-02-13 Basile Starynkevitch * run-melt.h (curfptr, curfnum, curfclos, curfrout): macros deleted and renamed as.. (meltfptr, meltfnum, meltfclos, meltfrout): new macros, using meltfram__ instead of curfram__. * melt-runtime.c: using meltfram__ instead of curfram__. * melt-runtime.h (MELT_INITFRAME, MELT_EXITFRAME): likewise * testsuite/melt/tmatch-5.melt: added -fmelt-option=alternate_match. * testsuite/melt/tmatch-6.melt: likewise. * melt/warmelt-normatch.melt: more of alternate matching. * melt/warmelt-outobj.melt: generating meltfram__ instead of curfram__. meltfptr for curfptr etc... {{regenerated all}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. * melt/generated/warmelt-normatch.0+02.c: new generated file. 2010-02-11 Basile Starynkevitch * melt-runtime.c (meltgc_new_string_raw_len): explicitly clear last byte. 2010-02-11 Basile Starynkevitch * testsuite/melt/tmatch-6.melt: is tested with alternate matching. * melt/warmelt-macro.melt: documented assert_msg. * melt/warmelt-normatch.melt: more in alternate matching. * melt/warmelt-outobj.melt: outcinitfill_objinitclosure correctly fills closures, so letrec works on lambda.. the initial_chunk routines are declared with MELT_MODULE_VISIBILITY. {{regenerated all}} * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-02-11 Basile Starynkevitch * melt/warmelt-macro.melt: assert_msg macro can have no condition to also issue a compile-time warning. class_source_pattern_construct is exported. * melt/warmelt-normatch.melt: begin adding alternate matching implementation. Added scan_subpatterns selector & methods. 2010-02-10 Basile Starynkevitch * params.def (PARAM_MELT_FULL_THRESHOLD): increased to reduce frequency of full GC. 2010-02-09 Basile Starynkevitch * melt/warmelt-macro.melt: field spat_var in class_source_pattern renamed as spatvar_symb, and added field spatvar_nbocc. * melt/warmelt-normatch.melt: added field ptcn_varhandlers... should really use it to compute the set of used and already set or-variables... 2010-02-08 Basile Starynkevitch {{tmatch-6 badly translated}} * testsuite/melt/tmatch-6.melt: was incorrectly parenthesised... name was not bound... * melt/warmelt-normatch.melt: normpat_orpat a little better, but or-variables already set are mishandled. removed commented oldnormpatorpat. Perhaps need to add ntdisj_setorvar field. * melt/warmelt-genobj.melt: added debug stmts, coded more of compiltst_normtester_disjunction 2010-02-07 Basile Starynkevitch * melt/warmelt-genobj.melt: transmit the module name in the class_objinitroutine thru field oirout_modulename. * melt/warmelt-outobj.melt: the initial_chunk_* have line info and their name contains the module name... 2010-02-07 Basile Starynkevitch * melt/warmelt-outobj.melt: added dirty trick to output the initial routine in several chunks, each being a static routine, to avoid generating huge routines which are painful to be compiled by GCC. {{regenerated}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-02-04 Basile Starynkevitch * melt/warmelt-first.melt: removed list[1-6] primitives and moved many definitions to... * melt/warmelt-base.melt: added more here. * melt/warmelt-normal.melt: replaced list[1-9] with list. * melt/warmelt-normatch.melt: ditto. * melt/warmelt-genobj.melt: ditto. {{regenerated}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: removed. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-base.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-02-04 Basile Starynkevitch * melt-runtime.c (meltgc_named_symbol, meltgc_named_keyword): added test if MELT_PREDEF (INITIAL_SYSTEM_DATA). * melt/warmelt-outobj.melt: the outpucod_objgetnamedkeyword & outpucod_objgetnamedsymbol don't generate the MELT_PREDEF (INITIAL_SYSTEM_DATA) since it happens in meltgc_named_keyword & meltgc_named_symbol. 2010-02-03 Basile Starynkevitch {{added warmelt-base.melt to reduce warmelt-first.melt and warmelt-first*.c}} * melt-make.mk: added warmelt-base module. * melt/warmelt-first.melt: moved many definitions, in particular defprimitive-s, to warmelt-base.melt. Removed make_tuple[1-7] primitives. * melt/warmelt-base.melt: added new file, with content from old warmelt-first.melt. * melt/warmelt-macro.melt: using tuple instead of make_tuple[1-7]. * melt/warmelt-debug.melt: likewise. * melt/warmelt-normal.melt: likewise. * melt/warmelt-genobj.melt: likewise. Also, make the main generated file a bit smaller in compile2obj_procedure. * melt/warmelt-outobj.melt: likewise. * melt/xtramelt-ana-base.melt: likewise. {{regenerated everything several times}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normatch.0+01.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: new file. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0+03.c: new file. * melt/generated/warmelt-base.0.c: new file. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-macro.0+03.c: new file. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-02-02 Basile Starynkevitch * melt/warmelt-normatch.melt: recoding normpat_orpat... * melt/warmelt-genobj.melt: compiltst_normtester_disjunction should handle ndisjlocsy.. 2010-02-02 Basile Starynkevitch {{tmatch-6 still don't work}} * testsuite/melt/tmatch-6.melt: added an as node to have a or-pattern disjunct with an already tested pattern variables. * melt/warmelt-normatch.melt: recoding normpat_orpat... still incomplete... 2010-01-31 Basile Starynkevitch * testsuite/melt/tmatch-5.melt: updated class to class_source_definition * melt/warmelt-first.melt: added cast for informoption code chunk. * melt/warmelt-normatch.melt: should recode the normpat_orpat... 2010-01-29 Basile Starynkevitch {{try to avoid generating useless c stuff in code, eg collapse nested blocks into one, avoid too many #line... tmatch-6 test still fails.}} * melt/warmelt-first.melt: remove useless loclineno in add2sbufmixloc.. * melt/warmelt-normatch.melt: added mglabel_success_test and begin cleaning normpat_orpat.. * melt/warmelt-genobj.melt: removed class_objblock, added class_objanyblock & class_objplainblock. * melt/warmelt-outobj.melt: don't output used nested plain blocks, just catenate their output... and don't output useless consecutive MELT_LOCATION.. {{regenerated}} * melt/generated/warmelt-normatch.0+01.c: added & generated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-01-29 Basile Starynkevitch {{tmatch-6 still fails.}} * melt/warmelt-normatch.melt: the generated .dot graphic seems lookable! The first node is in bold. 2010-01-29 Basile Starynkevitch * melt-runtime.c (meltgc_out_printf): added cast to melt_ptr_t for C++ compatibility. * melt-runtime.h (LOCATION_COLUMN): added macro which really should be in gcc/input.h. * melt/warmelt-first.melt: display column in add2sbuf_mixloc & add2out_mixloc. * melt/warmelt-normatch.melt: added separate mg_draw_match_graphviz_file function, which gives a little better *.dot file. * testsuite/melt/tmatch-6.melt: updated comment. 2010-01-28 Basile Starynkevitch {{the add2out_mixloc never worked hence crashing, now corrected! the graphiz graph is generated correctly but not pretty...}} * melt/warmelt-first.melt: corrected add2out_mixloc! * melt/warmelt-normatch.melt: missing \n in fprintf for dotfil. * melt-runtime.c (meltgc_out_printf): check the discr of the out to avoid calling printf if out is not appropriate. 2010-01-28 Basile Starynkevitch {{there was a type mismatch in primitives. So this should be an error, not a warning.}} * melt-runtime.c (meltgc_out_printf): use a MELT root and vsnprintf not vasprintf. * melt/warmelt-normal.melt: type mismatch in primitive makes an error! * melt/warmelt-normatch.melt: faulty add2sbuf_string instead of add2sbuf_strcont. 2010-01-28 Basile Starynkevitch * Makefile.in (upgrade-warmelt): the warmelt-first.melt should be from srcdir! * melt-make.mk: replaced ana-base with xtramelt-ana-base everywhere! {{ regenerated files, some unchanged, some deleted }} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-debug.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-first.0+02.c: removed file. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-debug.0.c: Regenerated. 2010-01-28 Basile Starynkevitch * Makefile.in (upgrade-warmelt): use a direct mv, without $(SHELL). * melt/warmelt-first.melt: added semicolons in some add2out primitives. * melt/warmelt-normatch.melt: added support for generating graphviz .dot files on normal matchers. That support don't work yet but crashes :-(. 2010-01-27 Basile Starynkevitch * Makefile.in (upgrade-warmelt): use an mv not a move-if-change to always move the generated files. * melt/warmelt-first.melt: export register_option. * melt/warmelt-normatch.melt: start adding match_graphic option to generate a .dot graphic of the match tests when debugging. Adding private class_match_graphic & mg_out_node_name. {{regenerated, but some files remain unchanged}} * gcc/melt/generated/warmelt-debug.0+01.c: added & regenerated. * gcc/melt/generated/warmelt-debug.0.c: Regenerated. * gcc/melt/generated/warmelt-first.0.c: Regenerated. * gcc/melt/generated/warmelt-first.0+01.c: Regenerated. * gcc/melt/generated/warmelt-first.0+02.c: Regenerated. * gcc/melt/generated/warmelt-genobj.0.c: Regenerated. * gcc/melt/generated/warmelt-macro.0+02.c: Regenerated. * gcc/melt/generated/warmelt-macro.0.c: Regenerated. * gcc/melt/generated/warmelt-normal.0+01.c: Regenerated. * gcc/melt/generated/warmelt-normal.0.c: Regenerated. * gcc/melt/generated/warmelt-normatch.0.c: Regenerated. * gcc/melt/generated/warmelt-outobj.0.c: Regenerated. 2010-01-27 Basile Starynkevitch {{split warmelt-first.melt, tmatch-6.melt still fails, added options support...}} * melt/warmelt-first.melt: added code for options, and moved debug support code to ... * melt/warmelt-debug.melt: made new file. * melt/warmelt-macro.melt: use debug_msg_fun for debug_msg macro. * melt/warmelt-genobj.melt: added gectyp_objinitstring * melt/warmelt-infixsyntax.melt: renamed as xtramelt-parse-infix-syntax.melt * melt/ana-base.melt: renamed as .... * melt/xtramelt-ana-base.melt: new file (was ana-base.melt) * melt/xtramelt-ana-simple.melt: new file (was ana-simple.melt) * melt/xtramelt-parse-infix-syntax.melt: new file (was warmelt-infixsyntax.melt) * melt-make.mk: renamed files appropriately. * Makefile.in (melt.encap): simpler and added comment to avoid recurring on $(MAKE) with empty target. [[regenerated several times]] * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. * melt/generated/warmelt-debug.0.c: added & regenerated. 2010-01-26 Basile Starynkevitch {{adding option machinery & more about or patterns. tmatch-6 still fails...}} * doc/melt.texi (MELT: Middle End Lisp Translator): better intro. (Invoking MELT): added doc about -fmelt-option= * melt/warmelt-first.melt: added sysdata_option_set field. added get_raw_symbol primitives. added option_map_container instance and internal class_option_descriptor. Added internal init_optionsetter & option_helper_fun and exported register_option function. Some code still commented temporarily. * melt/warmelt-normatch.melt: adding class_normtester_or_initial_clear * melt/warmelt-genobj.melt: experimental code in compiltst_normtester_orclear [perhaps wrong] & compiltst_normtester_ortransmit * melt-runtime.c (do_initial_mode): typo in error message. (load_melt_modules_and_do_mode): added option handling. (plugin_init): use MELT/_builtin as the builtin "plugin" name. * melt-runtime.h: updated initial comment. (FSYSDAT_OPTION_SET): new enum. * common.opt (fmelt-option=): added new option. 2010-01-25 Basile Starynkevitch {{tmatch-6 is not translated, because a class_normtester_or_transmit is correctly generated, and its translation is not yet implemented..}} * melt/warmelt-normatch.melt: the instance of class_normtester_or_transmit is generated. 2010-01-21 Basile Starynkevitch {{tmatch-6 is translated but still runs incorrectly.}} * melt/warmelt-first.melt: added doc strings. * melt/warmelt-normatch.melt: renamed class_normtester_orclear as class_normtester_or_clear & adding class_normtester_or_transmit... the normal or variables seems to be reset too soon.. * melt/warmelt-genobj.melt: added compiltst_normtester_ortransmit stub. * testsuite/melt/tmatch-6.melt: commented temporarily. 2010-01-20 Basile Starynkevitch {{tmatch-6 is translated but runs incorrectly.}} * melt/warmelt-normatch.melt: normpat_orpat.subdisjhandler append to testlist. * melt/warmelt-genobj.melt: compiltst_normtester_orclear uses the gotothen.. 2010-01-19 Basile Starynkevitch {{tmatch-6 still fails to be translated.}} * melt/warmelt-normatch.melt:simpler subdisjhandler in normpat_orpat 2010-01-19 Basile Starynkevitch {{tmatch-6 is translated but runs incorrectly.}} * melt/warmelt-normatch.melt: in class_normal_or_variable the previous :norvar_locsym is remembered from previous disjunct by boxing it from normpat_orpat. Also added lots of debug .. * testsuite/melt/tmatch-6.melt: added 3rd disjunct, etc... 2010-01-18 Basile Starynkevitch {{tmatch-6 still fails to be translated.}} * melt-runtime.c (melt_argument): added MELT_DEFAULT_DEBUG_DEPTH MELT_MINIMAL_DEBUG_DEPTH MELT_MAXIMAL_DEBUG_DEPTH & changed warning message. * testsuite/melt/tmatch-6.melt: added disjunct into renamed testnameof ... * melt/warmelt-normatch.melt: added class_normtester_orclear ... added freshlist in normpat_orpat... * melt/warmelt-genobj.melt: added compiltst_normtester_orclear... 2010-01-16 Basile Starynkevitch * melt/warmelt-normatch.melt: adding more for or-variables. Still incomplete! 2010-01-16 Basile Starynkevitch {{or patterns should determine their variables and clear them.. tmatch-6 still fails.}} * melt-runtime.c (unsafe_index_mapobject): removed obsolete #if 0 code. * melt/warmelt-macro.melt: a comment macro can take several or non-string arguments to ignore some code with a warning. * melt/warmelt-normatch.melt: adding support for or patterns. added pctn_mapor field to class_pattern_context. Filled that field in scanpat_srcpator. Added class_normal_or_variable and norvar_* fields. Added normvarpat_genreusetest function. Updated normpat_orpat [still incomplete]. * melt/warmelt-genobj.melt: added more debug & backtrace messages. * testsuite/melt/tmatch-6.melt: temporarily commented parts and added more tests. 2010-01-13 Basile Starynkevitch {{tmatch-6 still fails on iparse_field; bug partly identified.}} * melt/warmelt-normatch.melt: apparently the sortedbindings is wrongly handled. Read the comemnts & warnings there. SHOULD BE FIXED. Also renamed class_patterncontext as class_pattern_context. * melt/warmelt-genobj.melt: added debug message. * testsuite/melt/tmatch-6.melt: temporarily comments parts. 2010-01-13 Basile Starynkevitch {{or patterns translated correctly; but tmatch-6 test fails for iparse_field}} * testsuite/melt/tmatch-6.melt: added test_or & uncommented iparse_field. * Makefile.in (melt.encap): added explicit warmelt2 make. * melt/warmelt-first.melt: improved debug printing methods. Don't dive into object's fields when depth is to deep. Added obj_num in debugprinting of symbols. * melt/warmelt-normatch.melt: put_tester_then handles disjunctions correctly. set_newtester_lastthen renamed as set_new_tester_last_then. set_newtester_allelses renamed as set_new_tester_all_elses. added more debug messages & asserts. * melt/warmelt-genobj.melt: compiltst_normtester_disjunction compiles correctly a disjunction by jumping to its then.. 2010-01-11 Basile Starynkevitch {{or patterns probably fail to translate; tmatch-6 test still crashes.}} * melt/warmelt-first.melt: added integer_multiple & integer_greater_than cmatchers mostly for tests. * melt/warmelt-macro.melt: added debug messages in expand_cmatchexpr when warning. * melt/warmelt-normatch.melt: updated copyright year. put_tester_then calls set_newtester_lastthen on disjuncts. added more debug messages. * testsuite/melt/tmatch-6.melt: adding simple or test, and commented the more complex iparse_field. 2010-01-11 Basile Starynkevitch {{added new crashing test tmatch-6.melt from commented code in warmelt-infixsyntax.melt}} * melt/warmelt-first.melt: added closure cmatcher & corrected typo in foreach_long_upto citerator. added all the class_infix_*. * melt/warmelt-macro.melt: added debug messages in parse_field_pattern * melt/warmelt-infixsyntax.melt: added more code, but commented part of it which crashes the MELT translator. Exporting classes & values. * melt-runtime.c (meltgc_infix_lexeme): accepting #\_ as the space character in MELT infix syntax. * testsuite/melt/tmatch-6.melt: added new crashing test case. 2010-01-08 Basile Starynkevitch {{merged with trunk rev 155725, and minor additions}} * melt-runtime.c: removed useless trailing spaces. * melt/warmelt-infixsyntax.melt: added more, notably class_infix_parser, class_infix_delimiter some delimiters and our backtrackable getlex & peeklex functions. Still very incomplete. * melt/warmelt-outobj.melt: added the translate_macroexpanded_list function to ease factoring out the common translation between infix & lisp syntaxes. 2010-01-07 Basile Starynkevitch {{start adding alternative infix parser}} * melt-predef.list: added CLASS_SEXPR_MACROSTRING, CLASS_INFIX_* and updated copyright. * melt-runtime.h (meltgc_open_infix_file, meltgc_open_infix_file) (meltgc_close_infix_file, meltgc_infix_lexeme, FSINFLEX_LOCATION) (FSINFLEX_DATA): added declarations. * melt-runtime.c: removed some useless spaces. (meltgc_open_infix_file, meltgc_open_infix_file) (meltgc_close_infix_file, meltgc_infix_lexeme): added new functions. (commenthandling_en): added COMMENT_INFIX. (skipspace_getc): handled COMMENT_INFIX. (EXTRANAMECHARS): added | (struct reading_st): removed rpgenv unused field. (makesexpr): got an extra ismacrostring argument. (MELT_INFIXREAD_MAGIC, struct infixreading_st, curinfixr): added declarations. (readsexpr, readmacrostringsequence, readval): added argument to makesexpr calls. (meltgc_read_file, meltgc_read_from_rawstring) (meltgc_read_from_val): warn only once for a strange file name and don't set rpgenv field in reading_st. * melt/warmelt-first.melt: added class_sexpr_macrostring class_infix_lexeme class_infix_string_literal class_infix_integer_literal class_infix_symbol class_infix_additive_symbol class_infix_multiplicative_symbol class_infix_relational_symbol class_infix_delimiter class_infix_keyword & lexeme_data field. * melt/warmelt-infixsyntax.melt: added open_infix_file, close_infix_file, infix_lexeme primitives. 2010-01-06 Basile Starynkevitch {{ttuplist.melt test ok!}} * melt/warmelt-first.melt: Updated copyright year. debugprinting of bindings shows their obj_num. * melt/warmelt-normal.melt: normexp_list works. the constructed bindings should have the right obj_num.. * melt/warmelt-genobj.melt: added assert & debugmsg in compilobj_conspairbind * melt/warmelt-outobj.melt: Updated copyright year. In the assert of putpairhead & putpairtail, generate a unique message.. * testsuite/melt/ttuplist.melt: uncommented all. {{regenerated all C files; some didn't change!}} * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. 2010-01-05 Basile Starynkevitch {{ttuplist.melt fails for lists... the generated pairs are not assigned!}} * melt/warmelt-normal.melt: Coded normexp_list which is probably still buggy. * melt/warmelt-genobj.melt: the field names for letrec should take into account the rank of cloned symbols. Updated copyright year. * testsuite/melt/ttuplist.melt: commented some code. 2010-01-04 Basile Starynkevitch * melt/warmelt-macro.melt: Updated copyright year. Check that letrec body is non-empty. * melt/warmelt-normal.melt: normexp_list still unimplemented. normexp_tuple handles correctly internal bindings. * testsuite/melt/ttuplist.melt: more complex, but commented out some code. 2010-01-04 Basile Starynkevitch {{ttuplist.melt test passes for (tuple..)}} * melt/warmelt-normal.melt: normexp_tuple is working. Updated copyright year. 2009-12-19 Basile Starynkevitch {{tletrec3.melt test passes}} * testsuite/melt/tletrec3.melt: added checknonull primitive to make the generated code simpler to proofread. added testinstance1. * melt/warmelt-normal.melt: class_nrep_letrec has no more nletrec_bindings field, but both nletrec_fill_bindings & nletrec_body_bindings fields. Use nletrec_fill_bindings in most normletrec_* functions & updated normexp_nrep_letrec ... * melt/warmelt-genobj.melt: compilobj_nrep_letrec handles correctly both nletrec_fill_bindings & nletrec_body_bindings. {{regenerated all C files}} * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2009-12-18 Basile Starynkevitch {{tletrec3.melt test still fails but shouldn't!}} * testsuite/melt/tletrec2.melt: changed to follow warmelt-normal's normexp_tuple. * testsuite/melt/tletrec3.melt: added asserts about object content.. [[the test fails, but it should not]] * melt/warmelt-first.melt: commented most calls do checkcallstack_msg! * melt/warmelt-normal.melt: added debug_msg & asserts on content of letrec-ed instance! * melt/warmelt-genobj.melt: added lots of debug_msg... replaced some multiple_every with foreach_in_multiple! 2009-12-17 Basile Starynkevitch * melt-runtime.c (melt_debug_depth): test if melt_debug_depth_string is null to avoid crash. * testsuite/melt/tletrec3.melt: added class_abc & class_abcde & instance in the test.. 2009-12-16 Basile Starynkevitch {{tletrec3.melt hence normalization of tuple still badly translated.}} * common.opt (-fmelt-debug-depth): added flag. * melt-runtime.h (melt_debug_depth, melt_error_counter): added new declaration. * melt-runtime.c (melt_argument): handle debug-depth. (melt_debug_depth): added new function. * melt/warmelt-first.melt: added debug_depth & use it in debugmsg & debug_msg_fun. dbgout_mapobject_method closes correctly the brace! * melt/warmelt-normal.melt: normexp_tuple still bad. * melt/warmelt-genobj.melt: added class_objinituniqueobject and use it in compilobj_datasymbol. compiletrec_instance & compilobj_nrep_letrec has more debug messages * melt/warmelt-outobj.melt: outcinitfill_objinitobject handles class_objinituniqueobject. compile_list_sexpr checks several times the melt_error_counter. {{regenerated all files several times}} * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2009-12-14 Basile Starynkevitch {{generated code was wrong for letrec of instances; should regenerate!}} * melt/warmelt-genobj.melt: (compilobj_consinstancebind) sets the length of the generated instance! * testsuite/melt/ttuplist.melt: commented the list example. 2009-12-14 Basile Starynkevitch {{tletrec3.melt runs ok}} * testsuite/melt/tletrec3.melt: added primitives inside letrec bindings.. * melt/warmelt-first.melt: fixed typo. * melt/warmelt-normal.melt: normexp_letrec checking bindlist while handling it. normexp_tuple is still incomplete. * melt/warmelt-genobj.melt: added oiclo_rout field to class_objinitclosure. compilobj_nrep_letrec seems to work. in compiletrec_lambda all tests for is_not_a class_objpurevalue also test for is_a class_objinstr. compilobj_nrep_letrec generates the fill a bit after the recbindings. * melt/warmelt-outobj.melt: outcinitfill_objinitclosure handles oiclo_rout {{regenerated all files several times}} * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2009-12-14 Basile Starynkevitch {{new tletrec3.melt translated, but runs badly}} * testsuite/melt/tletrec3.melt: added new file. * testsuite/melt/ttuplist.melt: added new file. * melt/warmelt-normal.melt: normexp_tuple DONT COMPILE YET so commented out. added nreclist_find_locsym. normletrec_list works better, but still don't handle expressions inside the constructed tuples or lists... * melt/warmelt-genobj.melt: compilobj_nrep_letrec works almost... * melt/warmelt-outobj.melt: outcinitfill_objinitobject emit asserts done only when melt_prohibit_garbcoll is false. typo in outpucod_objputpairhead. 2009-12-14 Basile Starynkevitch {{tletrec2.melt translated ok}} * melt/warmelt-genobj.melt: (compilobj_nrep_letrec) normal bindings can be void, so recobva could be nil and should be ignored. 2009-12-14 Basile Starynkevitch {{tletrec2.melt is failing, so normexp_tuple don't work yet}} * gcc/testsuite/melt/tletrec2.melt: added new file. * melt/warmelt-normal.melt: exporting normal_predef. normexp_tuple don't work so is commented out. * melt/warmelt-genobj.melt: added debug_msg at start of dispose_objloc. {{regenerated all files several times}} * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2009-12-14 Basile Starynkevitch {{tletrec.melt fully translated}} * melt-runtime.h (meltlist_ptr_t): added new typedef. * melt/warmelt-normal.melt: normexp_letrec append the body bindings into the recbindings. * melt/warmelt-genobj.melt: added field oio_class in class_objinitobject. * melt/warmelt-outobj.melt: coded outpucod_objputpairhead, outpucod_objputpairtail, outpucod_objputlist methods. 2009-12-14 Basile Starynkevitch * melt/warmelt-genobj.melt: coded compiletrec_instance, but tletrec.melt test fails. 2009-12-13 Basile Starynkevitch * melt/warmelt-genobj.melt: compiletrec_list coded, but compiletrec_instance is still missing. 2009-12-11 Basile Starynkevitch * melt/warmelt-normal.melt: in normletrec_list use ==i not ==. * melt/warmelt-genobj.melt: added class_objputlist class_objputpairclass_objputpairhead class_objputpairtail & partly coded compilobj_consinstancebind compiletrec_pair compilobj_consinstancebind 2009-12-10 Basile Starynkevitch {{while merging with trunk, avoiding warnings...}} * melt-runtime.c (meltgc_out_printf): FIXME - vasprintf is a GNU extension! (meltgc_load_modulelist) check fgets. (melt_output_cfile_decl_impl_secondary): check getcwd. 2009-12-10 Basile Starynkevitch * testsuite/melt/tletrec.melt: added a quoted string... * melt-runtime.h (struct meltobject_st): removed obj_serial. (melt_obj_serial, melt_object_set_serial): trivial deprecated functions. (MELT_OBJECT_STRUCT): removed obj_serial inside it. * melt-runtime.c (forwarded_copy, melt_serial_1, melt_serial_2) (melt_serial_3, melt_countserial, melt_object_set_serial): removed. (meltgc_new_raw_object): removed obj_serial inside it. * melt/warmelt-first.melt: removed or trivialized all serial related code. * melt/warmelt-normal.melt: updated normletrec_list, normletrec_pair, normletrec_instance * melt/warmelt-genobj.melt: added compilobj_conspairbind, compilobj_conslistbind, compilobj_consinstancebind functions as methods for compile_obj of constructive bindings. added class_objinitlist class_objinitpair. * melt/warmelt-outobj.melt: added output_c_declinit & output_c_initial_fill methods of class_objinitlist & class_objinitpair. * melt/ana-simple.melt: removed obj_serial... 2009-12-09 Basile Starynkevitch * melt/warmelt-normal.melt: normletrec_instance still incomplete... * melt/warmelt-outobj.melt: removed toplevel debug print... 2009-12-09 Basile Starynkevitch * melt/warmelt-normal.melt: normletrec_list should be ok. * testsuite/melt/tletrec.melt: uncommented bigger test. 2009-12-08 Basile Starynkevitch * melt/warmelt-genobj.melt: compiletrec_lambda is filling the lambda, and compilobj_nrep_letrec is clearing in the epilogue... 2009-12-08 Basile Starynkevitch * Makefile.in (melt-runtime.o): Passing quoted -DMELT_MODULE_CFLAGS. * common.opt: added -fmelt-module-cflags. * melt-runtime.c (MELT_MODULE_CFLAGS melt_module_cflags): new constant & variable. (compile_module_to_binary): handle -fmelt-module-cflags defaulted by GCCMELT_MODULE_CFLAGS environment variable if any. * testsuite/melt/tletrec.melt: removed -fmelt-compile-script in comment. 2009-12-07 Basile Starynkevitch * doc/melt.texi (MELT syntax constructs): fixed typo by adding missing brace. 2009-12-07 Basile Starynkevitch {{tletrec.c is generated, but probably incomplete}} * melt-make.mk: set the random-seed systematically. * melt/warmelt-outobj.melt: outpucod_objmultiallocblock coded a bit more. 2009-12-07 Basile Starynkevitch * Makefile.in: generated C files goes into gcc/melt/generated/ * melt-make.mk: added empty warmelt-infixsyntax.melt and the warmelt-infixsyntax module. added melt/generated/ directory to vpath for %.c * melt-runtime.c (readassoc): removed and the { .. } syntax for them. (skipspace_getc): handling ;;## comments specially, like a #line directive in C. * melt/warmelt-infixsyntax.melt: new empty file. * melt/warmelt-normal.melt: typos. * melt/warmelt-macro.melt: no more class_source_make_instance as synonym.. * doc/melt.texi: updated documentation (no more make_instance and mention letrec tuple list ... constructive expressions). * melt/generated/ : added directory and moved bootstrapped generated C files inside. {{regenerated all files}} * melt/generated/warmelt-first.0+01.c: Regenerated. * melt/generated/warmelt-first.0+02.c: Regenerated. * melt/generated/warmelt-first.0.c: Regenerated. * melt/generated/warmelt-genobj.0+01.c: Regenerated. * melt/generated/warmelt-genobj.0+02.c: Regenerated. * melt/generated/warmelt-genobj.0+03.c: Regenerated. * melt/generated/warmelt-genobj.0.c: Regenerated. * melt/generated/warmelt-infixsyntax.0.c: Regenerated. * melt/generated/warmelt-macro.0+01.c: Regenerated. * melt/generated/warmelt-macro.0+02.c: Regenerated. * melt/generated/warmelt-macro.0.c: Regenerated. * melt/generated/warmelt-normal.0+01.c: Regenerated. * melt/generated/warmelt-normal.0+02.c: Regenerated. * melt/generated/warmelt-normal.0.c: Regenerated. * melt/generated/warmelt-normatch.0.c: Regenerated. * melt/generated/warmelt-outobj.0+01.c: Regenerated. * melt/generated/warmelt-outobj.0+02.c: Regenerated. * melt/generated/warmelt-outobj.0+03.c: Regenerated. * melt/generated/warmelt-outobj.0.c: Regenerated. 2009-12-05 Basile Starynkevitch * melt-make.mk: the warmelt*0.so is not dynamic, but the warmelt*0.c are made both as dynamic modules and as ordinary ones. * run-melt.h: Updated copyright year & comment (GPLv3+). * melt-runtime.c (meltgc_new_string_generated_c_filename): generate names like warmelt*+02.c .. * melt-runtime.h: typos & indentation of macros. * melt/warmelt-genobj.melt: output_c_initfill & output_c_initpredef selectors renamed as output_c_initial_fill & output_c_initial_predef selectors with different signature, taking the pointer string [=the C name of the pointer to be filled] & depth as explicit argument. * melt/warmelt-outobj.melt: all outcinit* functions, i.e. methods for above output_c_initial_fill & output_c_initial_predef selectors, and their call sites, updated to use the new pointer string & depth arguments, etc. {regenerated all twice} * melt/warmelt*+[1-9].c: renamed as gcc/melt/warmelt*+0[1-9].c, so warmelt*+1.c renamed as warmelt*+01.c etc... * melt/warmelt-normal.0.c: Regenerated. * melt/warmelt-outobj.0.c: Regenerated. * melt/warmelt-first.0+01.c: Regenerated. * melt/warmelt-first.0+02.c: Regenerated. * melt/warmelt-normal.0+01.c: Regenerated. * melt/warmelt-normal.0+02.c: Regenerated. * melt/warmelt-macro.0+01.c: Regenerated. * melt/warmelt-macro.0+02.c: Regenerated. * melt/warmelt-outobj.0+01.c: Regenerated. * melt/warmelt-outobj.0+02.c: Regenerated. * melt/warmelt-outobj.0+03.c: Regenerated. * melt/warmelt-first.0.c: Regenerated. * melt/warmelt-macro.0.c: Regenerated. * melt/warmelt-genobj.0.c: Regenerated. * melt/warmelt-normatch.0.c: Regenerated. * melt/warmelt-genobj.0+01.c: Regenerated. * melt/warmelt-genobj.0+02.c: Regenerated. * melt/warmelt-genobj.0+03.c: Regenerated. 2009-12-05 Basile Starynkevitch * plugin.c (FMT_FOR_PLUGIN_EVENT): was defined twice. 2009-12-04 Basile Starynkevitch {{regenerated several times; the previous commit didn't build!!}} * melt-make.mk: have rules for warmelt-%.0.so & for warmelt-%.0.d.so. warmelt0.modlis is not dynamic module. * melt-module.mk: reverted override for meltmodulerawdynamic * melt/warmelt-first.0.c: Regenerated. * melt/warmelt-normal.0.c: Regenerated. * melt/warmelt-macro.0.c: Regenerated. * melt/warmelt-outobj.0.c: Regenerated. * melt/warmelt-genobj.0.c: Regenerated. * melt/warmelt-normatch.0.c: Regenerated. {{other regenerated files didn't change}} 2009-12-04 Basile Starynkevitch {{letrec still incomplete}} * melt/warmelt-genobj.melt: added obrout_cntletrec & omalblo_name fields. compilobj_nrep_letrec generates a name. * melt/warmelt-outobj.melt: adding outpucod_objmultiallocblock. * melt-module.mk (meltmodulerawdynamic): added override. {{regenerated}} * melt/warmelt-first.0+1.c: Regenerated. * melt/warmelt-first.0+2.c: Regenerated. * melt/warmelt-first.0.c: Regenerated. * melt/warmelt-genobj.0+1.c: Regenerated. * melt/warmelt-genobj.0+2.c: Regenerated. * melt/warmelt-genobj.0+3.c: Regenerated. * melt/warmelt-genobj.0.c: Regenerated. * melt/warmelt-macro.0+1.c: Regenerated. * melt/warmelt-macro.0+2.c: Regenerated. * melt/warmelt-macro.0.c: Regenerated. * melt/warmelt-normal.0+1.c: Regenerated. * melt/warmelt-normal.0+2.c: Regenerated. * melt/warmelt-normal.0.c: Regenerated. * melt/warmelt-normatch.0.c: Regenerated. * melt/warmelt-outobj.0+1.c: Regenerated. * melt/warmelt-outobj.0+2.c: Regenerated. * melt/warmelt-outobj.0+3.c: Regenerated. * melt/warmelt-outobj.0.c: Regenerated. 2009-12-04 Basile Starynkevitch {{letrec still incomplete}} * melt/warmelt-genobj.melt: compilobj_nrep_letrec, added free & clear of our objloc and compilation of the body.. 2009-12-03 Basile Starynkevitch {{letrec still incomplete}} * melt/warmelt-normal.melt: normexp_letrec puts the nbody.. * melt/warmelt-genobj.melt: compilobj_nrep_letrec should have the nbdy.. 2009-12-03 Basile Starynkevitch {{more work for letrec still incomplete}} * melt/warmelt-genobj.melt: compilobj_nrep_letrec clearing location and splitting free location allocation from use, so loops twice on recbnds 2009-12-02 Basile Starynkevitch {{more work for letrec but incomplete}} * melt/warmelt-genobj.melt: added touch generation in compiletrec_tuple & compiletrec_lambda. compilobj_nrep_letrec still incomplete. * melt/warmelt-outobj.melt: moved debug_msg in install_melt_mode. 2009-12-02 Basile Starynkevitch {{more work for letrec, but tletrec.melt test is failing still}} * melt/REAME-MELT: updated a bit, don't mention melt-cc-script anymore. * melt/warmelt-genobj.melt: added compiletrec_lambda & compiletrec_tuple but they probably don't work yet. * melt/warmelt-outobj.melt: don't inform about generated C files, since the runtime inform about these.. 2009-12-01 Basile Starynkevitch * Makefile.in (upgrade-warmelt, upgrade-bigmelt): recoded entirely the commands to consider secondarily generated C files. {{regenerated, and added secondary C files}} * melt/warmelt-first.0+1.c: Regenerated & added. * melt/warmelt-first.0+2.c: Regenerated & added. * melt/warmelt-first.0.c: Regenerated. * melt/warmelt-genobj.0+1.c: Regenerated & added. * melt/warmelt-genobj.0+2.c: Regenerated & added. * melt/warmelt-genobj.0+3.c: Regenerated & added. * melt/warmelt-genobj.0.c: Regenerated. * melt/warmelt-macro.0+1.c: Regenerated & added. * melt/warmelt-macro.0+2.c: Regenerated & added. * melt/warmelt-macro.0.c: Regenerated. * melt/warmelt-normal.0+1.c: Regenerated & added. * melt/warmelt-normal.0+2.c: Regenerated & added. * melt/warmelt-normal.0.c: Regenerated. * melt/warmelt-normatch.0.c: Regenerated. * melt/warmelt-outobj.0+1.c: Regenerated & added. * melt/warmelt-outobj.0+2.c: Regenerated & added. * melt/warmelt-outobj.0+3.c: Regenerated & added. * melt/warmelt-outobj.0.c: Regenerated. 2009-11-30 Basile Starynkevitch * doc/melt.texi (Invoking MELT): documenting -fmelt-single-c-file & moved @end table... * melt-make.mk: added warmelt2 & warmelt3 targets.. * testsuite/melt/tmultifil.melt: added more functions up to f49. * melt/warmelt-genobj.melt: ratio of number of functions per secondary file increased to 32. * melt-runtime.c (melt_wants_single_c_file): moved function downwards, and removed the temporary warning message.. 2009-11-28 Basile Starynkevitch secondary C file generation seems to work. * testsuite/melt/tmultifil.melt: added new file. * melt-runtime.h (melt_output_cfile_decl_impl_secondary): new declaration. (melt_output_cfile_decl_impl) inlined function. * melt-runtime.c (melt_output_cfile_decl_impl) renamed as (melt_output_cfile_decl_impl_secondary) and handle filrank argument. * melt/warmelt-outobj.melt: some components of secfiles can be nil. Calling melt_output_cfile_decl_impl_secondary. 2009-11-27 Basile Starynkevitch {{MELT branch is still instable. secondary C files generation don't work yet. Temporarily, the GCCMELT_SINGLE_C_FILE environment variable should be set to YES.}} * melt-runtime.h (meltgc_new_string_generated_c_filename) (melt_wants_single_c_file): added new declarations. * melt-runtime.c (melt_wants_single_c_file): new function, with temporary warning. (meltgc_new_string_raw_len, meltgc_new_stringdup) (meltgc_new_string_nakedbasename): if the discriminant is null, take DISCR_STRING as default. (meltgc_new_string_generated_c_filename): added new function. * melt-module.mk: GCCMELT_GCC is gcc by default. * melt/warmelt-genobj.melt: added GENERATED_C_FILENAME & WANTS_SINGLE_C_FILE internal primitives, NTH_SECUNDARY_FILE internal function, but secondary C files don't work yet in COMPILE_LIST_SEXPR 2009-11-26 Basile Starynkevitch [preparing to generate secondary C files foo+1.c with foo.c for MELT file foo.melt] * common.opt: added -fmelt-single-c-file. * run-melt.h: Updated comment. * melt-runtime.c: (melt_argument): added "single-c-file". (melt_dynobjstruct_fieldoffset_at): uses the "meltfieldoff__" prefix. (melt_dynobjstruct_classlength_at): uses the "meltclasslen__" prefix. (melt_output_cfile_decl_impl): detects correctly equal old & new c files, and uses stat to get their length. * melt/melt-first.melt: added mocx_funcount & mocx_filetuple to class_module_context. * melt/warmelt-normal.melt: added class_nrep_defunroutproc & class_nrep_lambdaroutproc, and instanciate them appropriately. * melt/warmelt-genobj.melt: added oprout_filenum to class_procroutineobj & compute it. * melt/warmelt-outobj.melt: still incomplete, but added more. * melt-module.mk: removed echo. {{regenerated files, because added fields to class_module_context which are "forard referenced"}} * melt/warmelt-macro.0.c: Regenerated. * melt/warmelt-outobj.0.c: Regenerated. * melt/warmelt-genobj.0.c: Regenerated. * melt/warmelt-normatch.0.c: Regenerated. * melt/warmelt-normal.0.c: Regenerated. * melt/warmelt-first.0.c: Regenerated. 2009-11-25 Basile Starynkevitch {painfully removing the melt-cc-script, and using a melt-module.mk makefile instead. The code is unstable, and not even tested in plugin mode!} * melt-cc-script.proto: removed file. * melt-module.mk: added file. * melt-make.mk: using make instead of melt-cc-script... so has been CHANGED A LOT!!! * common.opt: removed -fmelt-compile-script= and added fmelt-module-makefile= & fmelt-module-make-command= * Makefile.in: removed all the tricks related to melt-cc-script. (melt-runtime.o): added default MELT_MODULE_MAKEFILE & MELT_MODULE_MAKE_COMMAND. * melt-runtime.c (melt_module_make_command, melt_module_makefile): new variables. (melt_argument): handle module-makefile & module-make-command but no more compile-script. (obstack_add_escaped_path): new function. (compile_to_dyl): removed, since renamed as (compile_module_to_binary) which gets an extra argument for the work directory. * melt/warmelt-outobj.melt: added a warning to consider outputting to several C files... 2009-11-24 Basile Starynkevitch * melt-runtime.c: all included files are now plugin installed! Replaced all basename () calls with lbasename. Added parsedmeltfilevect so free the melt file paths at end. (meltgc_read_file): Added parsedmeltfilevect & push filenamdup inside. Check that the MELT file name is good looking (no + sign in the basename part). (do_finalize_melt): free the parsedmeltfilevect. 2009-11-24 Basile Starynkevitch * melt-make.mk: generate warmelt*.[0-3].c files instead of warmelt*-[0-3].c and so on... * run-melt.h: added MELT_MODULE_VISIBILITY * melt-runtime.c (meltgc_load_melt_module): don't accept + in module names. special hack for warmelt*.1.n files. * melt/warmelt-genobj.melt: Generated routines have more unique names. * melt/warmelt-outobj.melt: the mocx_modulename is naked in module contexts. Generated routines have MELT_MODULE_VISIBILITY. * melt/warmelt-macro.0.c: Regenerated. * melt/warmelt-outobj.0.c: Regenerated. * melt/warmelt-genobj.0.c: Regenerated. * melt/warmelt-normatch.0.c: Regenerated. * melt/warmelt-normal.0.c: Regenerated. * melt/warmelt-first.0.c: Regenerated. * testsuite/g++.dg/init/placement5.C merged from trunk. 2009-11-23 Basile Starynkevitch * melt/warmelt-genobj.melt: compile_letrec_fill = new selector. compilobj_nrep_letrec doing more. 2009-11-23 Basile Starynkevitch * melt-make.mk: added warmelt1 warmelt2 warmelt3 targets. * melt/warmelt-normal.melt: better normletrec_lambda... * melt/warmelt-genobj.melt: more in compilobj_conslambdabind... 2009-11-21 Basile Starynkevitch * melt/warmelt-normal.melt: export_synonym should generate a classlen__ or fldoff__ * melt/warmelt-genobj.melt: added class_objmultiallocblock for compilation of letrec. * melt/warmelt-outobj.melt: added outpucod_objmultiallocblock stub. 2009-11-19 Basile Starynkevitch * warmelt-first.melt: foreach_in_multiple changed to use the given index which can be assigned for skipping or loop exiting purposes. * warmelt-normal.melt: added normalization of letrec-bound symbols 2009-11-19 Basile Starynkevitch * Makefile.in (MELT_CFLAGS): don't put -gtoogle inside. (built-melt-cc-script,install-melt-cc-script): also depends upon Makefile. 2009-11-17 Basile Starynkevitch * melt-make.mk: added warmelt2b target... * run-melt.mk: removed commented code... * melt/warmelt-normal.melt: renamed: class_nrep_expr -> class_nrep_expression class_nrep_typexpr -> class_nrep_typed_expression; added class_nrep_typed_expression_with_arguments with nexp_args field. * melt/warmelt-normatch.melt: renamed as above. * melt/warmelt-genobj.melt: ditto * melt/warmelt-outobj.melt: ditto, added debug_msg & assert... {regenerated files several times} * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-11-12 Basile Starynkevitch * melt/warmelt-normal.melt: normletrec_lambda could be ok. normletrec_tuple is incomplete. class_normal_constructed_lambda_binding has nlambdab_nclosed nlambdab_rout as fields. 2009-11-12 Basile Starynkevitch * plugin.c (FMT_FOR_PLUGIN_EVENT): added definition. (dump_active_plugins): output to file everything. Use internationalized dump & FMT_FOR_PLUGIN_EVENT. * testsuite/melt/tletrec.melt: simplified. * melt/warmelt-normal.melt: more debug printing... not sure of the oldenv & newenv in call to normalize_lambda inside normletrec_lambda. * melt/warmelt-genobj.melt: added stub for compilobj_nrep_letrec. 2009-11-11 Basile Starynkevitch * melt-runtime.h: melt_assertmsg & melt_checkmsg expanded to a do{}while(0) with MELT_UNLIKELY * melt-runtime.c (do_initial_mode): Added an explicit modstr argument. Removed uselesss #if 0-ed code. Acccepts comma separated multiple modes. * doc/melt.texi: document that the mode can be multiple, comma-separated. 2009-11-10 Basile Starynkevitch * melt/warmelt-normal.melt: still working on letrec... Added class_nrep_letrec. * testsuite/melt/tletrec.melt: even more simple case first. 22009-11-09 Basile Starynkevitch * melt/warmelt-normal.melt: still working on letrec... * testsuite/melt/tletrec.melt: added a simplistic case first. 009-11-07 Basile Starynkevitch * melt/warmelt-normal.melt: misplaced compile_warning in a multicall in normletrec_lambda. * melt/warmelt-macro.melt: added check for called s-expr in mexpand_multicall. 2009-11-07 Basile Starynkevitch * melt/warmelt-normal.melt: normalize_lambda has both old & new environments as arguments. normexp_symbol should handle letrec constructed bindings. normletrec_lambda does not work. * testsuite/melt/tletrec.melt: added u as a closed var. 2009-11-06 Basile Starynkevitch * melt-cc-script.proto: ttypo added k flag to getopt... 2009-11-06 Basile Starynkevitch [adding normal_letrec_constructive for letrec...] * melt/warmelt-normal.melt: began coding normletrec_lambda. * melt-cc-script.proto: added -k flag to keep the temporary files. {regenerated files} * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-11-06 Basile Starynkevitch * melt/warmelt-normal.melt: adding normal_letrec_constructive. 2009-11-05 Basile Starynkevitch [still implementing letrec...] * melt/warmelt-normal.melt: more for letrec ... 2009-11-04 Basile Starynkevitch [still implementing letrec...] * melt/warmelt-normal.melt: more for letrec ... 2009-11-04 Basile Starynkevitch [renamed make_instance as instance everywhere... still implementing letrec..] * melt/warmelt-macro.melt: renamed class_source_make_instance as class_source_instance * melt/warmelt-normal.melt: renamed class_nrep_make_instance as class_nrep_instance; added various prepcons_* functions for prepare_constructor_binding; still working on letrec... * melt/warmelt-normatch.melt: using instance instead of make_instance. * melt/warmelt-genobj.melt: using class_nrep_instance instead of class_nrep_make_instance... 2009-10-29 Basile Starynkevitch * melt/warmelt-first.melt: added discr_any_receiver as disc_super of class_root. * melt/warmelt-normal.melt: added prepare_constructor_binding selector... and more in normexp_letrec ... 2009-10-29 Basile Starynkevitch * melt/warmelt-normal.melt: added normalize_lambda internal function to help sharing code between normexp_lambda and normalization of lambda-s in letrecs 2009-10-28 Basile Starynkevitch * testsuite/melt/tletrec.melt: added new file. * melt/warmelt-macro.melt: mexpand_letrec done... * melt/warmelt-normal.melt: added class_normal_constructor_binding class_normal_constructed_tuple_binding class_normal_constructed_pair_binding class_normal_constructed_list_binding class_normal_constructed_lambda_binding class_normal_constructed_instance_binding .... should add more for letrec... 2009-10-28 Basile Starynkevitch [Begin adding letrec, tuple, list, constructs....] * melt/warmelt-first.melt: added class_letrec_binding * melt/warmelt-macro.melt: renamed class_sourcepattern* as class_source_pattern. Added class_source_letrec_binding. Added class_source_list & class_source_tuple. Macroexpansion of letrec is still incomplete. * melt/warmelt-normal.melt: added incomplete stub for normalization of tuple list letrec. 2009-10-27 Basile Starynkevitch * melt/warmelt-macro.melt: documented more again. Renamed all class_sourcepattern_* classes as class_source_pattern_* classes. Start adding tuple & list patmacros. * melt/warmelt-normatch.melt: same renaming as above. 2009-10-27 Basile Starynkevitch * melt/warmelt-macro.melt: documented more. class_source_letbinding renamed as class_source_let_binding. * melt/warmelt-normal.melt: same renaming. 2009-10-26 Basile Starynkevitch * melt/warmelt-macro.melt: parse_field_assignment warns when used with a field synonym. added class_source_argumented_operator. The following classes have been refactored to inherit from it: class_source_apply class_source_msend class_source_primitive class_source_citeration class_source_cmatchexpr class_source_funmatchexpr class_source_return, so they have their field sapp_args msend_args sprim_args scmatx_args sfmatx_args sreturn_args replaced by the sargop_args field. * melt/warmelt-normal.melt: renamed fields likewise! [regenerated several times, since we refactored classes!] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-25 Basile Starynkevitch * melt/warmelt-first.melt: added !=s primitive. * melt/warmelt-macro.melt: added warning when a field is accessed by a synonym keyword. 2009-10-25 Basile Starynkevitch * doc/melt.texi: corrected stuff, adding more tutorial, much more to write there... 2009-10-25 Basile Starynkevitch * melt/warmelt-macro.melt: adding documentation. Renamed sreturn_body as sreturn_args. [regenerated, since we renamed a field!] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-23 Basile Starynkevitch * melt/warmelt-first.melt: done documentation and cleanup. Removed get_value. 2009-10-23 Basile Starynkevitch * melt/warmelt-first.melt: more documentation. 2009-10-23 Basile Starynkevitch * melt/warmelt-first.melt: more documentation. Removed mapstringval_every mapstringval_iterate_test pairlist_every pairlist_iterate_test and added foreach_in_multiple_backward. 2009-10-17 Basile Starynkevitch * melt/warmelt-first.melt: more documentation. Renamed displaydebugmsg as display_debug_message. * melt/warmelt-genobj.melt: renamed displaydebugmsg as display_debug_message. * melt/warmelt-outobj.melt: likewise. 2009-10-16 Basile Starynkevitch [the value importer takes the imported symbol name cstring as an extra argument and also the module name as a string. Also renamed class_debuginfo => class_debug_information class_genercontext => class_c_generation_context class_initgenercontext => class_initial_generation_context class_modulecontext => class_module_context class_normcontext => class_normalization_context class_normlet_binding => class_normal_let_binding class_objcode => class_generated_c_code class_src => class_source ] * melt/warmelt-first.melt: added more documentation. Renamed classes as above. The value import protocol has been enhanced. The module's name is added to the imported as an extra raw c-string argument. * melt/warmelt-macro.melt: Renamed classes as above. * melt/warmelt-normal.melt: Renamed classes as above. * melt/warmelt-genobj.melt: Renamed classes as above. compile2obj_initproc improved to add the module's name in imports. * melt/warmelt-outobj.melt: Renamed classes as above. [regenerated, since we renamed important classes, and since the import protocol has changed - it has an another extra string argument for the module!] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-16 Basile Starynkevitch [the value importer takes the imported symbol name cstring as an extra argument; this facilitates error messages in the importer when the import is failing. Also renamed class_clonedsymbol as class_cloned_symbol.] * melt/warmelt-first.melt: added more documentation. Renamed class_clonedsymbol as class_cloned_symbol. The class_delayed_queue is now private so is not exported. The value importer takes a extra :cstring argument and displays an error when failing. Several functions put inside initial_system_data are no more exported. * melt/warmelt-normal.melt: renamed class_clonedsymbol as class_cloned_symbol. * melt/warmelt-genobj.melt: likewise. compile2obj_initproc improved to better generated import of values. * melt/warmelt-outobj.melt: likewise. * melt-make.mk: file warmelt-first*.c is specific [because it has no parent module] so should never be compiled in "dynamic" mode into a warmelt-first*.d.so. This is to enable it to define a private class, like class_delayed_queue. [regenerated, since the import protocol has changed - it has an extra string argument!] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-16 Basile Starynkevitch * melt/warmelt-first.melt: added more documentation. 2009-10-15 Basile Starynkevitch * melt-runtime.c (compile_to_dyl): getcwd checked for failure. 2009-10-15 Basile Starynkevitch [most important renaming done] * run-melt.h: commented out uneeded #define * melt-predef.list: renamed: ATOM_TRUE => TRUE == :true DISCR_CHARINTEGER => DISCR_CHARACTER_INTEGER, DISCR_METHODMAP => DISCR_METHOD_MAP. * melt-runtime.c (readhashescape) replaced DISCR_CHARINTEGER => DISCR_CHARACTER_INTEGER * melt/warmelt-first.melt: above renaming, and commented all export_synonym, and :ctype_altkeyword, and handling :true specially by calling MELT_STORE_PREDEF on it. * melt/warmelt-macro.melt: renaming as above. * melt/warmelt-normal.melt: renaming as above. * melt/warmelt-normatch.melt: renaming as above. * melt/warmelt-genobj.melt: renaming as above. * melt/warmelt-outobj.melt: renaming as above. * melt/ana-base.melt: renaming as above. * melt/ana-simple.melt: renaming as above. [regenerated painfully a lot of times!] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-15 Basile Starynkevitch [still renaming...] * melt-predef.list: renaming *BASICBLOCK *GIMPLE_SEQ *MAP* * melt-runtime.c (meltgc_new_gimpleseq) renamed DISCR_GIMPLESEQ as DISCR_GIMPLE_SEQ (meltgc_new_basicblock) renamed DISCR_BASICBLOCK as DISCR_BASIC_BLOCK. (readassoc) renamed DISCR_MAPOBJECTS as DISCR_MAP_OBJECTS. * run-melt.h: other temporary #define-s. * melt/warmelt-first.melt: added renames ctype :basicblock ==> :basic_block ctype :gimpleseq ==> :gimple_seq and discr_basicblock => discr_basic_block) discr_gimpleseq => discr_gimple_seq) discr_mapobjects => discr_map_objects) discr_mapbasicblocks => discr_map_basic_blocks) discr_mapedges => discr_map_edges) discr_mapgimples => discr_map_gimples) discr_mapgimpleseqs => discr_map_gimple_seqs) discr_mapstrings => discr_map_strings) discr_maptrees => discr_map_trees) .. * melt/ana-base.melt: did :gimpleseq ==> :gimple_seq && :basicblock ==> :basic_block .. 2009-10-15 Basile Starynkevitch [starting renaming...] * melt-predef.list: sorted alphabetically & some renamed... * melt-runtime.h: renamed DISCR_NULLRECV as DISCR_NULL_RECEIVER & DISCR_CONSTINTEGER as DISCR_CONSTANT_INTEGER. * melt-runtime.c (meltgc_new_mixbigint_mpz): renamed DISCR_MIXBIGINT as DISCR_MIXED_BIGINT. (meltgc_send): renamed DISCR_NULLRECV as DISCR_NULL_RECEIVER. (makesexpr): renamed DISCR_MIXEDINT as DISCR_MIXED_INTEGER & DISCR_MIXEDLOC as DISCR_MIXED_LOCATION. * run-melt.h: temporary added #define-s [oldpredef newpredefname]. Should remove them as soon as possible. * melt/warmelt-first.melt: renaming class_discr => class_discriminant discr_anyrecv => discr_any_receiver discr_constinteger => discr_constant_integer discr_mixbigint => discr_mixed_bigint discr_mixedint => discr_mixed_integer discr_mixedloc => discr_mixed_location discr_namestring => discr_name_string discr_nullrecv => discr_null_receiver discr_verbatimstring => discr_verbatim_string discr_seqclass => discr_class_sequence discr_seqfield => discr_field_sequence with temporary export_synonym for old compatibility. 2009-10-15 Basile Starynkevitch [adding machinery to ease renaming, notably alternate keywords in ctypes & export_synonym.] * melt/warmelt-first.melt: added ctype_altkeyword to class_ctype. * melt/warmelt-macro.melt: added export_synonym macro & class_src_export_synonym and its mexpander. In bindings and primitives, ctypes can be given by their alternate keyword - producing a warning. * melt/warmelt-normal.melt: added implementation of export_synonym in normexp_export_synonym. * testsuite/melt/tsynonym.melt: added new testcase for export_synonym. it works! [regenerated since will soon rename a lot of stuff...] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-14 Basile Starynkevitch * melt-runtime.h (melt_unsafe_magic_discr): added new inlined function. * melt/warmelt-first.melt: added more documentation. use melt_unsafe_magic_discr in *_or_null tests. 2009-10-13 Basile Starynkevitch * melt/warmelt-first.melt: added a lot more documentations and using more macrostrings. Removed output_cfile_decl_impl. * melt/warmelt-outobj.melt: use a code_chunk to call melt_output_cfile_decl_impl. 2009-10-13 Basile Starynkevitch [renamed command to mode] * doc/melt.texi: updated. * melt-make.mk: added dependency on warmelt-predef.melt. warmeltallbig produces the warmelt*0.c file in build directory! * run-melt.h: removed temporary #define-s of MELTGLOB_CLASS_MELT_COMMAND & FSYSDAT_COMMAND_DICT. * testsuite/melt/testrun1.melt: removed file. * melt-runtime.c: renamed command to mode everywhere! (melt_garbcoll) when not quiet_mode, show stats on stderr! (readmacrostringsequence): added warnings when macrostring contains #{ without escapes. This probably means a badly closed previous macrostring. (do_initial_mode): renamed, it was do_initial_command before. (load_melt_modules_and_do_mode): renamed, it was load_melt_modules_and_do_command before. (melt_really_initialize) call changed to load_melt_modules_and_do_mode. * melt/ana-simple.melt: renamed command as mode everywhere. * melt/warmelt-outobj.melt: renamed install_melt_command as install_melt_mode. and fields meltcmd_* as meltmode_*, eg meltmode_help meltmode_fun. [regenerated since renamed command as mode etc...] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-10-13 Basile Starynkevitch [begin renaming commands to modes] * melt-make.mk: added more dependencies on $(melt_make_compile_script) * run-melt.h: added temporary #define-s of MELTGLOB_CLASS_MELT_COMMAND & FSYSDAT_COMMAND_DICT * melt-runtime.h: renamed FSYSDAT_COMMAND_DICT as FSYSDAT_MODE_DICT * melt-predef.list: renamed CLASS_MELT_COMMAND as CLASS_MELT_MODE * melt-runtime.c: (meltgc_add_out_raw_len) we got a buffer overflow; replaced strcpy with strncpy ...! (READ_ERROR): use LINEMAP_POSITION_FOR_COLUMN to give a more precise location in parsing errors! (readmacrostringsequence): added assert. (readval): moved lineno declaration and handled closing parenthesis with a better error message. (do_initial_command): replaced FSYSDAT_COMMAND_DICT with FSYSDAT_MODE_DICT & CLASS_MELT_COMMAND with CLASS_MELT_MODE. (load_melt_modules_and_do_command): likewise. * Makefile.in: added $(melt_make_compile_script) dependency. 2009-10-09 Basile Starynkevitch [during merge with trunk 152583 the version information from GCC is used, not the checksum of the executable!] * melt-runtime.h (melt_gccversionstr): added extern declaration. * melt-runtime.c: Moved the #include before everything else. Updated comment NOTE about gengtype - which is now compatible with the trunk's. (melt_gccversionstr): added declaration. (load_checked_dynamic_module_index): use a gcc version string in modules, not a checksum of the executable. (melt_really_initialize): get a second argument for the gcc version string. Initialize melt_gccversionstr with it. (plugin_init): Build the gccversionstr out of gcc_version structure. (melt_initialize): calls melt_really_initialize with version_string. (melt_output_cfile_decl_impl): generates a genversionstr_melt instead of a genchecksum_melt. 2009-10-08 Basile Starynkevitch * melt/warmelt-first.melt: typos... * melt/warmelt-normatch.melt: typos... * gengtype.c: typos... 2009-10-02 Basile Starynkevitch * testsuite/melt/tfunmatch-1.melt: changed comment; this test is passing! * melt/warmelt-macro.melt: typos.. * melt/warmelt-normal.melt: normexp_funmatchexpr completed. normexp_msend is testing the compatibility of method signature. 2009-10-01 Basile Starynkevitch [http://gcc.gnu.org/ml/gcc-patches/2009-10/msg00014.html] * gengtype.c (write_types): Moved call to write_func_for_structure into separate loops to ensure that all the functions are emitted after their declarations and #define-d macros. 2009-09-30 Basile Starynkevitch * Makefile.in: melt-runtime.o does not need -Wno-error. * melt-runtime.h: Removed triples, struct melttriple_st & OBMAG_TRIPLE, we never used them! * melt-runtime.c: updated comments about notpluginincludes. (check_pointer_at, forwarded_copy, scanning, readsimplelong) (melt_debug_out): Removed OBMAG_TRIPLE. 2009-09-29 Basile Starynkevitch [defselectors can give a signature] * melt/warmelt-macro.melt: added :sdefsel_formals inside class_src_defselector, and updated the defselector macro accordingly. * melt/warmelt-normal.melt: handling the formals inside defselector [not yet tested]. * melt/warmelt-outobj.melt: should handle selectors. 2009-09-29 Basile Starynkevitch * melt/warmelt-first.melt: added more documentation. Corrected foreach_in_mapobject. Added foreach_in_mapstring. 2009-09-28 Basile Starynkevitch * Makefile.in: added upgrade-bigmelt target. * melt/warmelt-first.melt: added lots of documentation, removed useless primitive like the_null, added macro-strings, added foreach_in_mapobject * melt/warmelt-macro.melt: don't use the_null. * melt/warmelt-normal.melt: ditto. * melt/warmelt-genobj.melt: ditto. * melt/warmelt-outobj.melt: ditto. [regenerated several times] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-25 Basile Starynkevitch * melt/warmelt-first.melt: added more documentation & the add2sbuf_texi_mixloc primitive. * melt/warmelt-macro.melt: added more documentation. * melt/warmelt-outobj.melt: generating more documentation. The iterators & cmatchers are still not documented correctly. 2009-09-23 Basile Starynkevitch [merged partly some code from trunk's gengtype] * gengtype.c (is_file_equal): added new function. (close_output_files): use it. 2009-09-22 Basile Starynkevitch * melt-runtime.c (readmacrostringsequence): removed useless callcount. * melt/melt-macro.melt: aadded more documentations. * melt/melt-outobj.melt: implemented makedoc_genpatmacro. 2009-09-22 Basile Starynkevitch * melt-runtime.c (readmacrostringsequence): removed debug output. * melt/melt-macro.melt: added documentation for defprimitive. * melt/melt-outobj.melt: implemented makedoc_genmacro. 2009-09-18 Basile Starynkevitch * melt-runtime.h: added include of "toplev.h". * Makefile.in (run-melt.d, melt-run.o): added dependency. 2009-09-18 Basile Starynkevitch * melt-make.mk: warmeltallbig generates warmelt*0.c files in the build directory. * melt/warmelt-first.melt: renamed class_modulcontext as class_modulecontext. Added documention. * melt/warmelt-macro.melt: added documentation field for export_macro & export_patmacro. * melt/warmelt-normal.melt: renamed class_modulcontext as class_modulecontext. * melt/warmelt-genobj.melt: renamed class_modulcontext as class_modulecontext. * melt/warmelt-outobj.melt: renamed class_modulcontext as class_modulecontext. Stub for mkdoc for macros & patterns. [regenerated since export_macro takes a :doc] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-18 Basile Starynkevitch [entirely removed src_loc and corrected old bug in primitive normalization - which cloned incorrectly the operator.] * melt/warmelt-first.melt: removed src_loc. * melt/warmelt-normal.melt: in normexp_primitive csym is the cloned symbol from the operator! * melt-make.mk: the warmeltallbig pseudotarget generates the warmelt*2.c files using warmeltbig-3.so! [regenerated several times] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-18 Basile Starynkevitch [quoted integers are of DISCR_CONSTINTEGER and cannot be written into; tletcstr.melt test passes.] * melt-runtime.h (melt_put_int) moved function and added test against discr_constinteger. * melt-predef.list: added DISCR_CONSTINTEGER. * melt/warmelt-first.melt: added dicr_constinteger. * melt/warmelt-normal.melt: the quote of an integer is boxed constant integer of discr_constinteger. * melt/warmelt-genobj.melt: added putobjdest_string. 2009-09-18 Basile Starynkevitch [To remove src_loc, we added the shameful ability to compile translate all the MELT translator at once in a single monster file. Let-s with constant cstrings don't work, so added tletcstr.melt test case] * melt-make.mk (warmeltbig-*, warmeltallbig): new targets, to have the ability to translate all the MELT translator at once. * melt/warmelt-first.melt: the clone_symbol function is now more robust and can clone any thing with a warning. Added the_null_cstring & cstring_length primitives. shameful_hack_to_remove_src_loc is commented out. * melt/warmelt-outobj.melt: re-added ability to translateinit a list of files. 2009-09-17 Basile Starynkevitch [The src_loc field should be removed, but removing a field from a superclass inside warmelt-first.melt is a nightmare. We add some ugly code to forcibly remove it, and we regenerate C code for MELT more than once] * melt-runtime.h (melt_dynobjstruct_getfield_object_at) replaced fatal_error by error! (melt_dynobjstruct_putfield_object_at): Likewise. (melt_getfield_object_at): Likewise. * melt/warmelt-first.melt: removed src_loc, since class_src is now a subclass of class_located. Added ugly function shameful_hack_to_remove_src_loc to dynamically remove src_loc. * melt/warmelt-macro.melt: Replaced all src_loc by loca_location. * melt/warmelt-normal.melt: Likewise. * melt/warmelt-normatch.melt: Likewise. * melt/warmelt-outobj.melt: Likewise. Also more specific error strings in putfield compilation. * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. * melt-make.mk: added warmelt*h stuff. 2009-09-17 Basile Starynkevitch * melt/warmelt-outobj.melt: makedoc uses more @multitable. 2009-09-16 Basile Starynkevitch [cleaned up gengtype.c] * gengtype.c: renamed inplugin as in_plugin everywhere. 2009-09-16 Basile Starynkevitch * doc/gccint.texi: Added node & include for meltgendoc.texi. * melt/warmelt-first.melt: added add2sbuf_short_mixloc & compare_named_alpha. * melt/warmelt-outobj.melt: added more makedoc generation. 2009-09-15 Basile Starynkevitch * melt/warmelt-outobj.melt: added call to makedoc_outclassdef which should be written. 2009-09-15 Basile Starynkevitch [compilation of quoted integers was buggy; adding more makedoc] * melt-runtime.h (melt_output_strbuf_to_file): added declaration. * melt-runtime.c (melt_output_strbuf_to_file): added function. (melt_assert_failed) icreased the size of the static buffer. * melt/warmelt-first.melt: added output_sbuf_strconst & output_sbuf_strval. * melt/warmelt-outobj.melt: more of makedoc. Corrected generation of static boxed integers. * Makefile.in (TEXI_GCCINT_FILES): added meltgendoc.texi. [regenerated translator because of corrected bug in translation of quoted integers ..] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-15 Basile Starynkevitch * melt/warmelt-genobj.melt: removed compile_warning from compiltst_normtester_instance. * melt/warmelt-outobj.melt: added more makedoc handling. Removed class_makedoc_classdata. added mkdoc_docsymap mkdoc_subclassmap fields. 2009-09-14 Basile Starynkevitch * melt/warmelt-outobj.melt: makedoc probably needs more own data.. 2009-09-11 Basile Starynkevitch * melt/warmelt-outobj.melt: adding more for makedoc, in particular the internal class_makedoc_info. 2009-09-11 Basile Starynkevitch [test tmatch-5.melt now translated ok] * testsuite/melt/tmatch-5.melt: uncommented full test.. * melt/warmelt-normatch.melt: in normpat_instancepat the testercont is common to all subpatterns and initialized with the instance test.. Also added more debug... * melt/warmelt-outobj.melt: uncommented previously code which crashed the translator. [regenerated translator because of corrected bug in translation of match ?(instance...) ..] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-09 Basile Starynkevitch [still buggy; reduced tmatch-5.melt to an even simpler example] * melt/warmelt-first.melt: added integerbox_of cmatcher. * melt/warmelt-normatch.melt: added more debug .. * testsuite/melt/tmatch-5.melt: even simpler test. 2009-09-09 Basile Starynkevitch [while adding makedoc command, found a bug in matcher translation, so added testcase tmatch-5.melt] * doc/melt.texi: Improved documentation about quote, and example of primitive. * melt-make.mk (meltarg_arglis): Added variable. (meltgendoc.texi): Added new target. * testsuite/melt/tmatch-5.melt: Added new file. * melt/warmelt-outobj.melt: Start adding makedoc command. 2009-09-08 Basile Starynkevitch [the command infrastucture is improved thru the CLASS_MELT_COMMAND] * melt-make.mk: using melt_output instead of melt_secarg... * melt-runtime.h: renamed FSYSDAT_CMD_FUNDICT as FSYSDAT_COMMAND_DICT. (FMELCMD_HELP, FMELTCMD_FUN, FMELTCMD_DATA): Added enum values. (meltgc_new_split_string): added declaration. * melt-runtime.c (meltgc_new_split_string): Added new function. (do_initial_command) Added new command processing, and commented the old one... [during the transition, I had to temporarily add fieldoff__SYSDAT_CMD_FUNDICT] * melt/warmelt-first.melt: Added CLASS_MELT_COMMAND. Added primitives split_string_colon split_string_comma split_string_space. Renamed field :sysdata_cmd_fundict as :sysdata_command_dict * melt/warmelt-outobj.melt: added install_melt_command & melt_argument. Revamped all the commands. Removed old showvar_command help_command showmdata_command noop_command readseq_command install_initial_command. * melt-predef.list: added CLASS_MELT_COMMAND. [regenerated files since the command API has evolved] * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-08 Basile Starynkevitch * melt-runtime.c (readstring): issue a warning for a string starting at end of line, to help catching mismatched double-quotes... (readhashescape): gives line number in error messages. * melt/warmelt-first.melt: Use quoted strings. Copyright comment does not start at end of line! * melt/warmelt-macro.melt: Copyright comment does not start at end of line! * melt/warmelt-normal.melt: likewise. * melt/warmelt-normatch.melt: likewise. * melt/warmelt-genobj.melt: likewise. * melt/warmelt-outobj.melt: likewise. * melt/ana-simple.melt: Use quoted strings. Copyright comment does not start at end of line! * melt/ana-base.melt: likewise. 2009-09-08 Basile Starynkevitch [should accept '"a string" & '123] * doc/melt.texi: updated documention a bit. * melt-runtime.c (melt_argument): handle "output" with melt_output_string. * common.opt: added -fmelt-output & melt_output_string. * melt/warmelt-macro.melt: mexpand_quote accepts quotation of strings & integers. * melt/warmelt-normal.melt: added class_nrep_databoxedinteger & handle quotation of strings & integers. * melt/warmelt-genobj.melt: added class_objinitboxinteger & compilation of class_nrep_databoxedinteger. * melt/warmel-outobj.melt: added output methods for objinitboxinteger. * melt/ana-simple.melt: added quoted string for name of greenpass. * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-07 Basile Starynkevitch * melt-runtime.h (FDISCR_METHODICT) renamed as (FDISC_METHODICT). (FDISCR_SENDER) renamed as (FDISC_SENDER). (FDISCR_SUPER) renamed as (FDISC_SUPER). (FCLASS_OBJNUMDESCR) removed. * melt-runtime.c (meltgc_send): same renamings. * melt/warmelt-first.melt: Added some documentation strings. Removed class_objnumdescr field from class_class. Removed fld_typinfo and added fld_data. 2009-09-07 Basile Starynkevitch [Adding minimal support for documentation] * melt/warmelt-macro.melt: added sdef_doc field to class_srcdef. removed sobj_docstr field from class_src_defobjcommon. Added parsing of documentation in every defining mexpander. * melt/warmelt-normal.melt: replaced sobj_docstr by sdef_doc in normexp_definstance... * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-05 Basile Starynkevitch * melt-runtime.c (do_initial_command): return eearly if no mode string. (load_melt_modules_and_do_command): likewise. (melt_really_initialize): likewise. 2009-09-05 Basile Starynkevitch [Ensure that MELT generated C code is not compiled with -O2 or -O3, only -O1 at most] * Makefile.in: added MELT_RAW_CFLAGS and using sed to remove -O2 or -O3 from MELT_CFLAGS. 2009-09-04 Basile Starynkevitch * melt-runtime.h: added FSYSDAT_UNIT_STARTER & FSYSDAT_UNIT_FINISHER. * melt-runtime.c (melt_startunit_callback) (melt_finishunit_callback, melt_finishall_callback): Added new functions. (melt_really_initialize): register callbacks for PLUGIN_START_UNIT, PLUGIN_FINISH_UNIT, PLUGIN_FINISH. (do_finalize_melt): return early if executed more than once. call only minor MELT GC. * melt/warmelt-first.melt: renamed class_finalization as class_delayedqueue. added sysdata_unit_starter & sysdata_unit_finisher to class_system_data. Added at_finish_unit_first, at_finish_unit_first, at_start_unit_first, at_start_unit_last functions. * melt/ana-base.melt: added null_tree null_gimple null_gimpleseq isnull_basicblock primitives. better warning_at* primitives. * melt/ana-simple.melt: justscan pass is more robust, ignoring null trees, gimples, ... and fails assertion when unhandled stuff. * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-09-03 Basile Starynkevitch * melt-runtime.c (melt_really_initialize): Fixed typo in debug message. * Makefile.in (built-melt-cc-script): using real path of Melt build include dir. 2009-09-03 Basile Starynkevitch * melt/ana-base.melt: minor corrections on warning_at_tree & gimple_assign_minus. * melt/ana-simple.melt: adding justscan pass. 2009-09-03 Basile Starynkevitch [painfully cleaned autoconf-ry so that MELT is enabled by default; improved gengtype.] * configure.ac: MELT is always enabled. better GDBM support. Improved PPL stuff. Added more from trunk. * Makefile.in: added gtyp-real-input.list. Merged make dependencies from trunk. * gengtype.h: removed is_plugin_file & dbgprintf. * gengtype.c: minor fixes. See http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00047.html * melt-runtime.h: removed some #ifdef because MELT is always enabled. * run-melt.h: likewise. * common.opt: Removed Condition from every MELT option. * toplevel.c: removed some #ifdef because MELT is always enabled. (toplev_main): always initialize MELT. 2009-08-01 Basile Starynkevitch * melt-runtime.c (meltgc_register_pass): initialize plugpass without C++ related warning on enum cast... 2009-08-01 Basile Starynkevitch * Makefile.in: replaced melt_generated_dir by melt_source_dir 2009-07-31 Basile Starynkevitch * gengtype.c: removed #define gcc_assert assert ... and #warning. 2009-07-31 Basile Starynkevitch * melt/ana-base.melt: added more gimple patterns & primitives. 2009-07-30 Basile Starynkevitch * melt/ana-simple.melt: the gate function should disable the pass when it has already be run on the same cfun. the matching should catch some casts. 2009-07-29 Basile Starynkevitch * melt/ana-base.melt: corrected typo in inform_at_gimple & warning_at_gimple. * melt/ana-simple.melt: small example. 2009-07-29 Basile Starynkevitch * melt/ana-base.melt: added inform_at_gimple warning_at_gimple inform_at_tree warning_at_tree. * melt/ana-simple.melt: issue warning when fprintf to stdout! 2009-07-29 Basile Starynkevitch * melt/ana-base.melt: added gimple_call_1 .... gimple_call_4_more. * melt/ana-simple.melt: use them. changed field mkgreen_stdout to mkgreen_stdout_ssa and initialize it. 2009-07-28 Basile Starynkevitch * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. * melt/warmelt-genobj.melt: added added compile warning about useless tests on then & else... 2009-07-28 Basile Starynkevitch * melt/warmelt-normatch.melt: added class_normtester_anytester. removed set_newtester_lastelse. added set_newtester_allelses. * melt/warmelt-genobj.melt: added test of curnthen & curntest into compilobj_nrep_match. 2009-07-27 Basile Starynkevitch [ana-simple.melt still don't work on tgreenprint.c :-( ] * melt/warmelt-genobj.melt: added tcx_nextest field to class_testercompilcontext & utility function testmatch_gotoinstr and better compile of tmatch-4 test. * melt/ana-simple.melt: changed debug message. * testsuite/melt/tmatch-4.melt: enhanced test. 2009-07-25 Basile Starynkevitch * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. 2009-07-24 Basile Starynkevitch [tmatch-4 seems to be compiled correctly] * testsuite/melt/tmatch-4.melt: uncommented code. * melt-runtime.c (load_checked_dynamic_module_index): when md5sum mismatch, display the recomputed & the expected checksums. * melt/warmelt-normatch.melt: the normexp_match function has been simplified and more robust regarding then & else chaining of cases & success tests, so tmatch-4 test passes. * melt/ana-simple.melt: removed warning regarding miscompilation. added comment referint to tmatch-4 test case. 2009-07-23 Basile Starynkevitch [function simple4 of testcase tmatch-4 is still compiled erronously; some ntest_else is put incorrectly inside the second test {same as 33}....; bug could be near line 1510 of warmelt-normatch.melt.] * testsuite/melt/tmatch-4.melt: simplified greatly to exercise the bug; commented temporarily most of the code. * melt/warmelt-first.melt: shortbacktrace_dbg is only if flag_melt_debug.. * melt/warmelt-normatch.melt: added lots of debugprint & shortbacktrace. * melt/warmelt-genobj.melt: the uniqstate in matching is more sexy. * melt/ana-base.melt: added comments with statevar in most cmatchers [to ease debugging]. * melt/ana-simple.melt: still miscompiled :-( 2009-07-23 Basile Starynkevitch * melt-cc-script.proto: using GCCMELT* var, not MELT* * Makefile.in (install-melt-cc-script, built-melt-cc-script): likewise. 2009-07-23 Basile Starynkevitch [runfile command works again] * melt-cc-script.proto: simplified, and generate the PIC object file as a temporary file; don't touch to the current directory unless source or module are inside. * melt-runtime.c (compile_to_dyl): passing -x to the compile script in debug mode. more debugprints. (meltgc_load_melt_module): appending ".so" to temporary module name. (melt_initialize): shows the build date in debugprint. * melt/warmmelt-genobj.melt: better message when generating C source. 2009-07-22 Basile Starynkevitch [tmatch-4 compiles, but perhaps wrongly; the runfile command does not work...] * melt/warmelt-macro.melt: added debugprint in mexpand_match. * melt/warmelt-normatch.melt: added assert in normexp_match. * melt/warmelt-genobj.melt: added more debugprint notably in compilmatcher_cmatcher. * melt/warmelt-outobj.melt: replaced some multiple_every with foreach_in_multiple. class_objlocatedexpv may have null contents, at least for ctype_void -that is an empty C generated block-. * melt/ana-simple.melt: restored to previous version, but probably still miscompiled... 2009-07-22 Basile Starynkevitch * testsuite/melt/tmatch-4.melt: new file. * testsuite/melt/tmatch-3.melt: updated comment. * melt/ana-simple.melt: tomporarily remove code until tmatch-4 works. 2009-07-22 Basile Starynkevitch [probably ana-simple.melt hit a bug in pattern compilation] * melt/warmelt-first.melt: added cstring_same cmatcher. * melt/ana-base.melt: renamed tree_variable_decl cmatcher as tree_var_decl. added tree_var_decl_named cmatcher. * melt/ana-simple.melt: using complex pattern tree, which breaks the pattern compiler :-( 2009-07-22 Basile Starynkevitch * testsuite/melt/tgreenprint.c: indented and all functions prefixed for clarity with tGreenPrint. * melt/ana-base.melt: added cfun_decl cfun_gimple_body cfun_has_cfg cfun_local_decls cfun_nonlocal_goto_save_area cfun_static_chain_decl has_cfun. each_bb_cfun made safer. * melt/ana-simple.melt: greenpass is now after phiopt. 2009-07-21 Basile Starynkevitch [tgreenprint.c may fail; and greenpass is very incomplete] * melt-runtime.h: added enum melt_gckind_en & MELT_ONLY_MINOR. * melt-runtime.c (melt_garbcoll): has a melt_gckind_en argument and handles MELT_ONLY_MINOR. (meltgc_gimple_gate, meltgc_gimple_execute, meltgc_rtl_gate) (meltgc_rtl_execute, meltgc_simple_ipa_gate) (meltgc_simple_ipa_execute) force only a MELT_ONLY_MINOR garbage collection. * melt/ana-base.melt; added each_cgraph_decl. * melt/ana-simple.melt: trying a pass before reassoc. 2009-07-21 Basile Starynkevitch [heterogenous patterns compiled better] * melt-runtime.c: Corrected typo in comment. * melt/warmelt-first.melt: re-added dbgcounter in debug_msg messages. * melt/warmelt-normatch.melt: scanpat_srcpatcomposite compute the right ctype for subpatterns. * melt/ana-base.melt: added tree_of_type cmatcher. * melt/ana-simple.melt: added gimple_assign_cast pattern to makegreen_transform. * testsuite/melt/tgreenprint.c: added simple_fprint_stdout. 2009-07-20 Basile Starynkevitch * melt-runtime.c (meltgc_gimple_gate, meltgc_gimple_execute) (meltgc_rtl_gate, meltgc_rtl_execute, meltgc_simple_ipa_gate) (meltgc_simple_ipa_execute, melt_handle_melt_attribute): generate a precise location for MELT backtracking. * melt/warmelt-first.melt: debug_msg_fun does give an output when out is null. * melt/ana-simple.melt: more of greenpass.. [should be a pass registered after pta, not ccp] * testsuite/melt/tgreenprint.c: added more statements. 2009-07-20 Basile Starynkevitch * testsuite/melt/tgreenprint.c: Added new file. * testsuite/melt/tmallbuf.c: Corrected comment about running it. * melt-runtime.c (melt_really_initialize, plugin_init) (melt_initialize, meltgc_gimple_gate, meltgc_gimple_gate) (meltgc_gimple_execute, meltgc_rtl_gate, meltgc_rtl_execute) (meltgc_simple_ipa_gate, meltgc_simple_ipa_execute) (meltgc_register_pass): better debug printfs. (meltgc_register_pass): issue a warning if unamed pass. * melt/ana-simple.melt: makegreen work but don't do anything useful yet. 2009-07-17 Basile Starynkevitch * melt/warmelt-first.melt: the class_gcc_*_pass are all subclasses of class_gcc_pass. * melt/warmelt-macro.melt: issue a warning for DEFCLASS of ordinary classes without superclasses! * melt/ana-simple.melt: adding the makegreen command & passes... * melt/warmelt-first-0.c: Regenerated. * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. 2009-07-17 Basile Starynkevitch * melt-make.mk: added $(melt_default_modules_list).modlis * Makefile.in: removed $(melt_default_modules_list).modlis 2009-07-15 Basile Starynkevitch [works in plugin mode] * melt-runtime.c (melt_garbcoll): free bscanvec before full collection! * melt-make.mk: Enhanved vpath-s for %.c & %.melt. 2009-07-10 Basile Starynkevitch [still crashes in plugin mode] * melt-runtime.c (blocaltab, bstrangelocal, nbaddlocalptr): removed. (add_localptr): removed function. (melt_marking_callback): added debugprint. mark each closure. (melt_garbcoll): don't do blocaltab. Only scan the local pointers thru the PLUGIN_GGC_MARKING! Free bscanvec using VEC_free. * melt-cc-script.proto: be careful to pass explicit options to gcc before the implicit ones. 2009-07-10 Basile Starynkevitch * melt-runtime.c (blocaltab): is probably obsolete. (melt_argument): fixed typos in argument names. (add_localptr): added asserts. (unsafe_index_mapobject): removed old #if 0 code for checking. (meltgc_read_file): issue warning when nothing is read. (do_initial_command): added debug printfs. (plugin_init): should return 0 on success. (melt_output_cfile_decl_impl): inform the user. * melt/warmelt-genobj.melt: check that the read files are not empty. * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. * gengtype.c: removed dbgprintf. * melt-make.mk: added MELT_DEBUG. 2009-07-09 Basile Starynkevitch [compilable as a plugin to trunk -with RTLD_GLOBAL] * run-melt.h: include files in plugin mode. (gt_ggc_mx_melt_un) added declaration. * melt-runtime.c: use less libiberty functions in plugin mode & check plugin arguments. (xstrndup): added function copied from libiberty in plugin mode. (melt_garbcoll): accept null minor-zone & full-threshold arguments in plugin mode. (melt_tempdir_path): just use tmpnam in plugin mode, avoid choose_tmpdir. (compile_to_dyl): avoid pex_execute in plugin mode, use system. (load_checked_dynamic_module_index): use RTLD_GLOBAL. (melt_really_initialize): initilize flag_melt_debug in plugin mode. * melt-cc-script.proto: typo for -I. handles -g. * plugin.c (try_init_one_plugin): use RTLD_GLOBAL. 2009-07-09 Basile Starynkevitch [enhancing gengtype for plugin mode; less buggy] * gengtype.c (struct write_types_data): added is_pch field. (write_func_for_structure): output #ifdef GCC_PLUGIN_HAVE_PCH. (ggc_wtd, pch_wtd): fill is_pch. (write_local_func_for_structure): emit #ifdef GCC_PLUGIN_HAVE_PCH. (write_enum_defn): likewise. * melt-make.mk: added empty-file-for-melt.c and use it. * melt-runtime.c: several libiberty functions cannot be used in plugin mode. http://gcc.gnu.org/ml/gcc/2009-07/msg00157.html 2009-07-09 Basile Starynkevitch [enhancing gengtype for plugin mode; less buggy] * gengtype.c (oprintf): clear oldbuf for ease of debugging. (write_enum_defn): emit gt_types_enum_firstempty. (delay_func_for_structure): [bug] updated dlystructsiz! (output_delayed_functions): [bug] corrected initialization! 2009-07-08 Basile Starynkevitch [enhancing gengtype for plugin mode; still buggy] * gengtype.h (is_plugin_file): added new variable. (dbgprintf): added temporarily macro for debugging. * gengtype.c (struct pair) added inplugin field. (struct type) likewise. (first_plugin_file_ix, plugin_output_filename, plugin_output): added static variables. (is_plugin_file): defined variable. (output_delayed_functions): added declaration. (read_input_list): manage first_plugin_file_ix. (string_type, scalar_nonchar, scalar_char): initialized inplugin. (new_structure, find_structure, find_param_structure) (create_array, note_variable): sets inplugin. (create_file): allocates buf. (oprintf): added asserts. (open_base_files): moved return when plugins. (get_output_file_with_visibility): handle plugin case. (delay_func_for_structure): new static declaration. (write_types): delays the output of func in plugin mode. (write_local, write_roots): handle plugin mode. (note_def_vec_alloc) renamed basename as base_name. (struct delayedstructfunc_st, dlystructab, dlystructsiz) (dlystructcnt): new. (delay_func_for_structure, output_delayed_functions): added function. (main): updated for plugin mode which is now with -P outputfile.h * melt-make.mk (meltarg_secondarg): corrected typo. * melt-runtime.c (melt_marking_callback): declares gt_ggc_mx_melt_un as external. 2009-07-07 Basile Starynkevitch [added melt-make.mk to ease pluginification] * melt-make.mk: added new file. * Makefile.in: include it. 2009-07-06 Basile Starynkevitch [replaced basilys by melt inside all files an in file names! to do that, we temporarily generated extra #define-s included from run-melt.h] * doc/invoke.texi: replaced basilys by melt * doc/melt.texi: ditto. * basilys.c: removed since renamed file as melt-runtime.c * basilys.h: removed since renamed file as melt-runtime.h * gengtype.c: replaced basilys by melt * configure: replaced basilys by melt & regenerated * run-melt.h: replaced basilys by melt * toplev.c: replaced basilys by melt * run-basilys.h: removed since renamed file as run-melt.h * melt-runtime.c: added, was named basilys.c * melt-runtime.h: added, was named basilys.h * testsuite/melt/tmatch-3.melt: replaced basilys by melt * testsuite/melt/testrun1.melt: ditto * testsuite/melt/test0.melt: ditto * testsuite/melt/test1.melt: ditto * melt/warmelt-normatch.melt: ditto * melt/ana-simple.melt: ditto * melt/warmelt-first.melt: ditto * melt/warmelt-normal.melt: ditto * melt/ana-base.melt: ditto * melt/warmelt-macro.melt: ditto * melt/warmelt-outobj.melt: ditto * melt/warmelt-genobj.melt: ditto * gdbinit.in: ditto * configure.ac: ditto * common.opt: ditto * melt-predef.list: ditto * melt-cc-script.proto: ditto * Makefile.in: ditto * params.def: ditto * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-first-0.c: Regenerated. * config.in: Regenerated. 2009-07-03 Basile Starynkevitch [basilys.c compiles in plugin mode, provided gengtype is hacked to generated gtype-desc.h] * basilys.h (flag_melt_debug): added declaration in plugin mode. * basilys.c (melt_fullthresholdkilow): added static variable. (melt_argument) compiles ok. uses melt_plugin_argv[ix].value.... (basilys_garbcoll): uses melt_fullthresholdkilow. (readhashescape): moved declaration of nam. (plugin_init): compiles & return 1. * gengtype.c (open_base_files): also opens gtype-desc.h even in plugin mode. 2009-07-02 Basile Starynkevitch [debug_msg go thru file to dump_file] * basilys.h (FSYSDAT_STDOUT, FSYSDAT_STDERR, FSYSDAT_DUMPFILE) (basilysgc_new_file): added declarations. (basilys_is_out): works also for rawfiles. (basilys_get_file, basilys_is_file): added functions. * basilys.c (basilys_get_inisysdata): moved. (basilysgc_load_melt_module, basilysgc_gimple_gate) (basilysgc_gimple_execute, basilysgc_rtl_gate) (basilysgc_rtl_execute, basilysgc_simple_ipa_gate) (basilysgc_simple_ipa_execute): update FILE* of sysdata_dumpfile to dump_file. * melt/warmelt-first.melt: added discr_file discr_rawfile & fields sysdata_stdout sysdata_stderr sysdata_dumpfile and uses them in dbgout methods & debug_msg_fun. * melt/warmelt-first-0.c: egenerated. * melt/warmelt-macro-0.c: Regenerated. * melt/warmelt-normal-0.c: Regenerated. * melt/warmelt-normatch-0.c: Regenerated. * melt/warmelt-genobj-0.c: Regenerated. * melt/warmelt-outobj-0.c: Regenerated. 2009-07-02 Basile Starynkevitch [more flexible predefined machinery; moved all MELT files into melt/ directory except basilys.[hc] to ease pluginification] * Makefile.in (-warmelt-%-0.d.so, upgrade-warmelt): the warmelt*0.c files are in melt/ directory. * basilys.h: the includes are also included in plugin mode. (OBMAG_SPEC_RAWFILE): added. (melt_fetch_predefined, melt_store_predefined): added functions. (BASILYSG, BASILYSGOB, BASILYSGIX): removed macros. (MELT_PREDEF, MELT_STORE_PREDEFINED, MELTPREDEFIX): added new macros. (basilys_discr): uses MELT_PREDEF for the null case. * basilys.c (ALL_OBMAG_SPECIAL_CASES): Added OBMAG_SPEC_RAWFILE. (delete_special, readsimplelong): Handles OBMAG_SPEC_RAWFILE. (basilysgc_make_special): added new function. (basilys_check_call_frames_at, basilysgc_new_mixbigint_mpz): use MELT_PREDEF. (basilysgc_add_out_raw_len, basilysgc_out_add_indent): Handles OBMAG_SPEC_RAWFILE. (basilysgc_new_tree, basilysgc_new_gimpleseq) (basilysgc_new_basicblock, basilysgc_append_list) (basilysgc_prepend_list, basilys_is_subclass_of, basilysgc_send) (readseqlist, makesexpr): use MELT_PREDEF. (basilys_get_inisysdata): added new function. (basilysgc_named_symbol, basilysgc_intern_symbol) (basilysgc_intern_keyword, basilysgc_named_keyword): use it & MELT_PREDEF. (readassoc, readmacrostringsequence, readhashescape, readval) (basilysgc_read_from_rawstring, basilysgc_read_from_val) (do_initial_command, load_basilys_modules_and_do_command) (do_finalize_basilys, basilysgc_debugmsgval) (basilysgc_fetch_gdbmstate, basilysgc_put_gdbmstate_constr) (basilysgc_put_gdbmstate): ditto. (basilysgc_ppout_gimple, basilysgc_ppout_gimple_seq) (basilysgc_ppout_tree, basilysgc_new_file): handle OBMAG_SPEC_RAWFILE. (basilysgc_new_ppl_constraint_system) (basilysgc_clone_ppl_constraint_system) (basilysgc_new_ppl_polyhedron) (basilysgc_new_ppl_linear_expression): use basilysgc_make_special. (ppl_basilys_variable_output_function, basilys_val2passflag) (basilysgc_gimple_gate, basilysgc_gimple_execute) (basilysgc_rtl_gate, basilysgc_rtl_execute) (basilysgc_simple_ipa_gate, basilysgc_simple_ipa_execute) (basilysgc_register_pass, basilys_handle_melt_attribute): use basilys_get_inisysdata & MELT_PREDEF. * melt/warmelt-first-0.c: moved & regenerated. * melt/warmelt-macro-0.c: moved & regenerated. * melt/warmelt-normal-0.c: moved & regenerated. * melt/warmelt-normatch-0.c: moved & regenerated. * melt/warmelt-genobj-0.c: moved & regenerated. * melt/warmelt-outobj-0.c: moved & regenerated. * melt/ana-base.melt: uses MELT_PREDEF. * melt/warmelt-genobj.melt: likewise. 2009-07-01 Basile Starynkevitch * basilys.c: Marked with a notpluginexported comments those include-s which are not yet plugin exported. Added include of gcc-plugin.h at first. * run-basilys.h: Added include of gcc-plugin.h at first. 2009-06-30 Basile Starynkevitch [the predefined names are listed in melt-predef.list] * Makefile.in: added generation of melt-predef.h & melt-predef.melt and dependencies. Redefined BASILYS_H. * basilys.h: added inclusion of melt-predef.h. (melt_fetch_predefined, melt_store_predefined): Added new functions. (BGLOB__LASTGLOB) renamed as (MELTGLOB__LASTGLOB). (MELT_PREDEF, MELT_STORE_PREDEF): new macros. (basilys_globpredef) function removed and defined as macro. * basilys.c: uses MELTGLOB__LASTGLOB instead of BGLOB__LASTGLOB. * make-warmelt-predef.awk: added new file. * make-melt-predefh.awk: added new file. * melt-predef.list: added new file. * melt/warmelt-normal.melt: added loading of [generated] melt-predef.melt. * melt/warmelt-outobj.melt: uses MELT_PREDEF & MELT_STORE_PREDEF. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-06-25 Basile Starynkevitch [started plugininfication] * basilys.c (MELT_IS_PLUGIN): added possible preprocessor symbol. (melt_plugin_argc, melt_plugin_argv): added static variables. (melt_argument): added plugin variant. (melt_really_initialize): new name of basilys_initialize body. (do_finalize_basilys): do most of the stuff. (plugin_is_GPL_compatible, plugin_init): added variable & function in plugin mode. (basilysgc_register_pass, ...): use melt_plugin_name everywhere. 2009-06-25 Basile Starynkevitch * common.opt: removed compiler probe options * basilys.h (melt_argument): added new declaration. * basilys.c (melt_minorsizekilow) added new variable. (melt_argument) added new function, and poisoning deprecated variables. (delete_special): use melt_minorsizekilow. (melt_tempdir_path): uses melt_argument. (compile_to_dyl): likewise. (basilysgc_load_melt_module): likewise. (basilysgc_load_modulelist): likewise. (do_initial_command): likewise. (load_basilys_modules_and_do_command): likewise. (basilys_initialize): likewise. (meltgdbmstate): added new static variable. (fatal_gdbm, get_melt_gdbm, basilysgc_fetch_gdbmstate_constr) (basilysgc_fetch_gdbmstate, basilysgc_put_gdbmstate_constr) (basilysgc_put_gdbmstate, basilysgc_gimple_execute) (basilysgc_rtl_execute, basilysgc_simple_ipa_gate) (basilysgc_simple_ipa_execute, basilysgc_register_pass): uses melt_argument. 2009-06-24 Basile Starynkevitch [added load macro, because the set of predefined should be handled better, using m4 to generate their declarations in C, and some of their filling in MELT.] * basilys.h (basilys_is_out): Added new function. * melt/warmelt-first.melt: dbgi_sbuf field renamed as dbgi_out. Added all add2out* primitives... using them in dbgout* methods. * melt/warmelt-macro.melt: added mexpand_load function and load macro. The macroexpand_toplevel_list function takes an optional mexpander argument and handle tuple macroexpansions specially. * melt/ana-base.melt: using out instead of sbuf. * melt/ana-simple.melt: ditto. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-06-23 Basile Starynkevitch [simplified the program flags, using a source path and a module path. Removed LTDL] * common.opt: all *basilys* variables renamed as *melt* * basilys.h (debugeprintf_raw, debugeprintvalue, debugebacktrace) (debugvalue_at, debugmsgval_at, debugbacktrace_at): flag_basilys_debug renamed as flag_melt_debug. (basilys_tempdir_path) removed, renamed as (melt_tempdir_path). * basilys.c: including . renamed all *basilys* variables as *melt*. (load_basilys_modules_and_do_command, basilysgc_load_modulelist) (load_checked_dynamic_module_index): simpler loading using path and GCCMELT_SOURCE_PATH & GCCMELT_MODULE_PATH environment variables. * toplev.c: removed LTDL. (toplev_main) merged initialize_plugins calls from trunk. * configure: Regenerated. * configure.ac: removed LTDL stuff. * run-basilys.h: dont require LTDL. * Makefile.in: replaced flags using our paths. * doc/melt.texi: updated. 2009-06-23 Basile Starynkevitch * diagnostic.h (dump_gimple_seq): removed. Reverted to trunk. * gimple-pretty-print.c (dump_gimple_seq): reverted to static, as inside the trunk. * system.h: reverted to trunk. Don't include stuff when ENABLE_COMPILER_PROBE. 2009-06-22 Basile Starynkevitch * basilys.c (struct ppbasilysflushdata_st): removed. (meltppbuffer, meltppbufsiz, meltppfile, meltppfilename): added static variables. (open_meltpp_file, close_meltpp_file): added new functions. (basilysgc_ppstrbuf_gimple) renamed as (basilysgc_ppout_gimple) using above meltpp stuff. (basilysgc_ppstrbuf_gimpleseq) renamed as (basilysgc_ppout_gimpleseq) using above meltpp stuff. (basilysgc_ppstrbuf_tree) renamed as (basilysgc_ppout_tree) using above meltpp stuff. (basilysgc_ppstrbuf_basicblock) renamed as (basilysgc_ppout_basicblock) using above meltpp stuff. (basilysgc_ppstrbuf_mpz) renamed as (basilysgc_ppout_mpz) using above meltpp stuff. (basilysgc_ppstrbuf_mixbigint) renamed as (basilysgc_ppout_mixbigint) using above meltpp stuff. * basilys.h (basilysgc_ppstrbuf_gimple) (basilysgc_ppstrbuf_gimple_seq, basilysgc_ppstrbuf_tree) (basilysgc_ppstrbuf_basicblock, basilysgc_ppstrbuf_mpz) (basilysgc_ppstrbuf_mixbigint): renamed and provided as macros. (basilysgc_ppout_gimple) (basilysgc_ppout_gimple_seq, basilysgc_ppout_tree) (basilysgc_ppout_basicblock, basilysgc_ppout_mpz) (basilysgc_ppout_mixbigint): added. * pretty-print.c: reverted to trunk. * pretty-print.h: reverted to trunk. * gimple-pretty-print.c: reverted to trunk. * configure: Regenerated. * configure.ac: testing for open_memstream. * cfg.c: reverted to trunk. 2009-06-19 Basile Starynkevitch [the output primitives are made generic for boxed files or string buffers] * basilys.h (basilysgc_add_strbuf_raw): renamed as (basilysgc_add_out_raw), and made as macro. (basilysgc_add_strbuf_raw_len): renamed as (basilysgc_add_out_raw_len), and made as macro. (basilysgc_add_strbuf) renamed as (basilysgc_add_out), and made as macro. (basilysgc_add_strbuf_cstr) renamed as (basilysgc_add_out_cstr), and made as macro. (basilysgc_add_strbuf_ccomment) renamed as (basilysgc_add_out_ccomment), and made as macro. (basilysgc_add_strbuf_cident) renamed as (basilysgc_add_out_cident), and made as macro. (basilysgc_add_strbuf_cidentprefix) renamed as (basilysgc_add_out_cidentprefix), and made as macro. (basilysgc_add_strbuf_hex) renamed as (basilysgc_add_out_hex), and made as macro. (basilysgc_add_strbuf_dec) renamed as (basilysgc_add_out_dec), and made as macro. (basilysgc_strbuf_printf) renamed as (basilysgc_out_printf), and made as macro. (basilysgc_add_strbuf_indent) renamed as (basilysgc_add_out_indent), and made as macro. (basilysgc_new_file): added new function. * basilys.c: like above. (lasteol, MELTMAXFILE) added new variable & constant. 2009-06-18 Basile Starynkevitch * diagnostic.c: removed useless comment. * pretty-print.c (pp_write_text_to_stream): put better spacing. (pp_destruct): likewise. * pretty-print.h: likewise. * gimple-pretty-print.c (gimple_dump_bb_buff): likewise. 2009-06-17 Basile Starynkevitch * run-basilys.h: don't include compiler-probe.h. * melt/warmelt-normal.melt: more stuff in normexp_funmatchexpr. 2009-06-17 Basile Starynkevitch [pretty printing made more similar to trunk by renaming bufstream field as stream] * tree-pretty-print.c (maybe_init_pretty_print): renmad bufstream as stream. * diagnostic.c (diagnostic_initialize): likewise. * pretty-print.c (pp_write_text_to_stream, pp_construct) (pp_construct_routdata): likewise. * pretty-print.h: likewise. * gimple-pretty-print.c (maybe_init_pretty_print, dump_bb_header) (dump_bb_end, gimple_dump_bb_buff): likewise. * c-pretty-print.c (print_c_tree): likewise. 2009-06-16 Basile Starynkevitch [removed compile probe for pluginification after rev148523] * compiler-probe.c: removed file. * compiler-probe.h: removed file. * basilys.c: don't include compiler-probe.h * tree-pass.h: reverted to trunk. * diagnostic.c: reverted to trunk. * toplev.c: don't use compiler probe. * configure.ac: ditto. removed --enable-compiler-probe. * tree-flow-inline.h: reverted to trunk. * basic-block.h: reverted to trunk & removed compiler probe. * Makefile.in: removed compiler-probe.h * config.in: likewise. * configure: Regenerated. 2009-06-15 Basile Starynkevitch [funmatcher expressions not working] * testsuite/melt/tfunmatch-1.melt: added funmatcher expr... * melt/warmelt-macro.melt: added sfmatx_fmatbind field into class_src_funmatchexpr for expand_funmatchexpr. * melt/warmelt-normatch.melt: or pattern expansion ok. 2009-06-12 Basile Starynkevitch [or pattern working] * melt/warmelt-normatch.melt: normpat_orpat working... * melt/warmelt-genobj.metl: compiltst_normtester_disjunction implemented. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-06-12 Basile Starynkevitch [or pattern still not working, but constant patterns work] * melt/warmelt-macro.melt: the patternexpand* function got a new argument, the parent source location psloc. Constant always expanded as constant pattern in constants. * melt/warmelt-normatch.melt: "disjunction" spelled correctly. normpat_constpat: added function. normpat_null, normpat_constant, normpat_integer: removed functions. put_tester_then: added function to handle or patterns. * melt/warmelt-genobj.melt: added compiltst_normtester_any & compiltst_normtester_disjunction stub. 2009-06-10 Basile Starynkevitch [or patterns does not work yet] * testsuite/melt/test0.melt: renamed previous test0.bysl file. * melt/test0.bysl: renamed as above. * testsuite/melt/tormatch-1.melt: new test file, not working yet. * melt/warmelt-normatch.melt: added class_normtester_disjonction. added scanpat_constant & normpat_integer. normpat_orpat is incomplete. * melt/warmelt-genobj.melt: compiltst_normtester_same was already implemented, so removed error. 2009-06-09 Basile Starynkevitch [and pattern work for simple testcase] * melt/warmelt-normatch.melt (normpat_andpat): work. * testsuite/melt/tandmatch-1.melt: enhanced testcase. 2009-06-08 Basile Starynkevitch [adding and patterns - still buggy] * melt/warmelt-normal.melt (normexp_class): less strict assert. * melt/warmelt-normatch.melt (normpat_andpat, normpat_orpat): adding them, still buggy. * testsuite/melt/tandmatch-1.melt: added new test case - not working yet. 2009-06-05 Basile Starynkevitch * basilys.h: BASILYS_HAS_OBJ_TAB_FIELDS fully removed. (basilysgc_register_pass): changed signature in declaration. * basilys.c: BASILYS_HAS_OBJ_TAB_FIELDS fully removed. (handle_melt_attribute): moved from my c-common.c. (melt_attr_spec): new static variable. (melt_attribute_callback): added callback for attributes. (basilys_initialize): registering attributes. (basilysgc_register_pass): changed signature for positioning passed as string. (dispatch_gate_basilys, dispatch_execute_basilys) (gate_basilys_lowering, execute_basilys_lowering) (gate_basilys_earlyopt, gate_basilys_lateopt) (execute_basilys_lateopt, gate_basilys_latessa, gate_basilys_ipa) (execute_basilys_ipa): removed functions. (pass_basilys_ipa, pass_basilys_lowering, pass_basilys_earlyopt) (pass_basilys_lateopt, pass_basilys_latessa): removed these extra built-in passes. One can register arbitrary passes using basilysgc_register_pass. * melt/ana-base.melt: removed builtin basilys_earlyopt_gccpass basilys_ipa_gccpass basilys_lateopt_gccpass basilys_latessa_gccpass basilys_lowering_gccpass. (install_melt_gcc_pass): added new primitive for basilysgc_register_pass. * melt/ana-simple.melt: TODO: smallana_command should create and register its own simple IPA pass! * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. * c-common.c: reverted to the trunk. * passes.c: reverted to the trunk. 2009-06-04 Basile Starynkevitch [starting pluginification of MELT] * basilys.h: included "gcc-plugin.h". (basilysgc_register_pass, BGLOB_CLASS_GCC_GIMPLE_PASS) (BGLOB_CLASS_GCC_RTL_PASS, BGLOB_CLASS_GCC_SIMPLE_IPA_PASS) (FGCCPASS_PROPERTIES_REQUIRED, FGCCPASS_PROPERTIES_PROVIDED) (FGCCPASS_PROPERTIES_DESTROYED, FGCCPASS_TODO_FLAGS_START) (FGCCPASS_TODO_FLAGS_FINISH) Added declarations or enums. * basilys.c (MELT_PLUGIN_NAME): added define. (basilys_initialize) register PLUGIN_GGC_MARKING callback. (basilys_val2passflag, basilysgc_gimple_gate) (basilysgc_gimple_execute, basilysgc_rtl_gate) (basilysgc_rtl_execute, basilysgc_simple_ipa_gate) (basilysgc_simple_ipa_execute): Added new functions. (basilysgc_register_pass): Added function, without handling full IPA passes yet! (pass_basilys_ipa, pass_basilys_lowering, pass_basilys_earlyopt) (pass_basilys_lateopt, pass_basilys_latessa): These structures are using TV_PLUGIN_RUN and should become obsolete soon. * gengtype.c (open_base_files): temporarily re-added basilys.h! * timevar.def: removed TV_BASILE_ANALYSIS. Should be same as in trunk. * melt/warmelt-first.melt: added class_gcc_gimple_pass class_gcc_rtl_pass class_gcc_simple_ipa_pass * melt/warmelt-normal.melt: added CLASS_GCC_PASS CLASS_GCC_GIMPLE_PASS CLASS_GCC_RTL_PASS CLASS_GCC_SIMPLE_IPA_PASS predefined. The set of predefined should be better handled [perhaps using awk or m4]. * melt/ana-base.melt: will deprecate this install_gcc_pass. 2009-06-03 Basile Starynkevitch http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00254.html * gengtype.c: Updated copyright. (plugin_file) Added new static variable. (measure_input_list) Care about plugin_file. (write_rtx_next): Added early return in plugin mode. (create_file): Updated copyright year in generated file. Added asserts. (oprintf): Added early return if null outf. (get_output_file_with_visibility): Care of plugin_file. (get_output_file_name): May return null. (close_output_files) Emit a verbose message in plugin mode. (write_local): Added early return. (put_mangled_filename): Ditto. (finish_root_table): Added check for base_files. (write_roots): Care about null when plugins. (main): added plugin mode. 2009-06-03 Basile Starynkevitch [preparing to pluginify MELT. 1. use PLUGIN_GGC_MARKING] * basilys.c (basilys_extra_scanrout_p): removed since never used. (basilys_extra_marking): removed and renamed. (basilys_marking_callback): added, as PLUGIN_GGC_MARKING callback. (basilys_garbcoll): don't call basilys_extra_scanrout_p anymore. Call the usual ggc_collect. (basilys_initialize): register the basilys_marking_callback as PLUGIN_GGC_MARKING * basilys.h (basilys_extra_scanrout_p): removed since never used. * ggc.h: reverted to trunk. * ggc-common.h: ditto. * ggc-zone.h: ditto. * ggc-page.h: ditto. * Makefile.in: added plugin.h to basilys.o. 2009-05-27 Basile Starynkevitch [funmatcher-s seems to work] * testsuite/melt/tfunmatch-1.melt: replaced == by ==i in test. * melt/warmelt-first.melt: Renamed binder as binderv to avoid warning in overwrite_env. * melt/warmelt-normal.melt: Added empty lines for readability. * melt/warmelt-normatch.melt: Fixed in normpat_anymatchpat missing initialisation of matvar. * melt/warmelt-genobj.melt: Completed compilmatcher_funmatcher. 2009-05-27 Basile Starynkevitch * basilys.c (basilys_garbcoll): Fixed annoying typo in comments on "Cheney"... 2009-05-26 Basile Starynkevitch [funmatcher-s still incomplete, ... ] * melt/warmelt-first.melt: renamed binder as binderv to avoid warning in find_env. * melt/warmelt-normatch.melt: added ntmatch_matndata field and filling it in normpat_anymatchpat. * melt/warmelt-genobj.melt: still incomplete compilmatcher_funmatcher - it should generate the test. 2009-05-26 Basile Starynkevitch [Added warning for let binding hiding another one, and corrected code] * melt/warmelt-first.melt: removed useless sbuf binding ... * melt/warmelt-macro.melt (mexpand_letbinding): detecting let bindings which are redefinitions... * melt/warmelt-normal.melt: renamed already bound variables in let. * melt/warmelt-normatch.melt: likewise. 2009-05-26 Basile Starynkevitch [funmatcher-s still incomplete, need to keep the data in the funmatch binding...] * melt/warmelt-macro.melt: added spac_operbind field and filled it in patternexpand_expr * melt/warmelt-normal.melt: normexp_defunmatcher fills the fixbind_data... * melt/warmelt-normatch.melt: normpat_anymatchpat should use the matbind... * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-05-15 Basile Starynkevitch [funmatcher-s still incomplete] * testsuite/melt/tfunmatch-1.melt: more and better debug messages. * melt/warmelt-macro.melt: still incomplete patternexpand_expr for funmatchers * melt/warmelt-normal.melt: more in normexp_defunmatcher. * melt/warmelt-genobj.melt: unimplemented compilmatcher_funmatcher. 2009-05-15 Basile Starynkevitch * basilys.h (basilysgc_new_subseq_multiple): added declaration. * basilys.c (basilysgc_new_subseq_multiple): added function. * melt/warmelt-first.melt: added subseq_multiple primitive. * melt/warmelt-normal.melt (normexp_defcmatcher): completed but did not test yet. 2009-05-15 Basile Starynkevitch merged with trunk rev147539 * melt/warmelt-normal.melt (normexp_defcmatcher): use obj_hash instead of hashcode! * Makefile.in: TEXI_GCCINT_FILES has both plugins.texi & melt.texi 2009-05-14 Basile Starynkevitch * basilys.h: added BGLOB_CLASS_FUNMATCHER * melt/warmelt-first.melt: CLASS_FUNMATCHER is predefined. * melt/warmelt-normal.melt: added predefined CLASS_FUNMATCHER and more inside normexp_defunmatcher 2009-05-12 Basile Starynkevitch [start adding funmatchers] * melt/warmelt-normal.melt: adding normexp_defunmatcher which is still incomplete. * testsuite/melt/tfunmatch-1.melt: new test case for funmatch-ing. 2009-05-12 Basile Starynkevitch * basilys.c (basilys_output_cfile_decl_impl): only print the date, not the hour, in the comments of generated file. * melt/warmelt-macro.melt: added class_src_funmatchexpr & expand_funmatchexpr; removed duplicate definition of class_srcpattern_cmatch. * melt/warmelt-normal.melt: added normexp_funmatchexpr stub, still incomplete. * melt/warmelt-normatch.melt: removed warning about incomplete normexp_match... 2009-05-11 Basile Starynkevitch * basilys.h (callframe_basilys_st): updated comment! 2009-05-11 Basile Starynkevitch * params.def: renamed PARAM_BASILYS_FULL_FREQ as PARAM_BASILYS_FULL_THRESHOLD so basilys-full-freq as basilys-full-threshold. * basilys.c: likewise renamed FULL_FREQ as FULL_THRESHOLD. (basilys_garbcoll) ditto. 2009-05-10 Basile Starynkevitch * melt/warmelt-outobj.melt: added noop command. 2009-05-08 Basile Starynkevitch * basilys.c (load_checked_dynamic_module_index) can accept null md5src. Added more warnings. (basilysgc_load_melt_module) reindented, and accept to load a module without finding its source. 2009-05-08 Basile Starynkevitch * basilys.h (basilysgc_generate_melt_module): added new declaration. * basilys.c (basilysgc_generate_melt_module): added new function. (executable_checksum) declared as external without including c-common.h. (load_checked_dynamic_module_index): check the checksum if provided. (basilys_output_cfile_decl_impl): generate the checksum of the generating compiler. * melt/warmelt-first.melt: added generate_melt_module * melt/warmelt-outobj.melt: added genmod_command * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-05-07 Basile Starynkevitch * basilys.c (basilys_tempdir_path): all mkdir should be with 0700 mode! 2009-05-07 Basile Starynkevitch * basilys.c (basilysgc_load_melt_module): look for the generated source inside the generated directory, and more informative messages. 2009-05-07 Basile Starynkevitch * basilys.c (basilysgc_load_melt_module): gives more informative messages when failed to load a melt module. 2009-05-07 Basile Starynkevitch * compiler-probe.c (hash_info_tree): replacing switch by ifs and more casts in pointer compare to suppress warnings. (hash_info_bb, hash_info_gimple): likewise. (pass_compiler_probe): use TV_NONE instead of 0 to avoid warning. 2009-05-07 Basile Starynkevitch * basilys.c (basilysgc_load_melt_module): Give more debug messages and some inform messages when C source file not found. 2009-05-06 Basile Starynkevitch * basilys.h: added careful include of . See comment around line 30. 2009-05-05 Basile Starynkevitch Added code_chunk macro... * melt/warmelt-macro.melt: added class_src_codechunk & mexpand_code_chunk. * melt/warmelt-normal.melt: added normexp_code_chunk. * melt/warmelt-outobj.melt: adding braces when generating void objlocatedexpv * melt/ana-base.melt: tree_integer_type cmatcher takes minbig & maxbig value outputs. * melt/ana-simple.melt: using a code_chunk in smallana_gimple for gimple_assign_cast. 2009-05-05 Basile Starynkevitch Added mixbigint which are big boxed integers mixed to a value * basilys.h (OBMAG_MIXBIGINT, struct basilysmixbigint_st): added. (union basilys_un): updated. (basilys_val_mixbigint, basilys_fill_mpz_from_mixbigint): added functions. (basilysgc_new_mixbigint_mpz, basilysgc_ppstrbuf_mpz) (basilysgc_ppstrbuf_mixbigint, BGLOB_DISCR_MIXBIGINT): added declarations. * basilys.c (check_pointer_at, forwarded_copy, scanning): handling OBMAG_MIXBIGINT. (basilysgc_new_mixbigint_mpz, basilysgc_ppstrbuf_mpz) (basilysgc_ppstrbuf_mixbigint): added new functions. * melt/warmelt-first.melt: added and exported discr_mixbigint ppstrbuf_mixbigint mixbigint_val is_mixbigint. added dbgout_mixbigint_method * melt/warmelt-normal.melt: handling DISCR_MIXBIGINT. * Makefile.in: added explicit dependency on basilys.h for warmelt*0.o files, t be sure the warmelt*0.o files are recompiled when basilys.h is edited [otherwise a crash can happen]. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-05-05 Basile Starynkevitch Big boxed integers are probably needed * melt/ana-base.melt: added tree_type primitive. We really need big boxed integers ... added size in tree_integer_type cmatcher. * melt/ana-simple.melt: completed sman_arithm_compare. gimple_assign_cast handling in smallana_gimple need big boxed integers. 2009-05-04 Basile Starynkevitch * melt/ana-base.melt: added debugedge edge_dest_bb edge_for_false_value edge_for_true_value edge_src_bb. * melt/ana-simple.melt: sman_add_cmp_constraint takes a polyv argument. Adding sman_arithm_compare, still incomplete and to be used elsewhere... 2009-05-04 Basile Starynkevitch * melt/warmelt-first.melt: added obj_num in discr_ppl_polyhedron. * melt/ana-base.melt: added ppl_Polyhedron_add_constraint. * melt/ana-simple.melt: use ppl_Polyhedron_add_constraint. 2009-05-04 Basile Starynkevitch replaced all -fbasilys options by -fmelt * doc/melt.texi: updated documentation for -fmelt * basilys.c (do_initial_command) (load_basilys_modules_and_do_command): -fmelt replacing -fbasilys in messages or comments. * common.opt: replaced all -fbasilys by -fmelt. * Makefile.in: likewise. * testsuite/melt/tmatch-2.melt: likewise. * testsuite/melt/tmatch-3.melt: likewise. * testsuite/melt/tcond-1.melt: likewise. * testsuite/melt/tmallbuf.c: likewise. * testsuite/melt/t2iter.melt: likewise. * testsuite/melt/tmacrostring.melt: likewise. * testsuite/melt/tmultilong.melt: likewise. * testsuite/melt/tmatch-1.melt: likewise. * melt/ana-simple.melt: likewise. * melt/warmelt-outobj.melt: likewise. 2009-04-30 Basile Starynkevitch * basilys.h (basilys_raw_new_ppl_empty_constraint_system) (basilys_raw_new_ppl_unsatisfiable_constraint_system) (basilys_raw_clone_ppl_consstraint_system): Added new functions. Also, added spaces and corrected typos in some comments. * melt/warmelt-first.melt: Added discr_ppl_polyhedron. * melt/ana-base.melt: added raw_new_ppl_empty_constraint_system & raw_new_ppl_unsatisfiable_constraint_system. * melt/ana-simple.melt: using abenv_pplpoly not abenv_pplconsys field. Using polyhedrons, not constraint systems as main lattice. Still incomplete. 2009-04-28 Basile Starynkevitch * basilys.c (basilysgc_load_melt_module): Handle correctly specially suffixed modules like warmelt-first.d.so ... * melt/warmelt-first.melt: added mixloc_locline & mixloc_locfile primitives. * melt/warmelt-outobj.melt: output the full path in #line using mixloc_locfile & mixloc_locline. * Makefile.in: warmelt1n.modlis & warmelt2n.modlis correctly generated. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-04-28 Basile Starynkevitch * melt/ana-base.melt: the debug_ppl_ primitives behave well when the pointer is nil by avoiding calling the underlying ppl_io_asprint_* routine with a null pointer. 2009-04-27 Basile Starynkevitch * configure.ac: requires PPL 0.10.2 and test linking with ppl_io_asprint_Coefficient((char**)0, (ppl_Coefficient_t)0); 2009-04-27 Basile Starynkevitch MERGED WITH TRUNK r146824:: * basilys.h: all GTY goes before the identifiers. * basilys.c: removed errors.h include. * run-basilys.h: ditto. 2009-04-10 Basile Starynkevitch * melt/ana-simple.melt: replacing abenv_consys field by abenv_poly... 2009-04-10 Basile Starynkevitch * basilys.c (load_basilys_modules_and_do_command): correctly default basilys_init_string & debugprint it. * Makefile.in: -DMELT_DEFAULT_MODLIS is corrected when compiling basilys.c * testsuite/melt/tmallbuf.c: simplified comment for running. * melt/warmelt-macro.melt: catch unimplemented funmatcher macroexpansion. * melt/warmelt-outobj.melt: use strncpy not strcpy to fill strings for robustness. * melt/ana-base.melt: added gimple_assign_ceil_div gimple_assign_ceil_mod gimple_assign_exact_div gimple_assign_floor_div gimple_assign_floor_mod gimple_assign_rdiv gimple_assign_round_div gimple_assign_round_mod gimple_assign_trunc_div gimple_assign_trunc_mod cmatchers. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-04-09 Basile Starynkevitch [renamed all *.bysl files into *.melt files which is the preferred suffix for MELT code] * basilys.h: replaced .bysl by .melt in comments. * Makefile.in: replaced .bysl by .melt * melt/testrun1.bysl moved into testsuite/melt/testrun1.melt * melt/test1.bysl moved into testsuite/melt/test1.melt * melt/ana-base.bysl renamed as melt/ana-base.melt * melt/ana-simple.bysl renamed as melt/ana-simple.melt * melt/warmelt-first.bysl renamed as melt/warmelt-first.melt * melt/warmelt-macro.bysl renamed as melt/warmelt-macro.melt * melt/warmelt-normal.bysl renamed as melt/warmelt-normal.melt * melt/warmelt-normatch.bysl renamed as melt/warmelt-normatch.melt * melt/warmelt-genobj.bysl renamed as melt/warmelt-genobj.melt * melt/warmelt-outobj.bysl renamed as melt/warmelt-outobj.melt * testsuite/melt/t2iter.bysl renamed as testsuite/melt/t2iter.melt * testsuite/melt/tcond-1.bysl renamed as testsuite/melt/tcond-1.melt * testsuite/melt/test1.bysl renamed as testsuite/melt/test1.melt * testsuite/melt/testrun1.bysl renamed as testsuite/melt/testrun1.melt * testsuite/melt/tmacrostring.bysl renamed as testsuite/melt/tmacrostring.melt * testsuite/melt/tmatch-1.bysl renamed as testsuite/melt/tmatch-1.melt * testsuite/melt/tmatch-2.bysl renamed as testsuite/melt/tmatch-2.melt * testsuite/melt/tmatch-3.bysl renamed as testsuite/melt/tmatch-3.melt * testsuite/melt/tmultilong.bysl renamed as testsuite/melt/tmultilong.melt * testsuite/melt/tputf-1.bysl renamed as testsuite/melt/tputf-1.melt * melt/ana-base.melt: new renamed file * melt/ana-simple.melt: new renamed file * melt/warmelt-first.melt: new renamed file * melt/warmelt-genobj.melt: new renamed file * melt/warmelt-macro.melt: new renamed file * melt/warmelt-normal.melt: new renamed file * melt/warmelt-normatch.melt: new renamed file * melt/warmelt-outobj.melt: new renamed file * testsuite/melt/t2iter.melt: new renamed file * testsuite/melt/tcond-1.melt: new renamed file * testsuite/melt/test1.melt: new renamed file * testsuite/melt/testrun1.melt: new renamed file * testsuite/melt/tmacrostring.melt: new renamed file * testsuite/melt/tmatch-1.melt: new renamed file * testsuite/melt/tmatch-2.melt: new renamed file * testsuite/melt/tmatch-3.melt: new renamed file * testsuite/melt/tmultilong.melt: new renamed file * testsuite/melt/tputf-1.melt: new renamed file * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-04-09 Basile Starynkevitch * Makefile.in: removed built-melt-cc-script from warm*.so & ana*.so dependencies to avoid rebuilding them at install time. Explicitly added warmelt-outobj-3.so: warmelt-outobj-3.c dependency needed by melt.encap target. 2009-04-08 Basile Starynkevitch * basilys.c (basilysgc_load_melt_module): handle specially module names like warmelt-first-0.d or some other single letter suffix. * melt-cc-script.proto: added generation of basilys_csource string. * Makefile.in: uses warmelt-first-0.d.so instead of warmelt-first-0-d.so etc... 2009-04-08 Basile Starynkevitch * basilys.c (basilysgc_load_modulelist): also look inside melt_dynlib_dir. * Makefile.in: don't need to symlink warm*.c to warm*-n.c because the ./built-melt-cc-script handles that. Calls ./built-melt-cc-script with -n instead of -DMELTGCC_NOLINENUMBERING 2009-04-08 Basile Starynkevitch * Makefile.in: Renamed melt_default_modlis variable as melt_default_modules_list. Added install-all-melt in install target. 2009-04-08 Basile Starynkevitch * basilys.c (basilys_initialize): don't fail if basilys_init_string is null, because the default module list is then taken. * Makefile.in: the $(melt_default_modlis).modlis is always installed. when BASILYSMELT is disabled, melt.encap is an empty target. 2009-04-08 Basile Starynkevitch * melt/ana-base.bysl: cleaned up by using macrostrings in every C chunk. 2009-04-07 Basile Starynkevitch [split file melt/ana-base.bysl into ana-base.bysl & ana-simple.bysl] * basilys.h (basilys_make_ppl_NNC_Polyhedron_from_Constraint_System) (basilysgc_new_ppl_polyhedron, SAME_PPL_POLHYEDRON) (CLONED_PPL_POLHYEDRON): added declarations. (basilys_ppl_coefficient_content) (basilys_ppl_coefficient_put_content) (basilys_ppl_linear_expression_content) (basilys_ppl_linear_expression_put_content) (basilys_ppl_constraint_content) (basilys_ppl_constraint_put_content) (basilys_ppl_constraint_system_content) (basilys_ppl_constraint_system_put_content) (basilys_ppl_generator_content, basilys_ppl_generator_put_content) (basilys_ppl_generator_system_content) (basilys_ppl_generator_system_put_content) (basilys_ppl_polyhedron_content) (basilys_ppl_polyhedron_put_content): Added new inline functions. * basilys.c (readmacrostringsequence) Made better error message for macrostring. (basilys_make_ppl_NNC_Polyhedron_from_Constraint_System) (basilysgc_new_ppl_polyhedron): Added new functions. (delete_special, readsimplelong) (basilysgc_ppstrbuf_ppl_varnamvect): handling polyhedron. * melt/warmelt-macro.bysl: added debug_msg. * melt/ana-base.bysl: Moved all analysis stuff into ana-simple.bysl. All C chunks use the macrostrings. * melt/ana-simple.bysl: Added new file. * Makefile.in: adding ana-simple.bysl & removed _templ* dir. * doc/melt.texi: documented macrostrings. 2009-04-04 Basile Starynkevitch [adding PPL polyhedron] * basilys.h (ppl_Polyhedron_t, BPARSTR_PPL_POLYHEDRON) (OBMAG_SPECPPL_POLYHEDRON, BGLOB_CTYPE_PPL_POLYHEDRON) added. * melt/warmelt-first.bysl: added ctype_ppl_polyhedron * melt/warmelt-normal.bysl: added global_CTYPE_PPL_POLYHEDRON. * melt/ana-base.bysl: added foreach_basicblock_succ_edge ... 2009-04-03 Basile Starynkevitch [binding issue with citerators seems to be solved / t2iter.bysl test] * melt/warmelt-normal.bysl: added has_extra_warnings and use it to catch hiding let bindings. (normexp_citeration) add uncachelist etc.. Don't forget to update the :nctx_symbcachemap when adding bindings, including removing stuff from it. * testsuite/melt/t2iter.bysl: updated but passes. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-04-02 Basile Starynkevitch * basilys.h (debugmsgval_at): new function. (basilysgc_debugmsgval): new declaration. (debugmsgval): new macro. (FSYSDAT_DEBUGMSG) new enum. * basilys.c (readmacrostringsequence): use debugmsgval. (basilysgc_debugmsgval) new function using FSYSDAT_DEBUGMSG. * melt/warmelt-first.bysl: moved debugmsg function. added sysdata_debugmsg field. * melt/warmelt-macro.bysl: renamed locals in foreach_in_list in flatten_for_c_code_expansion. We still have a bug with binding in citerators, and this is a workaround. 2009-04-02 Basile Starynkevitch [I am adding the t2iter.bysl test because I suspect a binding issue with citerators] * melt/warmelt-macro.bysl: added check_c_expansion and call it in every C expansion locus. * testsuite/melt/t2iter.bysl: new test [unchecked]. 2009-04-01 Basile Starynkevitch [adding macrostrings] * basilys.h: added basilysgc_new_string_raw_len & BGLOB_DISCR_STRBUF. * basilys.c (readmacrostringsequence): added new function. (readhashescape) calls it when #{. * melt/warmelt-first.bysl: discr_strbuf is predef-ined. * melt/warmelt-macro.bysl: added flatten_for_c_code_expansion & call it from parse_pairlist_c_code_expansion. * melt/warmelt-normal.bysl: added DISCR_STRBUF predef in predefmap. * melt/ana-base.bysl: moved some debugstuff. * testsuite/melt/tmacrostring.bysl: new file. 2009-03-31 Basile Starynkevitch * melt/ana-base.bysl: added sman_add_cmp_constraint. 2009-03-31 Basile Starynkevitch [:long secondary results handled ok in multicall so tmultilong.bysl compiles ok] * melt/warmelt-outobj.bysl: added missing & [adressof] in output of multicall secondary results. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-31 Basile Starynkevitch [:long secondary results are mishandled in multicall] * melt/ana-base.bysl: renamed sman_add_constraint as sman_add_cmp_constraint. * testsuite/melt/tmultilong.bysl: new testcase file for MELT. 2009-03-30 Basile Starynkevitch * basilys.c (basilysgc_ppstrbuf_ppl_varnamvect): cleaned up. * melt/warmelt-outobj.bysl: added indent in multicall output. * melt/ana-base.bysl: adding sman_add_constraint. 2009-03-30 Basile Starynkevitch * basilys.c (basilysgc_ppstrbuf_ppl_varnamvect): removed warning since ppl_io_asprint_##Type functions are no more deprecated in PPL. 2009-03-27 Basile Starynkevitch * basilys.h (basilysgc_add_strbuf_raw_len): new function. * basilys.h (basilysgc_add_strbuf_raw_len): added new function. (basilysgc_add_strbuf_raw): made wrapper to above. (struct ppbasilysflushdata_st): added gf_ident field. (ppbasilys_flushrout): use above basilysgc_add_strbuf_raw_len and handle indentation. (basilysgc_ppstrbuf_gimple, basilysgc_ppstrbuf_tree) take care of indentation. * melt/warmelt-outobj.bysl: removed debug_msg of discr_string. * melt/ana-base.bysl: added gimple_cond_true & gimple_cond_false cmatchers & push_cfun_decl & pop_cfun primitives. Cleaner ppl debugprint. added sman_cfuntreemap field. many @@unimplemented asserts replaced by @$@unimplemented. Renamed smallana_latessagate & smallana_latessaexec as smallanapass_gate & smallanapass_exec, they are now in basilys_ipa_gccpass. 2009-03-27 Basile Starynkevitch * melt/ana-base.bysl: Added several ppl wrappers. Equality constraints seems ok... 2009-03-26 Basile Starynkevitch * basilys.h (basilysgc_new_ppl_linear_expression) (basilys_clear_special, basilys_make_ppl_coefficient_from_tree) (basilys_make_ppl_coefficient_from_long) (basilys_make_ppl_linear_expression) (basilys_make_ppl_constraint_cstrtype) (basilys_insert_ppl_constraint_in_boxed_system): added declarations. * basilys.c (basilysgc_new_ppl_linear_expression) (basilys_clear_special, basilys_make_ppl_coefficient_from_tree) (basilys_make_ppl_coefficient_from_long) (basilys_make_ppl_linear_expression) (basilys_make_ppl_constraint_cstrtype) (basilys_insert_ppl_constraint_in_boxed_system): Added new functions. * melt/ana-base.bysl: added several ppl primitives and use them for passing equality constraint. 2009-03-25 Basile Starynkevitch [while merging with trunk r145061] * basilys.h (ppl_Coefficient_t, ppl_Linear_Expression_t) (ppl_Constraint_t, ppl_Constraint_System_t, ppl_Generator_t) (ppl_Generator_System_t): typedef copied from . 2009-03-25 Basile Starynkevitch [adding most PPL related ctypes except PPL generators] * basilys.h (BGLOB_CTYPE_PPL_COEFFICIENT) (BGLOB_CTYPE_PPL_LINEAR_EXPRESSION, BGLOB_CTYPE_PPL_CONSTRAINT) (BGLOB_CTYPE_PPL_CONSTRAINT_SYSTEM, BPAR_PPL_COEFFICIENT) (BPARSTR_PPL_COEFFICIENT, BPAR_PPL_CONSTRAINT) (BPARSTR_PPL_CONSTRAINT, BPAR_PPL_CONSTRAINT_SYSTEM) (BPARSTR_PPL_CONSTRAINT_SYSTEM, BPAR_PPL_LINEAR_EXPRESSION) (BPARSTR_PPL_LINEAR_EXPRESSION) added new ctypes. (BGLOB_CTYPE_PPL_GENERATOR, BGLOB_CTYPE_PPL_GENERATOR_SYSTEM) reserved for future use. * melt/warmelt-first.bysl: added ctype_ppl_coefficient ctype_ppl_linear_expression ctype_ppl_constraint ctype_ppl_constraint_system and corresponding keywords :ppl_coefficient :ppl_linear_expression :ppl_constraint :ppl_constraint_system * melt/warmelt-normal.bysl: added new ctype predefs. * melt/ana-base.bysl: still adding constraints. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-24 Basile Starynkevitch * Makefile.in: reordered warm%-n.so ana%-d.so etc.... * basilys.c (ppl_basilys_variable_output_function): handles a vector of trees... * melt/ana-base.bysl: adding sman_propagate_constraints_call... 2009-03-23 Basile Starynkevitch * basilys.c (basilysgc_ppstrbuf_ppl_varnamvect): TEMPORARY KLUDGE to avoid fopencookie. See http://www.cs.unipr.it/pipermail/ppl-devel/2009-March/014162.html. Requires a very recent PPL snapshot. 2009-03-21 Basile Starynkevitch * basilys.h: struct basilysroutine_st has now a real basilysroutfun_t* function pointer called routfunad instead of routaddr. BASILYS_ROUTINE_STRUCT updated appropriately. * basilys.c (basilys_extra_marking, basilysgc_new_routine) (basilys_apply): uses routfunad instead of routaddr. 2009-03-21 Basile Starynkevitch * basilys.h: adding BASILYS_ROUTINE_SET_ROUTCODE macro. * melt/warmelt-first.bysl: cast a basilys_ptr_t inside add2sbuf_mixloc primitive. * melt/warmelt-outobj.bysl: generating BASILYS_ROUTINE_SET_ROUTCODE. * melt-cc-script.proto: removed all the noise like echo, pwd... * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-19 Basile Starynkevitch * melt/warmelt-first.bysl: changed casts in sbuf primitives to (basilys_ptr_t) to follow previous change on sbuf functions in basilys.h * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-19 Basile Starynkevitch [removed almost all warnings in basilys.?; the fopencookie will be removed next week, using next version of PPL library] * basilys.h: Using basilys_ptr_t as argument type of basilysgc_add_strbuf_raw, basilysgc_add_strbuf, basilysgc_add_strbuf_cstr, basilysgc_add_strbuf_ccomment, basilysgc_add_strbuf_cident, basilysgc_add_strbuf_cidentprefix, basilysgc_add_strbuf_hex, basilysgc_add_strbuf_dec, basilysgc_strbuf_printf, basilysgc_strbuf_add_indent. * basilys.c (basilysgc_add_strbuf_raw, basilysgc_add_strbuf, basilysgc_add_strbuf_cstr, basilysgc_add_strbuf_ccomment, basilysgc_add_strbuf_cident, basilysgc_add_strbuf_cidentprefix, basilysgc_add_strbuf_hex, basilysgc_add_strbuf_dec, basilysgc_strbuf_printf, basilysgc_strbuf_add_indent): using basilys_ptr_t. 2009-03-19 Basile Starynkevitch [removed warnings in compiler-probe.*] * compiler-probe.h: Cleaned up various #if... * compiler-probe.c: Updated copyright year. (del_proberequest, hash_filename, eq_filename, del_filename, create_probe_process) Cleanups for warnings. (tree_ending_displayer) removed by commenting it. 2009-03-17 Basile Starynkevitch with help from Rob Weld [perhaps solved PR39484] * basilys.c (basilys_extra_marking): extra marking done right. (basilys_assert_failed) cleaned up when not ENABLE_CHECKING. 2009-03-17 Basile Starynkevitch [PR39484 still crashing when ./configure-d on i686-linux with --prefix=/usr] * basilys.c (basilysgc_ppstrbuf_ppl_varnamvect): added comment on PPL experimental print_ppl_Constraint_System_t_to_buffer which would permit to avoid using fopencookie which is a dirty hack.. * ggc-zone.c (ggc_collect_extra_marking): removed useless comment. 2009-03-17 Basile Starynkevitch with help from Rob Weld [fixed PR39483] * ggc-zone.c (free_small_page): calls ggc_collect_1 with extra walk data. 2009-03-17 Basile Starynkevitch [fixed PR39470] * compile-probe.c (comprobe_begin_big): calls lrand48, not lrand48_r. * basilys.h (basilys_lrand): wraps lrand48. * basilys.c (basilys_initialize): calls srand48 not srand48_r. (basilys_lrand): moved to basilys.h. 2009-03-15 Basile Starynkevitch * basilys.h (basilysgc_clone_ppl_constraint_system): added new declaration. * basilys.c (basilysgc_clone_ppl_constraint_system): new function. (ppl_basilys_variable_output_function) handles named ... * melt/warmelt-first.bysl: exporting obj_serial. * melt/ana-base.bysl: added abenv_pplconsys field. added dbgout_smallabstractenv function to display class_smallabstractenv. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-14 Basile Starynkevitch * basilys.h (basilysgc_new_ppl_constraint_system) (basilysgc_ppstrbuf_ppl_varnamvect): added new declarations. * basilys.c (basilysgc_new_ppl_constraint_system) (cookiestrbuf_basilyswrite, basilys_sbufcookiefuns) (basilys_pplcoefvectp, ppl_basilys_variable_output_function) (basilysgc_ppstrbuf_ppl_varnamvect, basilys_ppl_error_handler): added new stuff for PPL support [using fopencookie GNU function]. * melt/warmelt-first.bysl: added discr_ppl_constraint_system. * melt/ana-base.bysl: adding more of trivial abstract interpretation. * testsuite/gcc/tmallbuf.c: updated comment. 2009-03-13 Basile Starynkevitch * testsuite/gcc/tmallbuf.c: indented with more newlines. * melt/ana-base.bysl: begin to add abstract interpretation. 2009-03-13 Basile Starynkevitch [tmallbuf.c testsuite is parsed by ana-base.bysl] * melt/ana-base.bysl: added several gimple patterns. * testsuite/gcc/tmallbuf.c: indented & simplified. 2009-03-13 Basile Starynkevitch * melt/ana-base.bysl: removed simpanalysis. removed several do_each* functions, using directly the underlying citerator. 2009-03-13 Basile Starynkevitch * melt/warmelt-first.bysl: removed comment from GCC chat... * melt/ana-base.bysl: adding mapbasicblock ... 2009-03-12 Basile Starynkevitch * basilys.h (debugprintfnonl): new macro. * melt/warmelt-macro.bysl: typo for AS macro. * melt/ana-base.bysl: added several gimple patterns. 2009-03-11 Basile Starynkevitch * melt/warmelt-macro.bysl: added CLASS_SRCPATTERN_AS and AS patmacro. * melt/warmelt-normatch.bysl: added normpat_aspat. * melt/warmelt-genobj.bysl: removed compile_warning in compiltst_normtester_same. * melt/ana-base.bysl: something wrong when adding a tree_integer_type check on argument.. 2009-03-11 Basile Starynkevitch * testsuite/melt/tmallbuf.c: alloctab has two arguments. * melt/warmelt-first.bysl: added debugcstring. * melt/warmelt-normatch.bysl: added normat_null [incomplete]. * melt/warmelt-genobj.bysl: added debug_msg in normtester_gotoinstr. * melt/ana-base.bysl: added tree_parm_decl tree_integer_type cmatchers & each_arg_in_fundecl citerator. 2009-03-10 Basile Starynkevitch * basilys.h: missing backslash in basilys_raw_object_create macro when checking is disabled. * melt/warmelt-first.bysl: removed compile_warning about printing mixlocs. * melt/warmelt-normatch.bysl: added normapth of or & and subpatterns. [incomplete]. * melt/ana-base.bysl: adding tree_block cmatcher. 2009-03-10 Basile Starynkevitch [tmatch-3.bysl compiles ok; we have probably a bug when a symbol is lexically rebound in an inner scope... perhaps nested foreach_in_multiple with same index variable are miscompiled] * melt/warmelt-normatch.bysl: renamed inner ix as ixm in normpat_anymatchpat. * melt/ana-base.bysl: the match is compiled ok. 2009-03-10 Basile Starynkevitch [still buggy tmatch-3.bysl] * basilys.h (basilys_location_mixloc): may return UNKNOWN_LOCATION. * basilys.c (basilysgc_ppstrbuf_basicblock): removed bad cast. * melt/warmelt-first.bysl: output mixloc correctly in dbgout_mixloc_method. * testsuite/melt/tmatch-3.bysl: simplified still failing test case. 2009-03-10 Basile Starynkevitch [still a bug in compiling match; added tmatch-3.bysl test case; spurious check warnings in warmelt-first.bysl are resolved.] * melt/warmelt-first.bysl: added field mocx_initialenv to class_modulcontext. * melt/warmelt-normatch.bysl: removed compile_warning in normpat_jokerpat. * melt/warmelt-genobj.bysl: removed compile_warning in compilmatcher_cmatcher. * melt/warmelt-outobj.bysl: added generation of basilys_HAS_INITIAL_ENVIRONMENT and dirty trick in check putroutconst constnull to avoid spurious messages.. * melt/ana-base.bysl: commented a match which does compile correctly. * testsuite/melt/tmatch-3.bysl: added new file exercising a bug. * testsuite/melt/tmallbuf.c: simplified the example. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-10 Basile Starynkevitch * Makefile.in: use readlink instead of realpath; thanks to Nicolas Vigier. 2009-03-09 Basile Starynkevitch [-fbasilys-init has a suitable default so an installed MELT compiler should be able to run with only -fbasilys=...] * doc/melt.texi: documented the @melt-default-modules default value of -fbasilys-init. * basilys.c (load_basilys_modules_and_do_command): basilys_init_string has a built-in default of @melt-default-modules. * Makefile.in: added installation targets for install-melt-all. 2009-03-08 Basile Starynkevitch [ana-base.bysl has a realistic match inside] * melt/warmelt-normatch.bysl: removed some warnings. * melt/warmelt-genobj.bysl: removed some warnings. in compilobj_nrep_match never dispose the omatched. * melt/ana-base.bysl: tree_variable_decl seems to work ok. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-03-08 Basile Starynkevitch [tmatch-2.bysl compiled ok] * melt/warmelt-normatch.bysl: added field nmatch_matched to class_nrep_match and filled it. * melt/warmelt-genobj.bysl: don't dispose the nmatched in compilobj_nrep_match. 2009-03-08 Basile Starynkevitch [still buggy on compiling match. Added tmatch-2.bysl] * testsuite/melt/tmatch-2.bysl: new file, failing test... * melt/ana-base.bysl: adding more in snamm analysis. 2009-03-06 Basile Starynkevitch * testsuite/melt/tmallbuf.c: added new file. * testsuite/melt/README: updated. * testsuite/melt/tmatch-1.bysl: updated comment. * melt/warmelt-macro.bysl: removed debugprints. * melt/ana-base.bysl: adding small analysis. 2009-03-06 Basile Starynkevitch * melt/ana-matcher.bysl: removed file. 2009-03-05 Basile Starynkevitch * configure.ac: added notice when MELT branch configured without enabling basilysmelt. * configure: Regenerated. 2009-03-04 Basile Starynkevitch * Makefile.in: compile-probe.o is dirty so -Wno-error. 2009-03-03 Basile Starynkevitch * melt/warmelt-first.bysl: added list_find * melt/warmelt-normatch.bysl: added field nmatch_stuffmap in class_nrep_match. * melt/warmelt-genobj.bysl: partly implemented compiltst_normtester_same. Disposing stuff in compilobj_nrep_match [untested]. 2009-03-03 Basile Starynkevitch * melt/warmelt-normatch.bysl: added register_new_normtester. the pctn_stuffmap is now filled. 2009-02-27 Basile Starynkevitch [runfile of hello.bysl is working] * basilys.h (basilysgc_compile_dyn): removed becomes (basilysgc_load_melt_module). * basilys.h (basilys_tempdir_path): added suffix argument. * basilys.c (tempdir_path) is static. (basilysgc_compile_dyn) removed since renamed as (basilysgc_load_melt_module): new function. (basilys_tempdir_path): has a suffix. * melt/warmelt-first.bysl (compile_load_dynamic_module) renamed as (load_melt_module). * melt/warmelt-outobj.bysl: (runfile) command working. 2009-02-25 Basile Starynkevitch [the whole compilation of generated C code in temporary directory stuff should be cleaned and is buggy; -fbasilys=runfile hello.bysl dont work yet; really the name of the generated C code should be unique, not every tempdir_path!] * basilys.h (basilysgc_new_string_tempbasename): removed (basilysgc_new_string_tempname_suffixed): added * basilys.c (basilysgc_new_string_tempbasename): removed (basilysgc_new_string_tempname_suffixed): added (basilys_tempdir_path): compute the basename of its argument and uses a unique counter. (load_checked_dynamic_module_index): check the module file base & suffix... * melt/warmelt-first.bysl: added make_string_tempname_suffixed primitive instead of make_string_tempbasename 2009-02-24 Basile Starynkevitch * basilys.h (basilysgc_new_string_tempbasename): added new declaration. * basilys.c (basilysgc_new_string_tempbasename): added new function. (basilys_tempdir_path): uses a counter to ensure unique file names. * melt/warmelt-first.bysl: addded compile_load_dynamic_module & make_string_tempbasename primitives. * melt/warmelt-genobj.bysl: added debug message in compiltst_normtester_success. * melt/warmelt-outobj.bysl: added runfile command and compile_one_or_more_files function. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-02-20 Basile Starynkevitch [tmatch-1.bysl could be compiled correctly, but lots of intermediate objloc are never disposed...] * melt/warmelt-normatch.bysl: correctly handing toplevel joker test... * testsuite/melt/tmatch-1.bysl: added return. 2009-02-20 Basile Starynkevitch * melt/warmelt-first.bysl (tuple_nth): as a cmatcher check for multiple at least strictly bigger... * melt/warmelt-genobj.bysl (dispose_objloc) new function, which clears the obl_proc field and avoid freeing twice the same. (dispose_bnd_obj) call the previous one. (compile_tester) selector is supposed to return two values, the secondary one being the destination objcode. (compilobj_nrep_match) uses the secondary one. (compiltst_normtester_same) is still incomplete. * melt/warmelt-outobj.bysl: better output of objlabel & objgoto. 2009-02-19 Basile Starynkevitch * melt/warmelt-normatch.bysl (normexp_match): added oldtester and chained the various tests thru their else... * testsuite/melt/tmatch-1.bysl: added calls in the various match cases. 2009-02-19 Basile Starynkevitch [generated tmatch-1.c is compiled, but could be wrong] * melt/warmelt-genobj.bysl: always add labins into obodyl inside compilobj_nrep_match. 2009-02-19 Basile Starynkevitch [generated tmatch-1.c still don't compile] * melt/warmelt-genobj.bysl: added compile_tester selector & class_testercompilcontext & compiltst_anytester catchall function. Added extra tcx argument to compile_tester. Replaced all compile_obj sent to testers by compile_tester. 2009-02-13 Basile Starynkevitch * melt/warmelt-genobj.bysl: (compilobj_nrep_match) corrected the making of the objmultiblock. 2009-02-11 Basile Starynkevitch * melt/warmelt-first.bysl: added export of list3 list3 list5 list6. dbgoutagain_anyobject_method is outputting the rank. * melt/warmelt-genobj.bysl: the labins is generated only in compilobj_nrep_match * melt/warmelt-normatch.bysl: the ntinst_class is a normalized npatcla! 2009-02-11 Basile Starynkevitch [first time a match is compiled to something...] * melt/warmelt-genobj.bysl: gotothen or gotoelse defaults to gotoend. using explicit blocks. 2009-02-11 Basile Starynkevitch * melt/warmelt-genobj.bysl: the ntest_matched field should be compiled in compilmatch_cmatcher. 2009-02-10 Basile Starynkevitch [still buggy normalization of match] * melt/warmelt-normatch.bysl: added more debug_msg. * melt/warmelt-genobj.bysl: added class_objmultiblock. 2009-02-10 Basile Starynkevitch [still buggy normalization of match; perhepes match_ symbol cloned carelessly.] * melt/warmelt-normatch.bysl: each creation of a class_nrep_locsymocc should be put in the normcontext's symbol cache map. 2009-02-09 Basile Starynkevitch [still buggy normalization of match] * melt/warmelt-normatch.bysl: normexp_match mixes both sortedbindings & nbodybindings inside the ntsuccess_do of the class_normtester_success. * melt/warmelt-genobj.bysl: incomplete implementation of compilobj_normtester_success, compilobj_normtester_instance. * testsuite/melt/tmatch-1.bysl: added call to have a non-trivial bodybinding. 2009-02-06 Basile Starynkevitch * melt/warmelt-normatch.bysl: added ntest_comefrom field. more code inside normpat_instancepat. * melt/warmelt-genobj.bysl: added normtester_free_objloc_list. more code inside compilobj_normtester_matcher & compilobj_normtester_instance. still incomplete. 2009-02-05 Basile Starynkevitch * melt/warmelt-first.bysl: added foreach_in_list citerator. * melt/warmelt-normal.bysl: corrected typo. * melt/warmelt-normatch.bysl: added :ntest_locclist in normtesters. normpat_instancepat & normpat_anymatchpat completed almost. * melt/warmelt-genobj.bysl: removed some debug_msg... * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-02-04 Basile Starynkevitch * melt/warmelt-genobj.bysl: coded compilmatcher_cmatcher - yet untested. 2009-02-03 Basile Starynkevitch * melt/warmelt-genobj.bysl: Added class_matchcompilcontext, fill it in compilobj_normtester_matcher, compilmatcher_cmatcher is still incomplete. 2009-02-02 Basile Starynkevitch * melt/warmelt-genobj.bysl: Added compile_matcher selector. Added normtester_labelinstr normtester_gotoinstr endmatch_gotoinstr utility functions. * melt/warmelt-outobj.bysl: when outputing goto or label, handle case when rank is nil. * testsuite/melt/tcond-1.bysl: updated comment. 2009-02-02 Basile Starynkevitch [bug corrected in citeration compilation == tcond-1.bysl ok] * testsuite/melt/tcond-1.bysl: simplified test case. * melt/warmelt-normal.bysl: typo in debug_msg. * melt/warmelt-genobj.bysl: Corrected compilation of citeration by missing put_objdest. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-02-02 Basile Starynkevitch * testsuite/melt/tcond-1.bysl: added new file, exercising a bug. * melt/warmelt-first.bysl: (class_genercontext) Added gncx_matchmap. * melt/warmelt-normatch.bysl: renamed field ntest_match as ntest_matched. added field ntest_normatch into class_normtester_any. removed nmatch_binds from class_nrep_match. update ntest_normatch field in normexp_match. * melt/warmelt-genobj.bysl: added class_objgotoinstr & class_objlabelinstr. added stubs for compile_obj methods for class_tester_* * melt/warmelt-outobj.bysl: added output_code for class_objgotoinstr & class_objlabelinstr 2009-01-28 Basile Starynkevitch * melt/warmelt-genobj.bysl: added stub for compilation of normal matches. * melt/warmelt-normatch.bysl: normtester-s are not typed anymore. class_nrep_match has nmatch_res field, suitably filled. 2009-01-27 Basile Starynkevitch * basilys.c (basilys_apply): always decrement depth, even when applying non closure... * melt/warmelt-normal.bysl: added debug msg. * melt/warmelt-normatch.bysl: making a normal match... 2009-01-26 Basile Starynkevitch * melt/warmelt-normatch.bysl: exported more classes, defined class_nrep_match, still incomplete. 2009-01-22 Basile Starynkevitch [bug corrected; class objects should have the good objnum when created] * testsuite/melt/tputf-1.bysl: Updated comment. * melt/warmelt-first.bysl: Added object_magic_object primitive for OBMAG_OBJECT. * melt/warmelt-macro.bysl: (mexpand_defclass) Corrected bug by initializing the objnum of newly created classes. * melt/warmelt-normal.bysl: (normexp_put_fields) Using foreach and added debug_msg there. * melt/warmelt-normatch.bysl: better put_fields in (normexp_match) which is still incomplete. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-01-22 Basile Starynkevitch * testsuite/melt/tputf-1.bysl: new testcase, exhibiting a bug. * melt/warmelt-normal.bysl: (normexp_put_fields) added inform messages, still buggy [tputf-1.bysl]. * melt/warmelt-normatch.bysl: adding testlist. 2009-01-21 Basile Starynkevitch * Makefile.in: Merged with trunk, BACKENDLIBS corrected. 2009-01-21 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding more... & debugged a bit. 2009-01-19 Basile Starynkevitch * melt/warmelt-first.bysl: (mapobject_sorted_attribute_tuple) added new exported function. * melt/warmelt-normatch.bysl: adding more... 2009-01-16 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding instance matching... 2009-01-15 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding handler and subhandler... 2009-01-15 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding handler... 2009-01-13 Basile Starynkevitch * melt/warmelt-normatch.bysl: partly recoded. 2009-01-07 Basile Starynkevitch * melt/warmelt-normatch.bysl: added more. 2009-01-06 Basile Starynkevitch * melt/warmelt-normatch.bysl: added more. Probably should be rethought (see comments there). 2009-01-06 Basile Starynkevitch * melt/warmelt-normal.bysl: bug in normexp_defcmatcher. The generated data was wrong (same in & out matchargs). so updated copyright. * melt/warmelt-first.bysl: better formal names in tuple_nth cmatcher. 2009-01-06 Basile Starynkevitch * melt/warmelt-macro.bysl: updated copyright year. added debugmsg in mexpand_defcmatcher. * melt/warmelt-normatch.bysl: adding incomplete normapt_instancepat. still buggy & incomplete. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2009-01-05 Basile Starynkevitch * melt/warmelt-normatch.bysl: debugged some stuff. Added explicit inform message for matched typemispatch. * testsuite/melt/tmatch-1.bysl: added comment to explain how to run it. 2009-01-05 Basile Starynkevitch * melt/warmelt-first.bysl: added debug_msg in clone_symbol. Updated copyright year. * melt/warmelt-normatch.bysl: added fields in class_nrep_testpoint. Updated copyright year. 2008-12-15 Basile Starynkevitch * melt/warmelt-macro.bysl: added mexpand_put_fields. * melt/warmelt-normal.bysl: corrected assertion in normexp_put_fields. * melt/warmelt-normatch.bysl: more in normpat_anymatchpat. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-12-12 Basile Starynkevitch * melt/warmelt-macro.bysl: added class_srcpattern_anymatch. * melt/warmelt-normatch.bysl: renamed normpat_cmatchpat as normpat_anymatchpat. 2008-12-10 Basile Starynkevitch * melt/warmelt-normatch.bysl: normal_pattern takes a nmatch argument... [still incomplete] 2008-12-08 Basile Starynkevitch * Makefile.in: using BACKENDLIBS as merged from trunk r142553 2008-12-03 Basile Starynkevitch * melt/warmelt-normatch.bysl: added more of normpat_cmatchpat. 2008-12-01 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding normpat_cmatchpat. * testsuite/melt/tmatch-1.bysl: first pattern in tmatch_aa is nested. 2008-12-01 Basile Starynkevitch * testsuite/melt/ : added directory * testsuite/melt/README: added new file. * testsuite/melt/tmatch-1.bysl: added new file. * melt/warmelt-match.bysl: mexpand_match gets the pattern tuple in right order. * melt/warmelt-normatch.bysl: added normpat_anypat method for normal_pattern of class_srcpattern_any. 2008-11-20 Basile Starynkevitch * melt/warmelt-normal.bysl: normexp_class had too strong assert. * melt/warmelt-normatch.bysl: normpat_anyrecv has good psloc. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-11-20 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding normal_pattern selector and normpat_anyrecv, which perhaps triggers a MELT bug. 2008-11-20 Basile Starynkevitch * melt/warmelt-normatch.bysl: minor variable renaming. 2008-11-10 Basile Starynkevitch * Makefile.in: added rules for warmelt2n.modlis... * melt/warmelt-normatch.bysl: added catch alls for anypattern, any value, nil... 2008-11-09 Basile Starynkevitch [collecting reliably all stuff, e.g. gimple ctype, even when allocated in a closure] * basilys.c (basilys_extra_marking) implemented and called. (basilys_module_info_t) declaration moved at start. (basilys_garbcall) calls ggc_collect_extra_marking. 2008-11-07 Basile Starynkevitch * basilys.c [reindented] (basilys_extra_marking) new not yet used function. [using a vector of basilys_module_info_t] (basilys_module_info_t) new type & structure. (modinfvec) new vector. (load_checked_dylib) removed and renamed as (load_checked_dynamic_module_index) which does all the dlsym-s and accepts both *basilys* & *melt* symbols inside eg both melt_md5 & basilys_md5 both start_module_basilys & start_module_melt, etc... (basilysgc_compile_dyn) uses it. [should use ggc_collect_extra_marking]. 2008-11-03 Basile Starynkevitch * basilys.c: added basilys_modulinfo_t. * melt/warmelt-outobj.bysl: Completed generation of marking. Added generation of initial_frame_basilys. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * Warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-11-02 Basile Starynkevitch [generated marking code for initial module routine and every procedure] * melt/warmelt-outobj.bysl: Added generation of marking for the initial frame. Added initial_command_install function. * melt/ana-base.bysl: uses initial_command_install function. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-30 Basile Starynkevitch * melt/warmelt-outobj.bysl: in outpucod_marker generate marking of current closure. 2008-10-26 Basile Starynkevitch * basilys.h: added BASILYSPAR_MARKGGC. * ggc.h: (ggc_mark_roots_extra_marking, ggc_collect_extra_marking) new declarations. * ggc-common.c: (ggc_mark_roots_extra_marking) Added new function. (ggc_mark_roots) Removed. (ggc_collect) Moved function here to wrap ggc_collect_extra_marking. * ggc-page.c: (ggc_collect_extra_marking) replacing (ggc_collect) which has moved in ggc-common.c file. * ggc-zone.c: (ggc_collect_extra_marking) replacing (ggc_collect) which has moved in ggc-common.c file. (ggc_collect_1) takes extra marker routine & data arguments. * melt/warmelt-first.bysl: class_ctype has new field ctype_marker filled for ctype_value ctype_tree ctype_gimple ctype_gimpleseq ctype_basicblock ctype_edge. * melt/warmelt-outobj.bysl: added outpucod_marker and calling it. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-23 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding normal_pattern selector. 2008-10-18 Basile Starynkevitch * melt/warmelt-first.bysl: added subclass_or_eq primitive. * melt/warmelt-normatch.bysl: better error msg & test. 2008-10-17 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding testpoints... 2008-10-16 Basile Starynkevitch [cmatcher correctly filled] * melt/warmelt-normal.bysl: defcmatcher correctly normalized. 2008-10-16 Basile Starynkevitch [cmatcher have incorrect amatch_matchbind & match not implemented] * doc/melt.texi: updated doc on match (removed :else clause). * melt/warmelt-first.bysl: typo in tuple_nth cmatcher. * melt/warmelt-macro.bysl: remove smat_else field. * melt/warmelt-normatch.bysl: normexp_match scan the pattern of each clause and build the tuple of vars, of consts, of bindlists. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-15 Basile Starynkevitch * melt/warmelt-normatch.bysl: adding backpoints & testpoints 2008-10-14 Basile Starynkevitch * melt/warmelt-first.bysl: added foreach_long_upto citerator. * melt/warmelt-macro.bysl: removed spac_args fields, added spac_inargs & spac_outargs fields to class_srcpattern_composite. added patmacexpand_for_matcher function. more in patternexpand_expr. * melt/warmelt-normatch.bysl: more in scanpat_srcpatcomposite. 2008-10-13 Basile Starynkevitch * melt/warmelt-normal.bysl: normexp_class corrected, so get_field well compiled. * melt/warmelt-normatch.bysl: adding scan_pattern for composite. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-normatch-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-13 Basile Starynkevitch * melt/warmelt-normatch.bysl: added more scan_pattern methods. 2008-10-12 Basile Starynkevitch [match need a lot of work; look into Rete networks for ideas] * melt/warmelt-normatch.bysl: renamed find_patvar as scan_pattern. added some incomplete code. added more fields into class_patterncontext 2008-10-11 Basile Starynkevitch [match still not working] * Makefile.in: addef warmelt-normatch.* * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-normatch-0.c: added & regenerated. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. * melt/warmelt-macro.bysl: in mexpand_match the elsebody is a tuple. * melt/warmelt-normal.bysl: moved normexp_match to warmelt-normatch.bysl. * melt/warmelt-normatch.bysl: new file with normexp_match class_patterncontext find_patvar * melt/warmelt-genobj.bysl: comment change. * melt/warmelt-outobj.bysl: ditto. The first brace of generated routine is in first column. 2008-10-11 Basile Starynkevitch [match still not working] * melt-cc-script.proto: separate compilation of the big *.c * melt/warmelt-first.bysl: export dbgout_fields & dbgoutagain_fields which take another torank argument. added dbgout_environment_method & dbgout_class_method. * melt/warmelt-macro.bysl: patternexpand_1 with more debugmsg. mexpand_match works better. * melt/warmelt-normal.bysl: added new debugmsg. 2008-10-10 Basile Starynkevitch * doc/melt.texi: dont mention redefinition_handling - never implemented nor useful. * basilys.h (basilys_is_multiple_at_least) (basilys_is_multiple_of_length) added functions. * melt/warmelt-first.bysl: added tuple_nth & tuple_sized cmatchers. * melt/warmelt-macro.bysl: removed redefinition_handling macro. defcmatcher more flexible, can have empty expanders... * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. 2008-10-10 Basile Starynkevitch * melt/warmelt-normal.bysl: added class_nrep_typexpr, and nexpr_ctyp field. removed nif_ctyp field. * melt/warmelt-genobj.bysl: don't use nif_ctyp but nexpr_ctyp. * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. 2008-10-10 Basile Starynkevitch * melt/warmelt-first.bysl: changed comment. * melt/warmelt-macro.bysl: better expand_cmatchexpr. * melt/warmelt-normal.bysl: added normexp_cmatchexpr & getctype_chunk. class_nrep_chunk has nchunk_oper instead of nchunk_primitive. * melt/warmelt-genobj.bysl: compilobj_nrep_chunk handle primitive & cmatchexpr operators differently. * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. 2008-10-10 Basile Starynkevitch * melt/warmelt-normal.bysl: all fixed bindings handled the same in normexp_symbol. 2008-10-10 Basile Starynkevitch [defcmatcher are exported] * melt/warmelt-normal.bysl: normexp_defcmatcher fills the fixbind_data. * melt/ana-base.bysl: added gimple cmatcher. 2008-10-09 Basile Starynkevitch [defcmatcher failed to export correctly] * melt/warmelt-normal.bysl: maybe all fixed bindings should be handled the same by normexp_symbol. * melt/warmelt-genobj.bysl: better debugmsg in compilobj_nrep_constocc. * melt/ana-base.bysl: adding gimple defcmatcher - not working yet. 2008-10-08 Basile Starynkevitch * melt/warmelt-macro.bysl: added OBJECT & INSTANCE patmacro. 2008-10-08 Basile Starynkevitch [implemented safe get_field & put_fields] * doc/melt.texi: updated documentation. * melt/warmelt-first.bysl: removed comments. * melt/warmelt-macro.bysl: added class_src_get_field class_src_put_fields and their macroexpanders. * melt/warmelt-normal.bysl: added class_nrep_ifcommon class_nrep_ifisa and implemented normaexp_put_fields & normexp_get_field. * melt/warmelt-genobj.bysl: added compilation of class_nrep_ifisa. 2008-10-08 Basile Starynkevitch * melt/warmelt-macro.bysl: AND becomes a patmacro. added class_srcpattern_and. 2008-10-08 Basile Starynkevitch {export_patmacro working for OR] * melt/warmelt-macro.bysl: OR becomes a patmacro. * melt/warmelt-genobj.bysl: all export_macro & export_patmacro done in normalization. * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. 2008-10-08 Basile Starynkevitch * melt-cc-script.proto: guess the second arg dynstuff from the first csource on common platforms. * melt/warmelt-normal.bysl: normal_exported_patmacro uses its nexp argument. * melt/warmelt-outobj.bysl: commented most debug_msg... 2008-10-07 Basile Starynkevitch [export_patmacro does not work well] * melt/warmelt-first.bysl: added debug_msg in initpatmacro_exporter. * melt/warmelt-macro.bysl: adding class_srcpattern_or. temporarily an oror_ patmacro.. * melt/warmelt-normal.bysl: reindented. 2008-10-06 Basile Starynkevitch * doc/melt.texi: documented instance, get_field, put_fields. * melt/warmelt-first.bysl: using instance instead of make_instance. * melt/warmelt-macro.bysl: ditto. * melt/warmelt-normal.bysl: ditto. * melt/warmelt-genobj.bysl: ditto. * melt/warmelt-outobj.bysl: ditto. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-06 Basile Starynkevitch * melt/warmelt-macro.bysl: debug_msg prints correctly the file location. * melt/warmelt-normal.bysl: more export_patmacro related stuff. 2008-10-06 Basile Starynkevitch * melt/warmelt-macro.bysl: added class_src_casematch class_src_casewhenmatch class_src_match & mexpand_match. * melt/warmelt-normal.bysl: adding normexp_match [incomplete] * doc/melt.texi: documented match. 2008-10-05 Basile Starynkevitch * melt/warmelt-normal.bysl: export_patmacro is probably badly handled. 2008-10-05 Basile Starynkevitch * basilys.h: added FSYSDAT_PATMACRO_EXPORTER * melt/warmelt-first.bysl: added sysdata_patmacro_exporter & initpatmacro_exporter * melt/warmelt-macro.bysl: make_instance macro can be called as instance. * melt/warmelt-normal.bysl: added global_CLASS_CMATCHER & more in normexp_export_patmacro [incomplete]. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-04 Basile Starynkevitch * doc/melt.texi: documented export_patmacro. * melt/warmelt-macro.bysl: added class_src_export_patmacro export_patmacro mexpand_export_patmacro install_initial_patmacro. * melt/warmelt-normal.bysl: start adding normexp_export_patmacro. * melt/warmelt-genobj.bysl: removed warning about compilobj on fixbind. added warning about patmacros to be implemented. 2008-10-04 Basile Starynkevitch * Makefile.in: added -Wno-shadow wen generating warmelt*.c * melt/warmelt-macro.bysl: warn_if_redefined uses warn_shadow [ie -Wshadow flag] * melt/warmelt-normal.bysl: added fill_normal_formalbind & normexp_defcmatcher * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-03 Basile Starynkevitch * melt/warmelt-first.bysl: added fmbind_defunmatcher field. * melt/warmelt-macro.bysl: coded mexpand_defunmatcher. 2008-10-03 Basile Starynkevitch * melt/warmelt-first.bysl: added fmatch_data field. * melt/warmelt-macro.bysl: adding mexpand_defunmatcher & filling class_src_defunmatcher ... [incomplete] 2008-10-02 Basile Starynkevitch * basilys.c: READ_ERROR macro uses error_at. (readval, readsimplelong, readsexpr, readassoc, readstring) (readhashescape, readval, basilysgc_read_file) (basilysgc_read_from_rawstring, basilysgc_read_from_val): normalized read error messages to start with MELT: * melt/warmelt-first.bysl: added class_any_matcher class_funmatcher class_funmatcher_binding & export them. * melt/warmelt-macro.bysl: adding class_src_defunmatcher ... [incomplete] * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-02 Basile Starynkevitch * melt/warmelt-macro.bysl: added class_src_cmatchexpr and handle imported cmatcher values. * doc/melt.texi: incomplete documentation of defcmatcher. 2008-10-01 Basile Starynkevitch * melt/warmelt-macro.bysl: added class_srcpattern_cmatch class_srcpattern_jokervar patternexpand_pairlist_as_tuple and defcmatcher expansion [more is missing] 2008-10-01 Basile Starynkevitch [adding cmatcher-s] * melt/warmelt-first.bysl: added class_cmatcher & class_cmatcher_binding. added foreach_in_multiple citerator, so should regenerate... * melt/warmelt-macro.bysl: adding defcmatcher ... [incomplete] * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-10-01 Basile Starynkevitch [moved the data part of fixed bindings into superclass class_fixed_binding] * melt/warmelt-first.bysl: added fixbind_data to class_fixed_binding and removed data fields in subclasses * melt/warmelt-macro.bysl: no more cbind_citerdata * melt/warmelt-normal.bysl: use fixbind_data instead of obsolete specific data fields * melt/warmelt-genobj.bysl: factorised compile_obj of fixed_bindings into one singe method * Makefile.in: added warmelt2.modlis as dependency for warmelt-first-3.c * warmelt-first-0.c: Regenerated many times. * warmelt-macro-0.c: Regenerated many times. * warmelt-normal-0.c: Regenerated many times. * warmelt-genobj-0.c: Regenerated many times. * warmelt-outobj-0.c: Regenerated many times. 2008-09-30 Basile Starynkevitch [adding matching & cmatcher etc...] * doc/melt.texi: use @dots... * basilys.h: added BGLOB_CLASS_CMATCHER * melt/warmelt-first.bysl: added class_cmatcher & class_cmatcher_binding * melt/warmelt-macro.bysl: adding mexpand_match ... 2008-09-29 Basile Starynkevitch * doc/melt.texi: start mentionning pattern macros & bindings. * melt/warmelt-first.bysl: added class_patmacro_binding * melt/warmelt-macro.bysl: add class_srcfieldpattern + class_srcpattern_any + class_srcpattern_composite + class_srcpattern_constant + class_srcpattern_instance + class_srcpattern_object + class_srcpattern_variable + patternexpand_1 2008-09-27 Basile Starynkevitch * basilys.c (forwarded_copy, scanning): BASILYS_HAS_OBJ_TAB_FIELDS is obsolete. * doc/melt.texi: added Writing C code for MELT 2008-09-25 Basile Starynkevitch * doc/melt.texi: explained better the tranlated C code. * melt/warmelt-first.bysl: added add2sbuf_ccomconst primitive. * melt/warmelt-genobj.bysl: generates often location in primitive ecpansion. * melt/warmelt-outobj.bysl: generates a valid but less precise #line with more info as comments. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-09-25 Basile Starynkevitch * doc/melt.texi: added citerator and function example with the translation. 2008-09-24 Basile Starynkevitch * doc/melt.texi: wrote most of the reference material. 2008-09-23 Basile Starynkevitch * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. * melt/warmelt-outobj.bysl: -fbasilys=translateinit same as -fbasilys=compileinit * Makefile.in: use -fbasilys=translate* instead of -fbasilys=compile* 2008-09-23 Basile Starynkevitch * doc/melt.texi: mentions -fbasilys=translatefile * melt/warmelt-outobj.bysl: implement -fbasilys=translatefile. * melt/ana-base.bysl: adding -fbasilys=findstdout * Makefile.in: use -fbasilys=translatefile * basilys.c (basilysgc_load_modulelist): fatal error when modlist not found. 2008-09-23 Basile Starynkevitch * doc/melt.texi: even more documentation. 2008-09-23 Basile Starynkevitch * doc/melt.texi: even more documentation. 2008-09-22 Basile Starynkevitch * doc/melt.texi: even more documentation. 2008-09-22 Basile Starynkevitch * doc/melt.texi: more documentation. 2008-09-18 Basile Starynkevitch * melt/warmelt-first.bysl: corrected some type mismatch != as !=i etc... * melt/warmelt-macro.bysl: localized error messages. better assert_msg position handling. * melt/warmelt-normal.bysl: emit warning on type mismatch in primitive invocations. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-09-17 Basile Starynkevitch * melt/ana-base.bysl (simpana_latessaexec) corrected call to basicblock_gimpleseq. 2008-09-17 Basile Starynkevitch * basilys.h (BGLOB_CTYPE_EDGE): new enum basilys_globalix_en value. * melt/warmelt-first.bysl (ctype_edge) new ctype. (ctype_basicblock) corrected for arg & res fields. * melt/warmelt-normal.bysl (global_CTYPE_EDGE) (global_CTYPE_BASICBLOCK): added primitives. * melt/ana-base.bysl (eachgimple_in_basicblock): added iterator. (each_in_gimpleseq, reveach_in_gimpleseq): more robust with null arg. (do_eachgimple_in_basicblock): added function. (simpana_latessaexec): using it. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-09-16 Basile Starynkevitch * basilys.h (basilys_basicblock_phinodes): new function. * basilys.c: added include of tree-flow.h tree-iterator.h tree-inline.h. * run-basilys.h: likewise. * melt/ana-base.bysl: added phinodes into latessa pass. 2008-09-16 Basile Starynkevitch [ana-base.bysl is beginning to show interesting stuff] * tree-pass.h (pass_basilys_latessa): added pass. * passes.c (init_optimization_passes): added pass_basilys_latessa. * basilys.h (basilys_basicblock_gimpleseq): added function. * basilys.c (dispatch_execute_basilys): added dbgcounter debugprint. (gate_basilys_latessa, execute_basilys_latessa): added functions. (pass_basilys_lateopt) added pass. * Makefile.in: also making ana-base-n.so * melt/ana-base.bysl: added each_bb_cfun citerator, basicblock_gimpleseq primitive, basilys_latessa_gccpass instance, do_each_bb_cfun, simpana_latessagate, simpana_latessaexec functions. 2008-09-15 Basile Starynkevitch MELT branch merged with trunk r140370 * common.opt: merged options 2008-09-12 Basile Starynkevitch * melt/ana-base.bysl: only the entrybb loop matters in the basilys-ipa pass. 2008-09-11 Basile Starynkevitch MELT branch merged with trunk r140286 2008-09-11 Basile Starynkevitch * basilys.c (readstring): added gettext when _ suffix. (readval) added support for '?' prefix. * doc/melt.texi (Reference on MELT) added Lexical MELT conventions & [to be written] Main MELT syntax. 2008-09-10 Basile Starynkevitch * basilys.h (FLEXIBLE_DIM) defined when compiled with GCC. (BASILYS_ROUTADDR_LEN) new constant. * basilys.c (basilys_dlhandle) new type. (load_checked_dylib) uses it. 2008-09-08 Basile Starynkevitch * basilys.h (basilysgc_ppstrbuf_basicblock) (BGLOB_CTYPE_BASICBLOCK, BGLOB_DISCR_BASICBLOCK) (BGLOB_DISCR_MAPBASICBLOCKS) added declaration. * basilys.c (ppgimpleflushdata_st) renamed struct (ppbasilysflushdata_st) new name. (ppgimple_flushrout) renamed function (ppbasilys_flushrout) new name. ( basilysgc_ppstrbuf_tree, basilysgc_ppstrbuf_gimple_seq) (basilysgc_ppstrbuf_gimple) rnamed the struct ppgdat. (basilysgc_ppstrbuf_basicblock) added function. (basilysgc_new_basicblock) added function. * melt/warmelt-first.bysl: added discr_basicblock discr_mapbasicblocks ctype_basicblock * melt/ana-base.bysl: added each_cgraph_fun_body each_cgraph_fun_entryblock 2008-09-07 Basile Starynkevitch * basilys.c: disable any MELT basilys pass on errors! * Makefile.in: added rules to build ana*-n.so etc.. * melt/warmelt-first.bysl: removed some debug msg. * melt/ana-base.bysl: don't know which kind of pass is it. 2008-09-07 Basile Starynkevitch * doc/melt.texi: updated documentation; removal of -fbasilys-command, and required mode for -fbasilys. * basilys.c (do_initial_command): care about the result of command function application. replaced flag_basilys by basilys_mode_string. (load_basilys_modules_and_do_command, basilys_initialize) (dispatch_gate_basilys, dispatch_execute_basilys): replaced flag_basilys & basilys_command_string by basilys_mode_string. ( ppgimple_flushrout) (basilysgc_ppstrbuf_gimple,basilysgc_ppstrbuf_gimple): syntactically better casts or inits. * toplev.c (toplev_main): replaced flag_basilys by basilys_mode_string. * common.opt: ditto, and removed -fbasilys-command. * melt/ana-base.bysl: command is returning non-nil to permit compilation. * melt/warmelt-first.bysl: all commands returning nil. * melt/warmelt-outobj.bysl: ditto. added help command. * melt/ana-base.bysl: adding simpana command. * Makefile.in: all MELT compilation done with -fbasilys=comp... & removed -fbasilys-command. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-09-06 Basile Starynkevitch * basilys.h (basilysgc_ppstrbuf_tree): added declaration. * basilys.c (basilysgc_ppstrbuf_tree): added function. * melt/ana-base.bysl: added debug output for boxed gimple gimpleseq trees. 2008-09-06 Basile Starynkevitch * diagnostic.h (dump_gimple_seq): new exported function. * gimple-pretty-print.c (dump_gimple_seq): previously static function made public. * pretty-print.h (pp_construct_routdata, pp_destruct): declared new functions. * pretty-print.c (pp_construct_routdata, pp_destruct): added new functions. * basilys.h (basilysgc_ppstrbuf_gimple) (basilysgc_ppstrbuf_gimple_seq): declared new functions. * basilys.c (basilysgc_ppstrbuf_gimple) (basilysgc_ppstrbuf_gimple_seq): added new functions (ppgimpleflushdata_st) new structure. (ppgimple_flushrout) new static routine. 2008-09-06 Basile Starynkevitch * compiler-probe (comprobe_get_gimple_position) (added_infopoint_display_gimple): added (int) casts. 2008-09-06 Basile Starynkevitch adding prettyprinting thru a routine * pretty-print.h (output_buffer): renamed stream field as bufstream. added buflushroutine & buflushdata fields. * pretty-print.c (pp_write_text_to_stream, pp_base_flush): handle both bufstream & buflushroutine. (pp_construct): sets bufstream. * diagnostic.c (diagnostic_initialize): likewise. * tree-pretty-print.c (maybe_init_pretty_print): likewise. * gimple-pretty-print.c (maybe_init_pretty_print, dump_bb_header) (dump_bb_header, dump_bb_end, gimple_dump_bb_buff): uses or sets bufstream, testing when bufstream is non-null. * c-pretty-print.c (print_c_tree): sets bufstream. 2008-09-03 Basile Starynkevitch compiler probe better. * compiler-probe.c (added_infopoint_display_gimple): more debugging & call gimple_starting_displayer. (add_infopoint_bodyseq) more debugging & changed displyed title. 2008-09-03 Basile Starynkevitch compiler probe still buggy! * compiler-probe.c (display_tree, display_gimple) (gimple_starting_displayer, tree_starting_displayer) (tree_ending_displayer, add_infopoint_basic_block): more debug print.. (bb_starting_displayer): don't display phi_nodes. (added_infopoint_display_gimple): Added function. (add_infopoint_funbody) removed entirely - was disabled. (add_infopoint_bodyseq): Added function. (execute_comprobe): do something with function bodies. 2008-09-02 Basile Starynkevitch MELT branch merged with trunk r139912 after graphite merge into trunk graphite uses PPL & CLOOG... 2008-09-02 Basile Starynkevitch compiler probe still buggy! * cfg.c (check_bb_profile): Added return if cfun is null. * gimple-pretty-print.c (gimple_dump_bb_buff): Don't dump phi nodes when none. * compiler_probe.c (bb_starting_displayer): More robust, and more debugprintf... (pass_compiler_probe) requirements are only PROP_cfg. * passes.c (init_optimization_passes): moved pass_compiler_probe. 2008-09-02 Basile Starynkevitch * basilys.c (basilys_inform_str): added loc argument to inform. 2008-09-01 Basile Starynkevitch MERGED WITH TRUNK rev139820 * melt/warmelt-first.bysl: added location argument to inform. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-08-06 Basile Starynkevitch * compiler-probe.c (display_gimple_seq): Use gimple_starting_displayer. (gimple_starting_displayer) Added function. (comprobe_get_tree_position) Added [reimplmented] function. (comprobe_file_rank_of_tree) Added function. 2008-08-06 Basile Starynkevitch * melt/warmelt-first.bysl: export discr_gimpleseq * melt/ana-base.bysl: added each_in_gimpleseq & reveach_in_gimpleseq citerators & do_each_gimpleseq & do_reveach_gimpleseq functions. 2008-08-05 Basile Starynkevitch * basilys.h (BASILYS_DEFINE_MAPTR): better macro. (OBMAG_GIMPLESEQ, OBMAG_MAPGIMPLESEQS, BGLOB_DISCR_GIMPLESEQ) (BGLOB_DISCR_MAPGIMPLESEQS) new enum value. (basilysgc_new_mapgimpleseqs, basilys_get_mapgimpleseqs) (basilys_put_mapgimpleseqs, basilys_remove_mapgimpleseqs) (basilys_count_mapgimpleseqs, basilys_size_mapgimpleseqs) (basilys_nthattr_mapgimpleseqs, basilys_nthval_mapgimpleseqs) (basilys_gimpleseq_content, basilysgc_new_gimpleseq) new functions. * basilys.c (check_pointer_at, forwarded_copy, scanning) handle GIMPLESEQ & MAPGIMPLESEQS cases. (basilysgc_new_gimpleseq) new function. * melt/warmelt-first.bysl: added ctype_gimpleseq, discr_mapgimpleseqs * melt/warmelt-normal.bysl: added several predefs, CTYPE_GIMPLE, CTYPE_GIMPLESEQ, DISCR_MAPGIMPLES, _DISCR_MAPGIMPLESEQS, DISCR_GIMPLE, DISCR_GIMPLESEQ, DISCR_MAPTREES * melt/ana-base.bysl: better each_cgraph_fun iterator & do_each_cfun. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-08-05 Basile Starynkevitch * Makefile.in: ana-base.c is secondary. * melt/warmelt-first.bysl: ugly hack to always have a filename in assert_failed. * melt/warmelt-normal.bysl: normexp_symbol ok on citerators. normalize_tuple returns if null tup. * melt/ana-base.bysl: do_each_cfun seems ok. make_tree & make_gimple corrected. 2008-08-05 Basile Starynkevitch * basilys.h (BASILYS_DEFINE_MAPTR): New huge macro. (basilysgc_new_maptrees, basilys_get_maptrees) (basilys_put_maptrees, basilys_remove_maptrees) (basilys_count_maptrees, basilys_size_maptrees) (basilys_nthattr_maptrees, basilys_nthval_maptrees) (basilysgc_new_mapgimples, basilys_get_mapgimples) (basilys_put_mapgimples, basilys_remove_mapgimples) (basilys_count_mapgimples, basilys_size_mapgimples) (basilys_nthattr_mapgimples, basilys_nthval_mapgimples) (basilysgc_new_mapedges, basilys_get_mapedges) (basilys_put_mapedges, basilys_remove_mapedges) (basilys_count_mapedges, basilys_size_mapedges) (basilys_nthattr_mapedges, basilys_nthval_mapedges) (basilysgc_new_mapbasicblocks, basilys_get_mapbasicblocks) (basilys_put_mapbasicblocks, basilys_remove_mapbasicblocks) (basilys_count_mapbasicblocks, basilys_size_mapbasicblocks) (basilys_nthattr_mapbasicblocks) (basilys_nthval_mapbasicblocks): [Re-]defined using BASILYS_DEFINE_MAPTR. * melt/ana-base.bysl: compiles ok. * melt/warmelt-first.bysl: export class_gcc_pass. * Makefile.in: compiles ana-base.bysl. 2008-08-05 Basile Starynkevitch * basilys.h (basilysgc_new_tree, basilys_tree_content) (basilysgc_new_gimple, basilys_gimple_content) (basilysgc_read_from_rawstring, basilys_handle_melt_attribute): New function declarations. (FSYSDAT_MELTATTR_DEFINER) New enum value. * basilys.c (basilysgc_new_tree, basilys_tree_content) (basilysgc_new_gimple, basilys_gimple_content) (basilysgc_read_from_rawstring, basilys_handle_melt_attribute): New functions. (basilysgc_read_from_val) don't overwrite locnam. * melt/warmelt-first.bysl: new field sysdata_meltattr_definer. * c-common.c (handle_melt_attribute): implemented function. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-08-04 Basile Starynkevitch * basilys.h (basilysgc_read_from_val): New declaration of function. * basilys.c (basilysgc_read_from_val): New function. 2008-08-04 Basile Starynkevitch MELT branch merged with trunk r138620 2008-08-04 Basile Starynkevitch * melt/ana-base.bysl: put_gdbmstate is void. 2008-08-01 Basile Starynkevitch MELT branch merged with trunk r138450 2008-07-31 Basile Starynkevitch * compiler-probe.h: using GCC_TREE_H guard instead of TREE_CODE to avoid declaring tree specific stuff. * compiler-probe.c: (display_gimple_seq) new function. (display_gimple) implemented function. 2008-07-31 Basile Starynkevitch the yesterday's version failed to compile any simple C file. Fixed! MELT branch merged with trunk r138355 * passes.c: better order for basilys related passes. 2008-07-30 Basile Starynkevitch MELT branch merged with trunk r138310 * Makefile.in: removed debugging echo in run-basilys-deps. 2008-07-30 Basile Starynkevitch * Makefile.in: using realpath for run-basilys-deps ie to fill the melt_build_include_dir * run-basilys.h: include "gimple.h" * basilys.h: added OBMAG_GIMPLE, OBMAG_MAPGIMPLES, BPAR_GIMPLE, BPARSTR_GIMPLE; added BGLOB_CTYPE_GIMPLE, BGLOB_DISCR_TREE, BGLOB_DISCR_GIMPLE, BGLOB_DISCR_EDGE, BGLOB_DISCR_MAPTREES, BGLOB_DISCR_MAPGIMPLES, BGLOB_DISCR_MAPEDGES. (basilysgc_new_mapgimples, basilysgc_put_mapgimples) (basilys_get_mapgimples, basilysgc_remove_mapgimples) new functions. * basilys.c: include "gimple.h" (check_pointer_at, forwarded_copy, basilys_debug_out) handle OBMAG_GIMPLE & OBMAG_MAPGIMPLES. (dump_cgraph_basilys) removed function. * melt/warmelt-first.bysl: added ctype_gimple, discr_edge, discr_gimple, discr_tree, discr_mapedges, discr_mapgimples, discr_maptrees. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-29 Basile Starynkevitch [merging with trunk after the tuple merge] MERGED WITH TRUNK rev138226 * compiler-probe.h: more gimple, less tree * compiler-probe.c: incomplete merge. 2008-07-28 Basile Starynkevitch [added successfully location_t in MELT parsing & error reports] * basilys.h: basilys_dynobjstruct_fieldoffset_at & basilys_dynobjstruct_classlength_at are always declared. * basilys.c: (basilys_error_str, basilys_warning_str) (basilys_inform_str) added casts. (basilysgc_read_file) calling linemap_add on the complete MELT source path. 2008-07-27 Basile Starynkevitch [adding location_t in MELT parsing & error reports] * basilys.h: declare basilys_error_str, basilys_warning_str, basilys_inform_str. OBMAG_MIXLOC & BGLOB_DISCR_MIXEDLOC is new. * basilys.c: (check_pointer_at, forwarded_copy) handing OBMAG_MIXLOC. (basilysgc_new_mixloc) new function. (struct reading_st) new field rsrcloc. (skipspace_getc) handle rsrcloc. (makesexpr) new argument loc. handling it. (readsexpr) handle location_t [temporarily disabled] (basilys_error_str, basilys_warning_str, basilys_inform_str) new functions. * melt/warmelt-first.bysl: adding discr_mixedloc & mixloc_* primitives. diagnostic primitives call the new basilys_error_str, basilys_warning_str, basilys_inform_str. * melt/warmelt-normal.bysl: added DISCR_MIXEDLOC predef. * melt/warmelt-outobj.bysl: handled better nil arguments, and handle both old fashioned & new fashioned locations. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-24 Basile Starynkevitch [adding a field inside the compiler works, thanks to dynamic objstruct; citerators seems to be compiled ok] * melt/warmelt-normal.bysl: normexp_citeration has better newenv. * melt/warmelt-genobj.bysl: compilobj_nrep_citeration seems to work. * melt/warmelt-outobj.bysl: added outpucod_objciterblock. 2008-07-24 Basile Starynkevitch * basilys.h: added basilys_dlsym_all because ltdl.h has no RTLD_GLOBAL equivalent. * basilys.c: (basilys_dlsym_all) new function. (load_checked_dylib) fill the vector of dlhandle-s. (basilys_dynobjstruct_fieldoffset_at, basilys_dynobjstruct_classlength_at) use basilys_dlsym_all. * Makefile.in: added support for warm-*-d.so 2008-07-24 Basile Starynkevitch [adding dynamic fields offsets & class length] * basilys.c: (basilys_dynobjstruct_fieldoffset_at, basilys_dynobjstruct_classlength_at): new functions. (basilys_initialize) call lt_dlopen(NULL). * basilys.h: added basilys_raw_object_create & basilys_object_get_field macros. adding MELTGCC_DYNAMIC_OBJSTRUCT specific code. * melt/warmelt-outobj.bysl: outputting calls to macros above. * melt/warmelt-genobj.bysl: changed comment for oslot_field. * melt-cc-script.proto: added -d option for MELTGCC_DYNAMIC_OBJSTRUCT. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-23 Basile Starynkevitch [preparing ability to compute dynamically & generate field offsets & class length for warm*0.so to permit extension of internal classes in the compiler; regenerated warmelt*0.c with constant for fields offsets & class lengths] * basilys.h: (basilys_make_raw_object) new function. * melt/warmelt-first.bysl: add mocx_expfieldict & mocx_expclassdict in class_modulcontext * melt/warmelt-macro.bysl: better check of formals in lambda. * melt/warmelt-normal.bysl: exported classes & fields are added into modulcontext * melt/warmelt-genobj.bysl: added obrallobj_classname field. * melt/warmelt-outobj.bysl: added output_exported_offsets * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-22 Basile Starynkevitch [the stage1 melt is built using previous modules of itself] * Makefile.in: warmelt-macro-1 built using warmelt-first-1.so [not -0.so] warmelt-normal-1 build using warmelt-first-1.so & warmelt-macro-1.so ... * melt/warmelt-genobj.bysl: will add obrout_cntciter field at end of class_routineobj 2008-07-22 Basile Starynkevitch MERGED WITH TRUNK rev138050 * compiler-probe.c: more C++ friendly. * passes.c: merged with trunk. 2008-07-22 Basile Starynkevitch * melt/warmelt-normal.bysl: added nciter_statocc field. * melt/warmelt-genobj.bysl: adding compilation of citerations. * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. 008-07-21 Basile Starynkevitch * melt/warmelt-normal.bysl: added normexp_citeration. * melt/warmelt-genobj.bysl: adding compilation of citerations. 2008-07-18 Basile Starynkevitch * melt/warmelt-normal.bysl: added normexp_citeration - not tested yet. * melt/warmelt-genobj.bysl: should compile normexp_citeration. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-17 Basile Starynkevitch * melt/warmelt-normal.bysl: still adding normexp_citeration. 2008-07-17 Basile Starynkevitch MELT branch merged with trunk r137918 2008-07-17 Basile Starynkevitch * melt/warmelt-normal.bysl: still adding normexp_citeration. 2008-07-15 Basile Starynkevitch * melt/warmelt-normal.bysl: adding normexp_citeration. 2008-07-15 Basile Starynkevitch * melt/warmelt-first.bysl: added multiple_every_both. * melt/warmelt-normal.bysl: adding normexp_citeration. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-15 Basile Starynkevitch MELT branch merged with trunk r137813 2008-07-09 Basile Starynkevitch * melt/warmelt-macro.bysl: C expansion not macroexpanded inside defprimitive or defciterator. Added common parse_pairlist_c_code_expansion for defprimitive & defciterator expansions. * melt/warmelt-normal.bysl: added defciterator normalization & common utilities fill_normal_expansion & fill_normal_formals for defprimitive & defciterator. 2008-07-08 Basile Starynkevitch MELT branch merged with trunk r137620 2008-07-08 Basile Starynkevitch * melt/warmelt-macro.bysl: added mexpand_defciterator expand_citeration and extended macroexpand_1 2008-07-07 Basile Starynkevitch [adding CITERATORs] * basilys.h: added BGLOB_CLASS_CITERATOR * melt/warmelt-first.bysl: added class_citerator & class_citerator_binding * melt/warmelt-macro.bysl: adding defciterator & better error messsages for defprimitive * melt/warmelt-normal.bysl: added CLASS_CITERATOR predef name * melt/ana-base.bysl: adding basilys_earlyopt_gccpass & basilys_lateopt_gccpass * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-03 Basile Starynkevitch * basilys.h: added FSYSDAT_EXIT_FINALIZER * basilys.c: (do_finalize_basilys) new function. (basilys_finalize) call it. * melt/warmelt_first.bysl: added class_finalization, system_finalization, at_exit_first, at_exit_last, init_exitfinalizer * melt/warmelt-outobj.bysl: removed the BASILYS_HAS_OBJ_TAB_FIELDS thing. * melt/ana-matcher.bysl: new empty file. * melt/ana-base.bysl: added install_gcc_pass & the passes. 2008-07-03 Basile Starynkevitch * common.opt: added -fbasilys-gdbmstate * doc/melt.texi: document -fbasilys-gdbmstate. * basilys.h: declare basilys_has_gdbmstate, basilysgc_fetch_gdbmstate_constr, basilysgc_fetch_gdbmstate, basilysgc_put_gdbmstate_constr, basilysgc_put_gdbmstate * basilys.c: (basilys_has_gdbmstate, basilysgc_fetch_gdbmstate_constr) (basilysgc_fetch_gdbmstate, basilysgc_put_gdbmstate_constr) (basilysgc_put_gdbmstate) new functions. * melt/ana-base.bysl: new file. 2008-07-03 Basile Starynkevitch * Makefile.in: -fbasilys-tempdir are seperate sudirectories * basilys.c: (basilys_tempdir_path) sets the made_tempdir_basilys flag. (basilys_finalize) rmdir when made_tempdir_basilys. * doc/melt.texi: more about -fbasilys-tempdir. * warmelt-first-0.c: Regenerated. * warmelt-macro-0.c: Regenerated. * warmelt-normal-0.c: Regenerated. * warmelt-genobj-0.c: Regenerated. * warmelt-outobj-0.c: Regenerated. 2008-07-02 Basile Starynkevitch MELT branch merged with trunk r137357 * c-common.c: correctly added handle_melt_attribute - still empty. 2008-07-02 Basile Starynkevitch * basilys.h: added basilysgc_load_modulelist * basilys.c: (basilysgc_load_modulelist) new function. (do_initial_command) uses it. (basilys_finalize) clear the temporary directory. (dispatch_gate_basilys) added cast. * doc/melt.texi: document the -fbasilys-init=@ trick to load a module list. * Makefile.in: use module lists. warmelt*.modlis are removed on clean. * configure.ac: corrected GDBM stuff. * configure: Regenerated. * c-common.c: (handle_melt_attribute) new empty function. 2008-07-01 Basile Starynkevitch * basilys.c: added pass_basilys_ipa, pass_basilys_lowering, pass_basilys_earlyopt, pass_basilys_lateopt. (basilysgc_set_routine_data, dispatch_gate_basilys) (dispatch_execute_basilys) (gate_basilys_lowering, execute_basilys_lowering) (gate_basilys_earlyopt, execute_basilys_earlyopt) (gate_basilys_lateopt, execute_basilys_lateopt, gate_basilys_ipa) (execute_basilys_ipa): new functions. * basilys.h: added FGCCPASS_* enum for fields in CLASS_GCC_PASS. (basilys_routine_data) new function. added routdata inside routines. routaddr made a little bigger for future use. * tree-passes.h: added pass_basilys_lowering, pass_basilys_earlyopt, pass_basilys_ipa, pass_basilys_lateopt. removed pass_basilys. * passes.c: likewise. * melt/warmelt-first.bysl: added class_gcc_pass & sysdata_pass_dict. 2008-07-01 Basile Starynkevitch MELT branch merged with trunk r137318 2008-07-01 Basile Starynkevitch [added GDBM support in configure & configure.ac, BASILYS_HAS_OBJ_TAB_FIELDS is now prohibited] * basilys.h: prohibit BASILYS_HAS_OBJ_TAB_FIELDS because of gengtype. * basilys.c: idem. * configure.ac: added GDBM support. * configure: Regenerated. * Makefile.in: added GDBM. 2008-07-01 Basile Starynkevitch [MELT objects are by default fixed length unless BASILYS_HAS_OBJ_TAB_FIELDS is set in basilys.h] * basilys.h: added BASILYS_HAS_OBJ_TAB_FIELDS to support fixed length objects to gain one word & indirection in each MELT object. * basilys.c: (forwarded_copy,scanning,basilysgc_new_raw_object) using BASILYS_HAS_OBJ_TAB_FIELDS for fixed length objects. * warmelt-first-0.c: Regenerated twice. * warmelt-macro-0.c: Regenerated twice. * warmelt-normal-0.c: Regenerated twice. * warmelt-genobj-0.c: Regenerated twice. * warmelt-outobj-0.c: Regenerated twice. * melt/warmelt-outobj.bysl: added support of BASILYS_HAS_OBJ_TAB_FIELDS. 2008-07-01 Basile Starynkevitch [removed warm-basilys, which is replaced by warmelt-*] * warm-basilys-0.c: removed this generated file. * warmelt-first-0.c: new file generated with upgrade-warmelt target. * warmelt-macro-0.c: new file generated with upgrade-warmelt target. * warmelt-normal-0.c: new file generated with upgrade-warmelt target. * warmelt-genobj-0.c: new file generated with upgrade-warmelt target. * warmelt-outobj-0.c: new file generated with upgrade-warmelt target. * Makefile.in: removed mention of warm-basilys* files. Working upgrade-warmelt target. * melt/warmelt-first.bysl: removed mention of warm-basilys* files * melt/warmelt-macro.bysl: removed mention of warm-basilys* files * melt/warmelt-normal.bysl: removed mention of warm-basilys* files * melt/warmelt-genobj.bysl: removed mention of warm-basilys* files * melt/warmelt-outobj.bysl: removed mention of warm-basilys* files * melt/README-MELT: updated. 2008-07-01 Basile Starynkevitch * doc/melt.texi: describes MELT -fbasilys* flags. * doc/invoke.texi: mentions briefly -fbasilys* flags. 2008-07-01 Basile Starynkevitch [MELT doc builds correctly but is empty.] * Makefile.in: added melt.texi to TEXI_GCCINT_FILES * doc/melt.texi: formatted ok but nearly empty. 2008-07-01 Basile Starynkevitch MELT branch merged with trunk r137307 2008-06-30 Basile Starynkevitch [apparently warmelt-*-3.c generated ok!] * basilys.c: added basilys_countserial. (basilys_object_set_serial) updated to use it. * melt/warmelt-first.bysl: added debug_msg in find_env_debug. * melt/warmelt-outobj.bysl: outcinitfill_objinitobject only sets the locvar if it was nil, hence if it was an already gotten symbol it is not overwritten. outpucod_objgetnamedsymbol only sets the locvar if it was nil. * Makefile.in; also generates the warmelt-*-1-n.so 2008-06-30 Basile Starynkevitch [still buggy - duplicate homonymous symbols!] * basilys.h: added obj_serial when ENABLE_CHECKING & basilys_obj_serial routine. * basilys.c: added basilys_object_set_serial. Added & commented code to detect in mapobjects entries with the same hash & key class as the attribute. * Makefile.in: the frandom-seed is made from the md5 of *bysl sources. * melt/warmelt-first.bysl: added class_described_environment obj_serial. Less verbose dbgoutput for mapobjects. dbgout print the serial if nonzero. debug_msg prints !!!!****#### . initfresh_contenvmaker takes the unboxed module string as 2nd argument. * melt/warmelt-macro.bysl: mexpand_assert_msg check that assert_failed is appropriately bound with more debug messages. * melt/warmelt-normal.bysl: the sysdata_cont_fresh_env in the initial_system_data is called with the name of the module as second argment. * melt/warmelt-outobj.bysl: output call to basilys_object_set_serial 2008-06-29 Basile Starynkevitch [still buggy - the initial routine has a prolog before allocation of cdata and a body after the allocation & filling of cdata] * basilys.h: added basilys_checkmsg & declared basilys_check_failed * basilys.c: (basilys_check_failed) new function. * Makefile.in: using .SECONDARY for the generated warm*.c files. * melt/warmelt-first.bysl: less verbose export & import functions. * melt/warmelt-genobj.bysl: added class_objcommentinstr & oirout_prolog in class_initialroutineobj and generate the prolog in compile2obj_initproc * melt/warmelt-outobj.bysl: outputting better the class_objcommentinstr & class_initialroutineobj 2008-06-27 Basile Starynkevitch [still buggy; I believe the constants in routines or closed values in closures are messed up when something is redefined] * Makefile.in: removing -frandom-seed in our cc1 melt invocations. * melt/warmelt-first.bysl: added closure_every routine_every * melt/warmelt-macro.bysl: added debugging messages to find out why install_initial_macro gets corrupted. * melt/warmelt-normal.bysl: likewise. * melt/warmelt-genobj.bysl: likewise. Added objputroutconstnotnull & objputclosednotnullv which also check that teh constant or closed value is not null. This check cannot be done everytime, notably because of first occurrence of update_current_module_environment_container in warmelt-first.bysl * melt/warmelt-outobj.bysl: likewise. 2008-06-26 Basile Starynkevitch * Makefile.in: using MELTBASILYSCCFILE1 not MELTBASILYSCCINIT1 for most warmelt*.c stuff except the warmelt-first.bysl 2008-06-25 Basile Starynkevitch [continue splitting stuff into several modules] * Makefile.in: added rules for warmelt-*-3 stuff & upgrade-warmelt * melt/warmelt-first.bysl: more exports. initvalue_exporter check if overriding. initvalue_importer less verbose. !!! some classes should never be redefined so a redefinition_handling is needed !!! * melt/warmelt-macro.bysl: preparing for redefinition_handling macro - to be implemented. * melt/warmelt-normal.bysl: missing exports. * melt/warmelt-genobj.bysl: compile2obj_initproc & compile2obj_procedure defined & exported here. compile_list_sexpr moved below. * melt/warmelt-outobj.bysl: added the moved compile_list_sexpr * warm-basilys-0.c: Regenerated from above warmelt*.bysl 2008-06-25 Basile Starynkevitch [splitting warm-basilys.bysl into several files] * warm-basilys-0.c: Regenerated. * Makefile.in: added rules for monolithical build of warm-basilys-*.c from catenation of warmelt*.bysl * melt/warm-basilys.bysl: deleted file, because split into following * melt/warmelt-first.bysl: new file. * melt/warmelt-macro.bysl: new file. * melt/warmelt-normal.bysl: new file. * melt/warmelt-genobj.bysl: new file. * melt/warmelt-outobj.bysl: new file. 2008-06-25 Basile Starynkevitch MELT branch merged with trunk r137105 2008-06-25 Basile Starynkevitch * common.opt: added -fbasilys-arglist= & basilys_arglist_string * basilys.c: (do_initial_command) handle basilys_arglist_string. * melt/warm-basilys.bysl: added errormsg_plain & errormsg_strv. compileinit_command & compilefile_command handle arglist. * warm-basilys-0.c: Regenerated. 2008-06-25 Basile Starynkevitch [still buggy for warmelt-genobj.so] * basilys.c: more casts for C++ compatibility. (basilys_assert_failed) more robust when msg or filnam or fun is incorrectly NULL. * Makefile.in: removed warmelt-macro.bysl -merged into warmelt-first.bysl * melt/warm-basilys.bysl: reordered somehow. Added missing exports. 2008-06-24 Basile Starynkevitch * melt/warm-basilys.bysl: import of values coded but buggy. crashes for warmelt-macro. 2008-06-23 Basile Starynkevitch [start adding import of values] * melt/warm-basilys.bysl: strangely needed to add a normal_exp method to discr_string. begin adding stuff for import of values: class_nrep_startval & :nctx_valuelist & inivalue argument to compile2obj_initproc. exporting inform_plain & inform_strv 2008-06-23 Basile Starynkevitch [avoid warning about C++ incompatibility] * basilys.h: added casts. * basilys.c: (FORWARDED, forwarded_copy, scanning) (basilysgc_new_int, basilysgc_new_mixint, basilysgc_new_routine) (basilysgc_new_closure, basilysgc_new_strbuf, ...) added many casts. * melt/warm-basilys.bysl: added many casts. * warm-basilys-0.c: Regenerated. 2008-06-23 Basile Starynkevitch MELT branch merged with trunk r137030 * melt/warm-basilys.bysl: some primitives got explicit casts. * basilys.h: added casts to avoid implicit conversion from void* disallowed with C++ * basilys.c: (delete_special, forwarded, scanning) likewise. 2008-06-22 Basile Starynkevitch * Makefile.in: splitting warm-basilys.bysl gives comment with line in resulting warmelt*.bysl * melt/warm-basilys.bysl: expand_msend takes an opnam argument. class_src_msend has msend_selsymb instead of msend_selbind. warning & error messages report location in @file:line: format. macroexpand_1 deals with selector values. * warm-basilys-0.c: Regenerated. 2008-06-21 Basile Starynkevitch * Makefile.in: added warmelt-normal.c & warmelt-genobj.c targets. splitting warm-basilys.bysl using simpler stuff. * melt/warm-basilys.bysl: defprimitive does fill the type in the data. reorganized order of definitions to facilitate splitting. 2008-06-20 Basile Starynkevitch * melt/warm-basilys.bysl: update of module environment box should change the local in the toplevel containing it! export apparently works!! 2008-06-20 Basile Starynkevitch * melt/warm-basilys.bysl: added comments fields in various module_environment stuff to help debugging. * doc/melt.texi: more stuff [unchecked]. 2008-06-18 Basile Starynkevitch * melt/warm-basilys.bysl: renamed current_module_environment_box as current_module_environment_container * warm-basilys-0.c: Regenerated several times. 2008-06-18 Basile Starynkevitch * melt/warm-basilys.bysl: adding more into compilobj_nrep_update_current_module_environment_box which seems to work somehow... 2008-06-18 Basile Starynkevitch * doc/gccint.texi: added MELT. * doc/melt.texi: new file nearly empty. * melt/warm-basilys.bysl: initvalue_exporter dont show the contenv anymore. still buggy for compilobj_nrep_update_current_module_environment_box 2008-06-18 Basile Starynkevitch * melt/warm-basilys.bysl: almost done compilobj_nrep_update_current_module_environment_box 2008-06-17 Basile Starynkevitch * melt/warm-basilys.bysl: adding compilobj_nrep_update_current_module_environment_box 2008-06-15 Basile Starynkevitch * melt/warm-basilys.bysl: adding nctx_procurmodenvlist & igncx_procurmodenvlist fields. added an explicit call to update_current_module_environment_box which should probably be called update_current_module_environment_container. Its compilation method is not complete. * warm-basilys-0.c: Regenerated several times. 2008-06-15 Basile Starynkevitch [start adding update_current_module_environment_box] * basilys.h: added BGLOB_CLASS_CONTAINER & FCONTAINER_VALUE and declare basilys_container_value. * basilys.c: (basilys_container_value) new function. * melt/warm-basilys.bysl: class_container is predefined. field sysdata_box_fresh_env renamed as sysdata_cont_fresh_env. field igncx_boxenvloc renmed as igncx_contenvloc. initfresh_boxenvmaker renamed as initfresh_contenvmaker so updated initial_system_data. initvalue_exporter & initmacro_exporter take a contenv as argument. Added some stuff for update_current_module_environment_box, which is not implemented. * warm-basilys-0.c: Regenerated. 2008-06-15 Basile Starynkevitch * basilys.h: renamed FSYSDAT_FRESH_ENV as FSYSDAT_BOX_FRESH_ENV * melt/warm-basilys.bysl: sysdata_box_fresh_env instead of sysdata_fresh_env nctx_qdatcurmodenvbox instead of nctx_qdatcurmodenv igncx_boxenvloc added warningmsg_plain & warningmsg_strv; initfresh_boxenvmaker inside initial_system_data. removed unsafe_replace_module_environment -- just put the content of the current_module_environment_box. normal_exported_value & normal_exported_macro are simpler. post_initialization works badly so issue a warning. * warm-basilys-0.c: Regenerated twide. * Makefile.in: warm-basilys-0.c made from warm-basilys-3 not 2 [current_module_environment should become current_module_environment_box; this will make everything easier] * basilys.c: (basilys_dbgshortbacktrace) shows the basilys_dbgcounter * melt/warm-basilys.bysl: pair_make renamed as make_pair. added make_mixint. all warnings & inform messages display basilys_dbgcounter; added list4 list5 list6. Added a post_initialization function which is called magically with compileinit commmand. * Makefile.in: warmelt-first compiled with compfile! 2008-06-15 Basile Starynkevitch * melt/warm-basilys.bysl: added warning for redefinitions (warn_if_redefined) 2008-06-15 Basile Starynkevitch [unsafe_replace_module_environment construct returns the new module environment] * basilys.c: (basilys_output_cfile_decl_impl) emit in a comment at start the date of generation. * melt/warm-basilys.bysl: removed classes class_nrep_export* (normal_exported_value) construct a sourcexpr to compute the freshenv if it was nil & normalize it. (normexp_unsafe_replace_module_environment) less buggy. (compilobj_unsafe_replace_module_environment) less buggy. * Makefile.in: added diff-warm-3-4 target. 2008-06-14 Basile Starynkevitch * basilys.h: added BGLOB_CLASS_CTYPE & BGLOB_CLASS_ENVIRONMENT * melt/warm-basilys.bysl: moved exports. install_ctype becomes install_ctype_descr. class_ctype & class_environment are predefined. call to initfresh_envmaker generated too late! 2008-06-14 Basile Starynkevitch * basilys.h: added BGLOB___SPARE1 to 4 for future safety... added BASILYSGIX macro to be used in predefinited below. * melt/warm-basilys.bysl: use a predefinited array of bytes to avoid filling already existing predefined. 2008-06-13 Basile Starynkevitch * melt/warm-basilys.bysl: all the normexp_export* should return a nrep_nil! output of predefs carefully avoid to overwrite an existing predef. All the export_* should be moved after the filling of initial_system_data. * basilys.c: (readstring) forgot to handle \\ escape! (basilysgc_compile_dyn) sets dynamically the flocs before calling the module. * Makefile.in: warmelt-macro.c uses warm-basilys-3.so for generation. 2008-06-13 Basile Starynkevitch MELT branch merged with trunk r136757 2008-06-13 Basile Starynkevitch {moved TOKENIZER stuff into INITIAL_SYSTEM_DATA] * common.opt: variable count_basilys_debugskip_string instead of count_basilys_debugskip * basilys.h: removed BGLOB_CLASS_TOKENIZER, BGLOB_TOKENIZER, the FTOK_* enum. enhanced FSYSDAT. Added basilys_debugskipcount. * basilys.c: declared basilys_debugskipcount. (basilysgc_named_symbol, basilysgc_intern_symbol) (basilysgc_named_keyword, basilysgc_intern_keyword): use the INITIAL_SYSTEM_DATA instead of TOKENIZER. (basilys_initialize) set basilys_debugskipcount using count_basilys_debugskip_string. * melt/warm-basilys.bysl: removed all tokenizer stuff, using system_data instead. fetch_predefined works on small example. * warm-basilys-0.c: Regenerated several times. 2008-06-13 Basile Starynkevitch * melt/warm-basilys.bysl: added fetch_predefined & store_predefined. exported nrep classes. 2008-06-13 Basile Starynkevitch * Makefile.in: added compileinit command to generate warm-basilys-*.c * basilys.c: (load_basilys_modules_and_do_command) removed gcc_assert dumpfile. * melt/warm-basilys.bysl: added compileinit command and unsafe_replace_module_environment feature. reordered the file. * warm-basilys-0.c: Regenerated several times. 2008-06-12 Basile Starynkevitch [beginning to split warm-basilys.bysl into several files using export...; not yet working!] * basilys.h: added BASILYS_LOCATION_HERE macro. * basilys.c: (basilysgc_compile_dyn) using BASILYS_LOCATION_HERE (load_basilys_modules_and_do_command) sets dump_file to stderr earlier and uses BASILYS_LOCATION_HERE, so now debug_msg works in warm-basilys.bysl even at initialization! * melt/warm-basilys.bysl: moved some stuff. better debug_msg_fun. * Makefile.in: added awk script to split warm-basilys.bysl into several files warmelt-first.bysl warmelt-macro.bysl warmelt-normal.bysl warmelt-genobj.bysl. Added commented target warmelt-macro.so * warm-basilys-0.c: Regenerated. 2008-06-12 Basile Starynkevitch * common.opt: added fbasilys-debugskip= option. * basilys.c: (load_basilys_modules_and_do_command) on non MsDos systems like Linux & unixes, a colon ':' can be used as separator in the init string, in addition of the semi-colon ';'. * melt/warm-basilys.bysl: adding ;;<< and ;;>> comments to split into several files. Initial predefs are set only if previously null. Added export_class of main classes. need_dbg uses the count_basilys_debugskip and the basilys_dbgcounter, which is always incremented in debug_msg_fun and displayed in error_* messages. 2008-06-11 Basile Starynkevitch * melt/warm-basilys.bysl: export_macro normalisation done better. Removed ninit_expmacro field in class_nrep_initproc 2008-06-11 Basile Starynkevitch * melt/warm-basilys.bysl: export_values & export_class normalisation done better. Removed ninit_expval field in class_nrep_initproc 2008-06-11 Basile Starynkevitch * melt/warm-basilys.bysl: adding normal_exported_value & normal_value_exporter to ease normalization of values 2008-06-11 Basile Starynkevitch * melt/warm-basilys.bysl: export_value renamed as export_values. compilefile uses the current module environment if the previous was non nil or else the initial_environment * warm-basilys-0.c: Regenerated twice. 2008-06-11 Basile Starynkevitch [macro (current_module_environment) works on a tiny example] * melt/warm-basilys.bysl: added quasidata & quasiconstant for supporting current_module_environment & parent_module_environment macros. added class_nrep_quasiconstant class_nrep_quasidata class_nrep_quasiconst_current_module_environment class_nrep_quasidata_current_module_environment class_nrep_quasiconst_parent_module_environment class_nrep_quasidata_parent_module_environment class_initgenercontext. Comments about making normexp_export_value much simpler. Less emitted comments for routine initialization. added methods for compiling our new quasidata classes. 2008-06-10 Basile Starynkevitch MELT branch merged with trunk r136620 2008-06-10 Basile Starynkevitch [all exports tested on testrun1.bysl] * melt/warm-basilys.bysl: the macro export emission calls omacroexporter! corrected normexp_export_class. * melt/testrun1.bysl: updated to test all exports. * warm-basilys-0.c: Regenerated twice. 2008-06-10 Basile Starynkevitch * melt/warm-basilys.bysl: emitting export macro [untested] 2008-06-10 Basile Starynkevitch * melt/warm-basilys.bysl: coded normexp_export_macro [untested] 2008-06-10 Basile Starynkevitch * melt/warm-basilys.bysl: coded normexp_export_class [untested] 2008-06-10 Basile Starynkevitch [export machinery might work] * melt/warm-basilys.bysl: the value exporter should be called on the resulting environment. 2008-06-09 Basile Starynkevitch [export machinery probably buggy ....] * melt/warm-basilys.bysl: added class_objcommentedblock. the initvalue_exporter seems called without a freshenv! added list1 list2 list3 utilities. 2008-06-09 Basile Starynkevitch * melt/warm-basilys.bysl: removed sysdata_class_exporter field. normexp_export_value complete, but not tested. normexp_export_class to be written... added initvalue_exporter, and unimplemented initmacro_exporter. simpler initial_system_data. * warm-basilys-0.c: Regenerated twice. * basilys.h: added commented FSYSDAT_VALUEEXPORTER & FSYSDAT_MACROEXPORTER 2008-06-09 Basile Starynkevitch * melt/warm-basilys.bysl: removed output_code_getsymkw output_code_internsymkw compile2obj_initproc now explicitly build the getting & interning of symbols. 2008-06-09 Basile Starynkevitch MELT branch merged with trunk r136577 2008-06-09 Basile Starynkevitch * melt/warm-basilys.bysl: new [still unused] classes: class_objinternsymbol class_objinternkeyword class_objgetnamedsymbol class_objgetnamedkeyword with their outpucod* routines. output_code_getsymkw output_code_internsymkw are obsolete. 2008-06-07 Basile Starynkevitch * melt/warm-basilys.bysl: export_value are generated. added nexpv_symdata & nexpv_valdata into class_nrep_exportval begin introduction of current_module_environment & parent_module_environment macros. Less emitted comments for putslot & putclosurout. 2008-06-07 Basile Starynkevitch * melt/warm-basilys.bysl: added normexp_export_value. but generation of export still missing. 2008-06-06 Basile Starynkevitch MERGED WITH TRUNK rev.136492 2008-06-06 Basile Starynkevitch * melt/warm-basilys.bysl: added compile_warning macro. still unimplemented normexp_export_value. * warm-basilys-0.c: Regenerated twice [before & afeter edition] 2008-06-06 Basile Starynkevitch * basilys.c: (load_initial_basilys_modules) debug messages to show module data. * melt-cc-script.proto: added -n flag to avoid line numbering. * melt/warm-basilys.bysl: adding unimplemented export_value, export_class, export_macro. less verbose comment in code generation for out*objinit* . added make_tuple6 & make_tuple7. Better unknown fieldname detection. More fields in system data. compile2obj_initproc generate getting them. * melt/testrun1.bysl: updated system data. 2008-06-06 Basile Starynkevitch * melt-cc-script.proto: corrected argument parsing with getopts. * melt/warm-basilys.bysl: partly adding export macros. 2008-06-05 Basile Starynkevitch [preparing for adding export by having start_module_basilys returns some environment; using the INITIAL_SYSTEM_DATA to wrap all system data, including command dispatching, environment management, etc...] * basilys.h: renaming *COMMAND_DISPATCHER as *SYSTEM_DATA added fields offset for them * basilys.c: (do_initial_command) uses the SYSTEM_DATA ... * melt/warm-basilys.bysl: using SYSTEM_DATA and generating a fresh environment in the start_module_basilys * warm-basilys-0.c: Regenerated twice [after editing warm-basilys.bysl] * melt-cc-script.proto: redirecting which to /dev/null * Makefile.in: remove more carefully the #line-s when upgrading warm-basilys-0.c and regenerating warm-basilys-5 afterwards. 2008-06-05 Basile Starynkevitch * melt-cc-script.proto: improved a little bit the tempfile ... 2008-06-05 Basile Starynkevitch [should work on x86/32 bits] * basilys.h: increased BASILYS_ROUTDESCR_LEN * basilys.c: (forwarded_copy) because of FLEXIBLE_DIM mess, varysized structures copies are made memberwise. * melt-cc-script.proto: enhanced to accept some flags like -I -D -U and to use mktemp if tempfile does not exist. * Makefile.in: upgrade-warm-basilys used correctly unifdef. added rule for +warm%-n.so * warm-basilys-0.c: Regenerated using new Makefile.in. 2008-06-05 Basile Starynkevitch * melt/warm-basilys.bysl: started adding module compilation context. 2008-06-05 Basile Starynkevitch * basilys.c: preparing for several MELT modules! (load_basilys_modules_and_do_command) new function. (basilys_initialize) calls load_basilys_modules_and_do_command. (do_initial_command) gives the module data as third argument. * common.opt: updated description of -fbasilys-init * melt/warm-basilys.bysl: added unused moduldata argument to commands function. 2008-06-04 Basile Starynkevitch MELT branch merged with trunk r136369 2008-06-04 Basile Starynkevitch * melt/warm-basilys.bysl: generating a separate static initialize_module_cdata routine to make the start_module_basilys routine less huge. * warm-basilys-0.c: Regenerated by the edited warm-basilys.bysl 2008-06-04 Basile Starynkevitch * Makefile.in: added warm-basilys-5.c & diff-warm-1-2 ... targets * melt/warm-basilys.bysl: using memset to clear the current frame. splitted some output routines, to later separate the cdata fill in initial routine as another routine. 2008-06-04 Basile Starynkevitch * melt/warm-basilys.bysl: using assert_msg macro instead of assertmsg primitive. * warm-basilys-0.c: Regenerated twice (before and after edition of warm-basilys.bysl) 2008-06-04 Basile Starynkevitch * melt/warm-basilys.bysl: macroexpansion of cppid twisted. 2008-06-04 Basile Starynkevitch * melt/warm-basilys.bysl: normalize cppif only checks for non void type equality. 2008-06-04 Basile Starynkevitch * basilys.h: (basilys_is_young) takes a const pointer to const. (basilys_nthattrraw_mapstrings, basilys_nthval_mapstrings) also const. * basilys.c: (add_localptr, scanning, basilysgc_add_strbuf_raw) (basilysgc_add_strbuf_cident, mulsort_cmp) (basilysgc_put_mapstrings, basilysgc_remove_mapstrings) (basilysgc_new_string_nakedbasename, compile_to_dyl) cosmetic constness issues/typos. 2008-06-04 Basile Starynkevitch * basilys.c: (add_localptr, basilys_garbcoll, scanning, debug_out) replaced gcc_unreachable by more explicit fatal_error. 2008-06-04 Basile Starynkevitch * melt/warm-basilys.bysl: adding assert_msg macro - instead of primitive. * basilys.h: basilys_assert_failed always defined. * basilys.c: (basilys_output_cfile_decl_impl) writes more atomically the file into 'foo.c.' renamed as 'foo.c' at end. 2008-06-03 Basile Starynkevitch * melt-cc-script.proto: added MELT_EXTRACFLAGS. the untested libtool command has been corrected to use $melt_cflags 2008-06-03 Basile Starynkevitch MELT branch merged with trunk r136317 2008-06-03 Basile Starynkevitch * melt/warm-basilys.bysl: using debug_msg macro everywhere instead of debugmsg. * warm-basilys-0.c: Regenerated. * melt-cc-script.proto: do not compile anymore the *-n.so without line numbering. 2008-06-03 Basile Starynkevitch * melt/warm-basilys.bysl: added debug_msg macro, and error messages for unresolved forward references. 2008-06-03 Basile Starynkevitch * melt/warm-basilys.bysl: removed some debugmsg. * warm-basilys-0.c: Regenerated. 2008-06-03 Basile Starynkevitch * Makefile.in: added MELTBASILYSCC1 variable & warm-basilys-4.c target * melt/warm-basilys.bysl: added handling of cppif * melt/test0.bysl: added test of cppif 2008-06-02 Basile Starynkevitch * basilys.c: (mulsort_cmp) removed debugprintf...s (skipspace_getc) added comment handling argument. (readsimplelong) removed many +% magic escapes. (makesexpr, readstring) correct handling of spaces. (basilys_output_cfile_decl_impl) avoid appending .c to a unitname already ending by it. * warm-basilys-0.c: Regenerated. * melt/warm-basilys.bysl: added handling of comment. added copyright comment in generated file. added (void*) to many primitives to avoid warnings. (compile_list_sexpr) handle specially toplevel (comment)s. * Makefile.in: better upgrade-warm-basilys target. the warm-basilys-?.c (in build dir) are removed before regeneration. 2008-06-02 Basile Starynkevitch MELT bootstrapped, ie the generated warm-basilys-0.c is selfgenerated from warm-basilys.bysl & viceversa. * warm-basilys-0.c: new file, bootstrapped from melt/warm-basilys.bysl * Makefile.in: removed all the crap with cold-basilys.lisp and added warm-basilys-[0123] handling added new phony target upgrade-warm-basilys 2008-06-02 Basile Starynkevitch MELT branch merged with trunk r136272 2008-06-02 Basile Starynkevitch [bootstrapped: warm-basilys-2,3,4,5 are same, but strangely warm-basilys-1&2 differ] * melt/warm-basilys.bysl: (normexp_ifelse) does not set the type to void when only one of then or else is void! * Makefile.in: continue when diff of warmbasilys is nonempty 2008-06-02 Basile Starynkevitch [metabuggy: test0c & test0w differ] * melt/warm-basilys.bysl: added several return-s. 2008-06-01 Basile Starynkevitch [still metabuggy warmbasilys1 fails on test0] * melt/warm-basilys.bysl: added several (void) to avoid conditional type mismatch. (replace_last_by_return) more robust because of added (void) calls. 2008-05-29 Basile Starynkevitch [still metabuggy; warm-basilys-1 fails on test0] * melt/warm-basilys.bysl: added more explicit return & some more debugmsg. 2008-05-29 Basile Starynkevitch [still metabuggy; warm-basilys-1 miscompile test0 -its testandsetq function] * melt/warm-basilys.bysl: added putobjdest catchall for anydiscr, and putobjdest methhods for null and discr_integer. 2008-05-28 Basile Starynkevitch [still metabuggy; the function pairlist_to_multiple is incorrectly compiled in warm-basilys-1.c by coldbuild-warm-basilys.c] * melt/warm-basilys.bysl: added debugmsg 2008-05-28 Basile Starynkevitch [still metabuggy] * basilys.h: added better location flocs in BASILYS_INITFRAME_AT by doing a snprintf. * melt/warm-basilys.bysl: more debug messages... * melt/testrun1.bysl: added nested test... 2008-05-28 Basile Starynkevitch [still metabuggy; debug output is now sorted] * basilys.c: (mulsort_cmp, basilysgc_sort_multiple) added debugeprintf... * basilys.h: (basilys_string_less) new function. * melt/warm-basilys.bysl: dbgout for mapstring & mapobjects are giving sorted output [which is more canonical and should be easier to compare with other runs] 2008-05-28 Basile Starynkevitch [still a metabug; adding sort of multiple to ease debug messages] * basilys.h: (basilysgc_sort_multiple) new function declared. (basilys_multiple_put_nth) corrected test on magic of discr. * basilys.c: (basilysgc_sort_multiple) added. * melt/warm-basilys.bysl: mexpand_if seems badly compiled by warm-basilys.bysl when xthen not debugmsg-ed. (multiple_sort) new primitive. 2008-05-27 Basile Starynkevitch MELT branch merged with trunk r136046 2008-05-27 Basile Starynkevitch [**** before putting the generated warm-basilys.c into SVN *** the bootstrap is buggy. warm-basilys-1 probably fails to compile the testandsetq function of test0.bysl perhaps a meta-bug related to if or and...] * Makefile.in: all indent-ations removed. the test0c.c & test0w.c file should be identical (but are not yet!). * run-basilys.h: added declaration of basilys_compiled_timestamp & basilys_md5 which are generated by *melt-cc-script * melt/warm-basilys.bysl: added class_src_ifelse and its normalization. Avoid using (return) or (return ()) - prefer (return (the_null)) which is better handled by cold-basilys.lisp. * melt/test0.bysl: (testandsetq) enhanced. * melt/testrun1.bysl: added tests on lists. 2008-05-27 Basile Starynkevitch [**** before putting the generated warm-basilys.c into SVN ***] * melt/warm-basilys.bysl: reverted changes, back to rev.135845 * Makefile.in: reverted changes, back to rev.135845 * basilys.c: (basilys_dbgbacktrace, basilys_dbgshortbacktrace) show the flocs field of frame [runtime line information]. * basilys.h: removed unused struct framloc_basilys_st. 2008-05-26 Basile Starynkevitch [**** before putting the generated warm-basilys.c into SVN - DID NOT basilysbootstrap ***] * melt/warm-basilys.bysl: compileseq command renamed as compilefile * Makefile.in: using compilefile command before putting the generated warm-basilys.c 2008-05-24 Basile Starynkevitch [**** warm-basilys bootstrapped successfully: warm-basilys-2 & warm-basilys-3 are identical!!! ****] * melt/warm-basilys.bysl: (scan_defclass) replaced and by if, because probably cold-basilys.lisp mishandle it... * Makefile.in: added generation of warm-basilys-3 2008-05-23 Basile Starynkevitch [warm-basilys-1 works for test0, test1, not testrun1] * melt/warm-basilys.bysl: (normexp_return) forgot to put the normalized return expr in its bindings. * melt/warm-basilys.bysl: every instance of class_nrep_locsymocc should have its :nocc_bind set 2008-05-23 Basile Starynkevitch [warm-basilys-1 still buggy for test0] * melt/warm-basilys.bysl: every instance of class_nrep_locsymocc should have its :nocc_bind set 2008-05-23 Basile Starynkevitch MERGED with trunk rev135793 2008-05-23 Basile Starynkevitch [the skipped unsafe_put_fields bug was because normexp_unsafe_put_fields should, like every other side-effecting expression, returns a simple local occurrence of ctype_void;; warm-basilys-1 still buggy for test0!] * melt/warm-basilys.bysl: (add2sbuf_indent) lowered column threshold. (dbgout_fields) less wide output. (dbgout_anybinding_method) nicer output. (normal_exp) selector - better comment. (normexp_return) always return a locsymocc. (normexp_unsafe_get_field) returns a locsymocc. (outpucod_objlocv) shorter comments in generated code. (compilobj_nrep_forever) added useless *99bis stuff & extra asserts. * melt/test0.bysl: added more tests. * melt/README-MELT: added explanation about bug. * melt-cc-script.proto: minor typos & outputs. 2008-05-22 Basile Starynkevitch [some unsafe_put_fields but not all are skipped .. we have to find a pattern for them to find the bug] * basilys.h: (basilys_dbgtracefile) new variable. (basilys_trace_start, basilys_trace_end) new macros [useful only when ENABLE_CHECKING] * basilys.c: (basilys_initialize) deal with basilys_dbgtracefile using BASILYSTRACE environment variable [ugly!] * melt/warm-basilys.bysl: generate calls to basilys_trace_start, basilys_trace_end./ Closures are better dbgout-ed. * melt/test0.bysl: added more unsafe_put_fields tests. * melt-cc-script.proto: more verbose [using ls] 2008-05-21 Basile Starynkevitch [perhaps a metabug: the (unsafe_put_fields nbind :labind_res oresv) in compilobj_nrep_forever is not compiled in warm-basilys-1 which fails on compiling test0; some OR are perhaps badly cold-compiled!] * melt/warm-basilys.bysl: (mexpand_defun) uses a COND not an OR to parse formal arguments. (scan_defclass) uses COND not OR; also better error messages. (normexp_definstance) likewise. (compilobj_nrep_forever) added debugmsg.... 2008-05-21 Basile Starynkevitch [still buggy, but less for OR] * melt/warm-basilys.bysl: (normexp_or) works correctly [at least for simple cases]. corrected various OR occurrences [detected by warm-basilys-1!] 2008-05-21 Basile Starynkevitch merged with trunk rev135714 * basilys.h: explicit [re-]declaration of fatal_error. 2008-05-21 Basile Starynkevitch [handling of OR might be incorrect in cold and improved in warm] * melt/warm-basilys.bysl: (normexp_or) rewritten. [many occurrences of OR replaced by IF because contrib/cold-basilys.lisp might be wrong] 2008-05-20 Basile Starynkevitch [added pregetting & interning of symbols & keywords - still buggy warmbasilys2] * basilys.h: (basilys_is_string_const) new function. * melt/warm-basilys.bysl: (macroexpand_1) check for not DEFUN when unbound. (output_code_getsymkw, output_code_internsymkw) new functions called in ... (outpucod_initialroutine) added pregetting & interning of symbols & keywords... 2008-05-20 Basile Starynkevitch [still buggy warmbasilys2] * melt/warm-basilys.bysl: (normexp_keyword) handling correctly keyword at toplevel. This affects initialization of our ctype_value etc... 2008-05-20 Basile Starynkevitch [****important issue about GGC & basilys full collection when creating new GGC data e.g. tree-s***] * basilys.h: added an important TODO comment for explanation. 2008-05-20 Basile Starynkevitch [cond was buggy because of progn; testrun1 running ok; warmbasilys2 still bad] * melt/warm-basilys.bysl: (normexp_progn) recoded function, using normalize_tuple... 2008-05-19 Basile Starynkevitch [stillbuggy cond & testrun1 bad; perhaps progn sometimes badly handled, 'or' badly normalized?] * melt/testrun1.bysl: added better testcommand & install_method. * melt/warm-basilys.bysl: betteer handling of multiple return. (outpucod_objputxtraresult) new function. better normalization & compilation of return. (mexpand_cond) rewritten expansion of cond using sometimes or. 2008-05-17 Basile Starynkevitch [stillbuggy multiapply incorrectly compiled see testrun1] * melt/testrun1.bysl: added test command. * Makefile.in: added testrun1x production by cold-basilys.lisp to compare with warmcompiled testrun1c 2008-05-17 Basile Starynkevitch [warmcompilation of test0 better for multisend but warm-basilys-1 runs badly on test0] * melt/warm-basilys.bysl: better normalization & compilation of multisend & multiapply. The body is actually compiled and the localvars are bound and allocated. * Makefile.in: added MELTINDENT variable for coldtest-warm-basilys target 2008-05-17 Basile Starynkevitch [warmcompilation of test0 better for multisend but warm-basilys-1 fails should add a predicate obj_without_sideeffects better than testing if in class_objpurevalue] * melt/warm-basilys.bysl: better output of objmultimsend & objmultiapply 2008-05-16 Basile Starynkevitch [warmcompilation of test0 still buggy for multisend] * melt/warm-basilys.bysl: (normexp_multicall) generates a local & bindings. 2008-05-16 Basile Starynkevitch [still buggy elsewhere, find_env seems to be warmcompiled ok.] * basilys.h: added flocs field instead of [removed] floc in frames. (BASILYS_LOCATION) new macro to set the flocs. (BASILYS_INITFRAME, BASILYS_INITFRAME_AT) sets the flocs. * basilys.c: (basilysgc_add_strbuf_cidentprefix) avoid adding many _ * run-basilys.h: added ENABLE_BASILYSMELT check. (curfptr, curfnum, curfclos, curfrout) new macros to shorten generated code when accessing current frame curfram__. * Makefile.in: reordered various melt tests. Added calls to indent on generated C files. * melt/warm-basilys.bysl: replaced field floc by flocs in generated frames. (output_raw_location): new function. (output_location) calls output_raw_location and also emits BASILYS_LOCATION (class_objnil): new class. (putobjdest_objvalue): verbose message when type mismatch. (normexp_exit) returns a localoccv. (normexp_let) likewise. (normexp_forever) likewise. (minor_garbcoll,full_garbcoll,is_not_object,is_not_a): new primitives. * melt/testrun1.bysl: added is_not_a is_not_object primitives & more message_dbg in find_env 2008-05-15 Basile Starynkevitch [still buggy: find_env in testrun1.bysl or warm-basilys.bysl is not correctly compiled. The output instructions are in wrong order!] * melt/warm-basilys.bysl: (is_not_a) new primitive. (find_env) use is_not_a. (get_free_objlocptr) added useless... variables to circumvent a cold-basilys.lisp bug. * melt/testrun1.bysl: added is_not_a 2008-05-15 Basile Starynkevitch [still buggy but return better handled in exit or forever] * melt/warm-basilys.bysl: (putobjdest_objdestinstr) check that last destination is not the new one to avoid duplicates. (get_free_objlocptr, get_free_objloclong, get_free_objloctyped) reuses the offset but not the objlocv of freed variables. (putobjdest_objloop) bug corrected: the destlist should be a list! 2008-05-14 Basile Starynkevitch [still buggy - exit is better, but return is not well handled when propagated into an exit or a forever...] * melt/warm-basilys.bysl: class_objexit is simpler (no more :obexit_prolog) nrep_exit is compiled into a block. all tests for not is_a class_objpurevalue also test for non-null. * melt/test0.bysl: (testforeverif) added but not compiled correctly. 2008-05-14 Basile Starynkevitch [still buggy] * basilys.h: (basilys_getfield_object_at) new function, called by macro basilys_getfield_object when ENABLE_CHECKING * melt/warm-basilys.bysl: find_env indented better. added more empty lines in generated output for procedures. (outpucod_objputclosurout) added check of routine. (compilobj_dataclosure) buggy putclosrout generation... 2008-05-14 Basile Starynkevitch [still buggy - first generation of warm-basilys-1.c which does not behave correctly] * melt/warm-basilys.bysl: all (return ()) replaced by (return (the_null)) because of a cold-basilys.lisp possible bug (compilobj_nrep_let) don't test for objcomp objectness. It could be a non object when source is nil, an integer, a verbatim string, .. * Makefile.in: fixed typos for warmcompilation. added generation of warm-basilys-2.c and compare to warm-basilys-1.c 2008-05-14 Basile Starynkevitch [still buggy] * melt/warm-basilys.bysl: (putobjdest_objvalue) handles specially a void reciever by making an objblock with an objclear. (compilobj_nrep_unsafe_put_fields) adds the touched locvar to the generated block. (compil_data_and_slots_fill) adds the initialized data to the generated block. 2008-05-13 Basile Starynkevitch [hurt another bug: check typcomp in PUTOBJDEST_OBJVALUE] * melt/warm-basilys.bysl: corrected normalization of progn 2008-05-13 Basile Starynkevitch [still buggy - incorrectly calling output_code on discr_list from outpucod_objblock so some objblock is incorrectly built] * basilys.c: (do_initial_command) added check for closure to invoke for command & moved "exit" builtin command handling. * Makefile.in: added testrun1c run to say hello. * melt/warm-basilys.bysl: added class_objpurevalue superclass to avoid outputting it. Other values such as class_objexpv should always be output - otherwise some primitive invocations are disappearing. All tests in outpucod* are testing unless is_a class_objpurevalue to avoid outputting. * melt/testrun1.bysl: added say command... 2008-05-12 Basile Starynkevitch [still buggy] * melt/warm-basilys.bysl: generated code has a named frame structure. generation of initial routine without clos field in curfram to catch bad access to closures. added compilobj_*_binding methods for compile_obj of class*binding-s. compilobj_dataroutine handle constant occurrences. 2008-05-07 Basile Starynkevitch [another bug; the previous one is probably related to too early disposal of locals] * common.opt: all basilys options are only when ENABLE_BASILYSMELT. * basilys.c: (basilys_initialize) force exit_after_options for builtin command exit and detect command without dispatcher. * melt/warm-basilys.bysl: compil_data_and_slots_fill is disposing local bindings too early. [TODO:] It should return a tuple of bindings to be disposed by the caller. outcinitfill_objinitobject does not set the predef anymore. This is done in outcinitpredef_objinitobject. * Makefile.in: the empty runs have -fbasilys-command=exit 2008-05-07 Basile Starynkevitch [still buggy] * basilys.c: (basilysgc_add_strbuf_cident) always clear current bytedest. * Makefile.in: added testrun1 runs * melt/testrun1.bysl: new file. * melt/warm-basilys.bysl: added generations of checks in putupl & putclosv * melt-cc-script.prot: added more echo-s. 2008-05-06 Basile Starynkevitch * basilys.h: renamed FDISCR_SENDCLOSURE as FDISCR_SENDER. * basilys.c: renamed FDISCR_SENDCLOSURE as FDISCR_SENDER. (basilysgc_put_mapobjects, basilysgc_put_mapstrings) (basilysgc_raw_put_mappointers) threshold to grow softened. * melt/warm-basilys.bysl: *****shameful hack******** [bug not found!] to call outpucod_verbatimstring from outpucod_string 2008-05-06 Basile Starynkevitch * melt/warm-basilys.bysl: still buggy. Maybe should avoid circularity on discr_namestring name discr. added ninst_objnum initialization to propagate objnum from src to normexp. added inipredef. 2008-05-06 Basile Starynkevitch * tree-passes.h: MERGED WITH TRUNK r134973 * passes.c: MERGED WITH TRUNK r134973 2008-05-05 Basile Starynkevitch * melt/warm-basilys.bysl: (create_normcontext) fill the initial predefmap with symbols using (fill_initial_predefmap). Added the output_c_initpredef selector to set the predefined values very early. Added generation of obj_num in initial objects. Added generation of asserts in putslots. Still buggy, perhaps because of late setting of predefined values. * Makefile.in: added empty run of warmbasilys1 2008-04-22 Basile Starynkevitch * basilys.c: (basilysgc_add_strbuf_cident) avoid adding several consecutive '_' underscores. * basilys.h: added comment about updating warm-basilys.bysl when adding new predefs * Makefile.in: generates test0c.c etc... * melt-cc-script.proto: removed -x flag. * melt/warm-basilys.bysl: still buggy. Start adding some global_DISCR* etc primitives to register predef by names. Corrected wrong argument order to error_plain. More locations in output of getarg. Should add more global_* stuff, or generate it by some script (& also in basilys.h) 2008-04-21 Basile Starynkevitch * Makefile.in: added compilation of test0 by warm-basilys1.c itself 2008-04-21 Basile Starynkevitch [warm-basilys1 still fail by crashing to compile test1, but is syntactically correct C code] * Makefile.in: added compilation of test1 by warm-basilys1.c itself produced by coldbuild-warm-basilys.c on warm-basilys.bysl * melt-cc-script.proto: added [temporarily?] the build of foo-n.so from foo.c * melt/warm-basilys.bysl: quoted string constants are with make_stringconst. in normalization of progn unsafe_get_field setq generate a variable for the result. various output_c_code routines avoid outputing non objinstr code hence less generation of useless code. 2008-04-21 Basile Starynkevitch * Makefile.in: added warm-basilys1 & warm-basilys2 & cleaning * melt/warm-basilys.bysl: normalization of lambda should introduce a binding. still buggy : test1.bysl hits new assert compilobj_nrep_apply check ocomp not objinstr * melt-cc-script.proto: added quick -fsyntax-only run without linenumbering 2008-04-21 Basile Starynkevitch [first sucessful compilation of warm-basilys.bysl by a cold-compiled version of itself; but the generated C code is syntactically incorrect] * params.def: increased PARAM_BASILYS_MINOR_ZONE * basilys.c: (basilysgc_new_raw_object) uses sizeof(struct basilysobject_st) for readability * Makefile.in: added time to ./cc1-melt runs * melt/warm-basilys.bysl: various debugmsg commented. (compilobj_nrep_constant) should compile the data for initrout. 2008-04-20 Basile Starynkevitch * melt/warm-basilys.bysl: The runtime bug below is a bug in cold-basilys.lisp generator. Still having an "output_c_code of CLASS_NREP_DATAKEYWORD" bug in warm bootstrap. 2008-04-20 Basile Starynkevitch * basilys.h: (basilys_checked_assignmsg_at) better message. * melt/warm-basilys.bysl: better handling of if/then/else typing. got a runtime bug on warm bootstrap. 2008-04-19 Basile Starynkevitch * melt/warm-basilys.bysl: Added handling of arbitrary other ctypes such as cstring tree etc... But bootstrap still buggy in putobjdest_objvalue 2008-04-19 Basile Starynkevitch * basilys.h: (basilys_discr) return BASILYSGOB(DISCR_NULLRECV) for null pointer. * melt/warm-basilys.bysl: normalization of binding constructs like let or multiapply or multisend should remove the locally bound symbols from the symbol cachemap in the normalization context. This fix the bug for several homonymous let inside same function. dbgout_ routines are better for bindings. nil is dbgoutput-ed a la Lisp. several dbgout_ routines do not bother testing for need_dbg. arbitrary ctypes are still not handled correctly. 2008-04-18 Basile Starynkevitch * basilys.c: (bailys_apply) print a short backtrace when too deep recursion with ENABLE_CHECKING * melt/warm-basilys.bysl: (pairlist_to_progn, mexpand_progn...) correct progn expansion & compilobj... Added class_objdestinstr superclass so removed many putobjdest* methods. warm-basilys does not bootstrap itself yet [assertfailure compilocsy null ovar with ctype_void] 2008-04-18 Basile Starynkevitch * melt/warm-basilys.bysl: implemented put fields generation & output. Still missing progn generation. 2008-04-18 Basile Starynkevitch * basilys.h: (basilys_getfield_object) new function (when ENABLE_CHECKING) or macro * melt/warm-basilys.bysl: (parse_field_assignment) displays an error when non keyword fieldname. (class_objgetslot) new class. (outpucod_root) better error output. implemented get field generation & output. Still missing put field generation & output. 2008-04-18 Basile Starynkevitch * Makefile.in: uses | for both install & build of melt gcc script 2008-04-17 Basile Starynkevitch * melt/warm-basilys.bysl: (displaydebugmsg) new function - not working yet. added output to stderr. (compilobj_nrep_nil) installed as method. * Makefile.in: using cc1-melt to make more readable the output of the top command * basilys.c: (basilysgc_send) correctly handled null reciever. 2008-04-17 Basile Starynkevitch * melt/warm-basilys.bysl: (output_location) new string argument, better #line output. added class_nrep_nil & some methods for it. added debugmsg for unbound symbol in primitive expansion which still incorrectly happens. (normexp_quote) both initrout and normalrout cases. still buggy on self compilation 2008-04-17 Basile Starynkevitch MELT branch merged with trunk r134362 2008-04-16 Basile Starynkevitch * basilys.c: (basilys_caught_assign_at) added msg 4th argument * basilys.h: ditto. added basilys_checked_assignmsg macro. * melt/warm-basilys.bysl: added debugmg in wrap_normal_let1 to catch a bug still there [assert_msg check cbind wrapnormlet1] 2008-04-16 Basile Starynkevitch * Makefile.in: target install-melt-cc-script uses | in sed per suggestion of Nicolas Vigier 2008-04-16 Basile Starynkevitch * melt/warm-basilys.bysl: (create_normcontext) set both :nctx_initproc and :nctx_curproc to the shared inipro to handle keywords [e.g. inside ctype* def_instance-s.] this exposes a basilys runtime bug in forwarded_copy 2008-04-15 Basile Starynkevitch * Makefile.in: added $(BASILYSDEBUG) for -fdebug-basilys and added compilation of warm-basilys by itself (still buggy) * melt/warm-basilys.bysl: debug_msg changed to debugmsg which has a cstring second argument. 2008-04-15 Basile Starynkevitch * gengtype.c: (open_base_files) handles basilys.c only when ENABLE_BASILYSMELT * tree-pass.h: declare basilys_pass only when ENABLE_BASILYSMELT * toplev.c: (toplev_main) do basilys* init & final only when ENABLE_BASILYSMELT * passes.c: (init_optimization_passes) do basilys_pass only when ENABLE_BASILYSMELT 2008-04-15 Basile Starynkevitch * configure.ac: added --enable-basilysmelt flag * basilys.h: check ENABLE_BASILYSMELT * Makefile.in: added conditionals on BASILSMELT_OBJ and COMPILER_PROBE_OBJ * configure, config.in: Regenerated 2008-04-14 Basile Starynkevitch corrected below bug; * tree-pass.h: pass_basilys is a simple IPA pass. * basilys.c: likewise. 2008-04-14 Basile Starynkevitch MELT branch merged with trunk r134275 stilly buggy for libgcc muldi3: internal compiler error: in execute_ipa_pass_list, at passes.c:1235 2008-04-14 Basile Starynkevitch * melt/warm-basilys.bysl: adding pamater passing capacity to constant cstrings in ctype_cstring. This requires a change in contrib/cold-basilys.lisp which is not yet implemented. 2008-04-14 Basile Starynkevitch * basilys.h: (basilys_allocatereserved) removed the call fatal_error and wrapped it into basilys_reserved_allocation_failure. * basilys.c: (basilys_reserved_allocation_failure) new function which should never be called. 2008-04-05 Basile Starynkevitch MELT branch merged with trunk r133937 2008-04-05 Basile Starynkevitch MELT branch merged with trunk r133930 * Makefile.in: merged with trunk. 2008-04-04 Basile Starynkevitch [tried warm bootstrap which is still buggy] * melt/warm-basilys.bysl: various tiny bugfixes. (scan_defclass) handles correctly :obj_num or :predef. (parse_field_assignment) cla can be null. (wrap_normal_let1, compilobj_dataroutine) removed debugging backtraces. * basilys.h: basilys_list_length (nil) is 0. * basilys.c: (basilys_list_length) likewise. 2008-04-02 Basile Starynkevitch * melt/warm-basilys.bysl: multiresult apply & send outpucod not tested. 2008-04-01 Basile Starynkevitch * melt/warm-basilys.bysl: multiresult apply & send support nearly completed but untested. 2008-04-01 Basile Starynkevitch * melt/warm-basilys.bysl: simple message send support ok. 2008-03-31 Basile Starynkevitch * melt/warm-basilys.bysl: adding message send support (stilly buggy). 2008-03-29 Basile Starynkevitch * melt/warm-basilys.bysl: all defselector-s without explicit :named_name. implemented defselector macro & normalization. argument pointer passing ok for null argument. 2008-03-28 Basile Starynkevitch * melt/warm-basilys.bysl: all *_iterate functions duplicated into a *_every function (iterating fully) and a _iterate_test (iterating while...). (normexp_msend) new stub function [incomplete]. (check_ctype_nargs) new function used in normexp_apply... * melt-cc-script.proto: remove all temporary files. 2008-03-28 Basile Starynkevitch * melt/warm-basilys.bysl: (lambda_arg_bindings) check valid argument type. (getctype_objvalue) returns the correct :obv_type field. (compilobj_nrep_makeinst) compiles the class data. 2008-03-27 Basile Starynkevitch merged with trunk r133654 * Makefile.in: reverted auto dependencies (as did the trunk) 2008-03-27 Basile Starynkevitch * basilys.c: (unsafe_index_mapobject, unsafe_index_mapstring) (unsafe_index_mappointer) returns a free index for tables which have mostly deleted entries. (basilysgc_send) Added naughty dirty trick to avoid eating a callframe on every send. (basilys_apply) new name of basilysgc_apply since it has no frame and do not perform any allocation. (basilysgc_new_mult6, basilysgc_new_mult7) new functions. * basilys.h: (basilys_curframdepth) new function. (basilysgc_new_mult6, basilysgc_new_mult7) new functions. * melt/warm-basilys.bysl: (the_framedepth) new primitive. (debug_msg) displays the call depth. Added output of semicolon before goto-s. (compilobj_nrep_multacc, compilobj_nrep_fieldacc) working. (compil_data_and_slots_fill) Handles correctly the ndata_locbind field. Uses basilys_apply in generated code. * melt-cc-script.proto: added output of generated timestamp file for debugging. * melt/test0.bysl: more tests. * melt/test1.bysl: more tests. 2008-03-27 Basile Starynkevitch * Makefile.in: the newer [from trunk] Makefile.in did not work. Added use of LTDL_LDFLAGS, PPLLIBS, ... 2008-03-26 Basile Starynkevitch MELT branch merged with trunk r133612. In particular better Makefile.in with auto dependencies... 2008-03-26 Basile Starynkevitch * melt/warm-basilys.bysl: adding compilation of multiapply and of (compile-time) field access... 2008-03-24 Basile Starynkevitch * melt/warm-basilys.bysl: Start adding message sending & multicall. 2008-03-24 Basile Starynkevitch * basilys.c: (basilysgc_add_strbuf_raw) assigned the argument into framevar. * melt/warm-basilys.bysl: (dbgout_list_method) better typed if. (normexp_symbol) handling correctly constant (function, class, primitive, field...) symbol at toplevel. * melt/test0.bysl: added test of toplevel function & primitive bindings. 2008-03-22 Basile Starynkevitch * basilys.c: (basilysgc_add_strbuf_raw) when growing young strbuf, call basilysgc_reserve and basilys_allocatereserved to avoid growing a buffer which has just been promoted to old by the zone reallocation. (basilysgc_add_strbuf_raw) use a basilys frame. (basilysgc_put_mapobjects, basilysgc_remove_mapobjects) (basilysgc_put_mapstrings, basilysgc_remove_mapstrings) (basilysgc_raw_put_mappointers, basilysgc_raw_remove_mappointers) call basilysgc_reserve and basilys_allocatereserved likewise. * basilys.h: (basilysgc_reserve, basilys_allocatereserved) new functions. added frameloc when ENABLE_CHECKING in basilys frames. * melt/warm-basilys.bysl: added (empty) support for framloe when ENABLE_CHECKING in generated basilys frames. * Makefile.in: remove T_CFLAGS from MELT_CFLAGS. 2008-03-21 Basile Starynkevitch * basilys.c: (basilysgc_read_file) added second argument locnam. (do_initial_command) uses basilys_secondargument_string. !!!!! A BUG REMAINS AND CRASHES our cc1 for test0 !!!!!!! * basilys.h: (basilysgc_read_file) added second argument locnam. * melt/test0.bysl: added file. * melt/test1.bysl: added file. * melt/warm-basilys.bysl: replaced some call to or .. with if (not ..) to avoid some warnings from cold-basilys.lisp nctx_symbcachemap filled even in create_normcontext to handle MELT variables at toplevel. compileseq_command takes an optional second string. * common.opt: added fbasilys-secondarg for basilys_secondargument_string. * melt-cc-script.proto: corrected dynstuff computation. added echo messages and set -x. * Makefile.in: added coldtest-warm-basilys HORRIBLE KLUDGE which still crashes because of a basilys.c? bug 2008-03-20 Basile Starynkevitch * Makefile.in: added @DEFS@ to MELT_CFLAGS. Better run-basilys.d target (still specific to some systems like linux; depcomp should be used...). Added ugly temporary kludge to build coldbuilt-warm-basilys.c & coldbuilt-warm-basilys.so on Linux thru clisp & contrib/coldbasilys.lisp. built-melt-cc-script better built. * melt-cc-script.proto: corrected typos. * run-basilys.h: working at last. 2008-03-20 Basile Starynkevitch MELT branch merged with trunk r133366. * basilys.c: pass_basilys is now a gimple_opt_pass. * tree-pass.h: pass_basilys is now a gimple_opt_pass. pass_compiler_probe now declared here. * passes.c: using new struct-s for passes. * compiler-probe.h: moved pass_compiler_probe from here to tree-pass.h * compiler-probe.c: pass_compiler_probe is a gimple_opt_pass. 2008-03-18 Basile Starynkevitch * melt-cc-script.prot: added generation of date & md5sum. 2008-03-18 Basile Starynkevitch * melt-cc-script.prot: new file. * Makefile.in: added install-melt-cc-script and built-melt-cc-script targets 2008-03-17 Basile Starynkevitch * basilys.h (basilys_finalize, basilys_tempdir_path): added declarations. * basilys.c : added inclusion of md5.h & filenames.h. (basilys_tempdir_path, load_checked_dylib) new functions. (basilysgc_compile_dyn) scan various directories for generated C source file and dynamically loaded stuff. * toplevel.c (toplev_main): added declaration and call to basilys_finalize. * common.opt: added -fbasilys-arg= -fbasilys-command= -fbasilys-compile-script= -fbasilys-dynlibdir= -fbasilys-tempdir= options 2008-03-16 Basile Starynkevitch new changelog for the Melt Branch * Makefile.in: added melt_source_dir melt_generated_dir melt_dynlib_dir melt_compile_script & corrected typos. (basilys.o) transmit them as C constants. * common.opt: added -fbasilys-compile-script= option. * basilys.c (compile_to_dyl): uses melt_compile_script. added melt_source_dir melt_generated_dir melt_dynlib_dir melt_compile_script as constants. Better comments. still incomplete. 2008-03-11 Basile Starynkevitch merged with trunk r133107 2008-03-11 Basile Starynkevitch * Makefile.in: removed compile-basilys-defs completely. Corrected typ in comment for run-basilys-deps. 2008-03-05 Basile Starynkevitch * Makefile.in: added targets for installation of melt includes. 2008-03-02 Basile Starynkevitch merged with trunk 132817 2008-02-26 Basile Starynkevitch * Makefile.in: adding melt-private-include/ thing * melt/ : subdirectory moved here (was in ..) 2008-02-26 Basile Starynkevitch MELT branch merged with trunk r132671 Merged revisions 132452-132671 via svnmerge from svn+ssh://bstarynk@gcc.gnu.org/svn/gcc/trunk * toplev.c (toplev_main): comprobe_finish() called before the print_ignored_options() 2008-02-19 Basile Starynkevitch MELT branch merged with trunk. removed debug hack in basilys.c; added code to be able to init with a *.so in basilys.c. added our (forgotten) Makefile.in and most of my (Basile Starynkevitch's) files Created MELT branch. This gcc/ChangeLog.melt added afterwards. Copyright (C) 2010 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. /// Local Variables: /// mode: change-log /// End: