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 .. * gcc/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 * gcc/melt/ana-base.melt: new renamed file * gcc/melt/ana-simple.melt: new renamed file * gcc/melt/warmelt-first.melt: new renamed file * gcc/melt/warmelt-genobj.melt: new renamed file * gcc/melt/warmelt-macro.melt: new renamed file * gcc/melt/warmelt-normal.melt: new renamed file * gcc/melt/warmelt-normatch.melt: new renamed file * gcc/melt/warmelt-outobj.melt: new renamed file * gcc/testsuite/melt/t2iter.melt: new renamed file * gcc/testsuite/melt/tcond-1.melt: new renamed file * gcc/testsuite/melt/test1.melt: new renamed file * gcc/testsuite/melt/testrun1.melt: new renamed file * gcc/testsuite/melt/tmacrostring.melt: new renamed file * gcc/testsuite/melt/tmatch-1.melt: new renamed file * gcc/testsuite/melt/tmatch-2.melt: new renamed file * gcc/testsuite/melt/tmatch-3.melt: new renamed file * gcc/testsuite/melt/tmultilong.melt: new renamed file * gcc/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. /// Local Variables: /// mode: change-log /// End: