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: