--- .gitignore | 14 ++++ build-aux/.gitignore | 15 +++++ doc/.gitignore | 4 + lib/.gitignore | 4 + src/inst/.gitignore | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/parse/.gitignore | 11 ++++ 6 files changed, 212 insertions(+), 0 deletions(-) create mode 100644 .gitignore create mode 100644 build-aux/.gitignore create mode 100644 doc/.gitignore create mode 100644 lib/.gitignore create mode 100644 src/inst/.gitignore create mode 100644 src/parse/.gitignore
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9647d5b --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +Makefile.in +Makefile +.deps +*.pyc +*.stamp +*~ + +/_build* +/aclocal.m4 +/autom4te.cache +/config.h.in +/configure +/gnulib +/m4 diff --git a/build-aux/.gitignore b/build-aux/.gitignore new file mode 100644 index 0000000..c285e94 --- /dev/null +++ b/build-aux/.gitignore @@ -0,0 +1,15 @@ +/config.guess +/config.sub +/depcomp +/install-sh +/libtool.m4 +/link-warning.h +/ltmain.sh +/ltoptions.m4 +/ltsugar.m4 +/ltversion.m4 +/lt~obsolete.m4 +/mdate-sh +/missing +/texinfo.tex +/ylwrap diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000..ece4597 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,4 @@ +/inst-set.texi +/nolimips.info +/stamp-vti +/version.texi diff --git a/lib/.gitignore b/lib/.gitignore new file mode 100644 index 0000000..14e3786 --- /dev/null +++ b/lib/.gitignore @@ -0,0 +1,4 @@ +/Makefile.am +/stddef.in.h +/stdint.in.h +/wchar.in.h diff --git a/src/inst/.gitignore b/src/inst/.gitignore new file mode 100644 index 0000000..098f6ab --- /dev/null +++ b/src/inst/.gitignore @@ -0,0 +1,164 @@ +/add.cc +/add.hh +/add.hxx +/addi.cc +/addi.hh +/addi.hxx +/addiu.cc +/addiu.hh +/addiu.hxx +/addu.cc +/addu.hh +/addu.hxx +/all.hh +/and.cc +/and.hh +/and.hxx +/andi.cc +/andi.hh +/andi.hxx +/beq.cc +/beq.hh +/beq.hxx +/bgezal.cc +/bgezal.hh +/bgezal.hxx +/bgez.cc +/bgez.hh +/bgez.hxx +/bgtz.cc +/bgtz.hh +/bgtz.hxx +/blez.cc +/blez.hh +/blez.hxx +/bltzal.cc +/bltzal.hh +/bltzal.hxx +/bltz.cc +/bltz.hh +/bltz.hxx +/bne.cc +/bne.hh +/bne.hxx +/decl.hh +/div.cc +/div.hh +/div.hxx +/divu.cc +/divu.hh +/divu.hxx +/fwd.hh +/inst-builder-gen.stamp +/inst-nodes-gen.stamp +/inst-solver-gen.stamp +/jal.cc +/jal.hh +/jal.hxx +/jalr.cc +/jalr.hh +/jalr.hxx +/j.cc +/j.hh +/j.hxx +/jr.cc +/jr.hh +/jr.hxx +/lb.cc +/lb.hh +/lb.hxx +/lbu.cc +/lbu.hh +/lbu.hxx +/lui.cc +/lui.hh +/lui.hxx +/lw.cc +/lw.hh +/lw.hxx +/mfc0.cc +/mfc0.hh +/mfc0.hxx +/mfhi.cc +/mfhi.hh +/mfhi.hxx +/mflo.cc +/mflo.hh +/mflo.hxx +/mtc0.cc +/mtc0.hh +/mtc0.hxx +/mthi.cc +/mthi.hh +/mthi.hxx +/mtlo.cc +/mtlo.hh +/mtlo.hxx +/mul.cc +/mul.hh +/mul.hxx +/nodes.mk +/nor.cc +/nor.hh +/nor.hxx +/or.cc +/or.hh +/or.hxx +/ori.cc +/ori.hh +/ori.hxx +/program_builder.hh +/program_solver.cc +/program_solver.hh +/sb.cc +/sb.hh +/sb.hxx +/sll.cc +/sll.hh +/sll.hxx +/sllv.cc +/sllv.hh +/sllv.hxx +/slt.cc +/slt.hh +/slt.hxx +/slti.cc +/slti.hh +/slti.hxx +/sltiu.cc +/sltiu.hh +/sltiu.hxx +/sltu.cc +/sltu.hh +/sltu.hxx +/sra.cc +/sra.hh +/sra.hxx +/srav.cc +/srav.hh +/srav.hxx +/srl.cc +/srl.hh +/srl.hxx +/srlv.cc +/srlv.hh +/srlv.hxx +/sub.cc +/sub.hh +/sub.hxx +/subu.cc +/subu.hh +/subu.hxx +/sw.cc +/sw.hh +/sw.hxx +/syscall.cc +/syscall.hh +/syscall.hxx +/visitor.hh +/xor.cc +/xor.hh +/xor.hxx +/xori.cc +/xori.hh +/xori.hxx diff --git a/src/parse/.gitignore b/src/parse/.gitignore new file mode 100644 index 0000000..9baa3fd --- /dev/null +++ b/src/parse/.gitignore @@ -0,0 +1,11 @@ +/asm-parse.cc +/asm-parse.hh +/asm-parse.yy +/asm-parse.output +/asm-parse.xml +/asm-parse.html +/asm-scan.cc* +/asm-scan.ll* +/location.hh +/position.hh +/stack.hh
--- ChangeLog | 152 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 532c202..62081f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -83,7 +83,7 @@ Replace dirty access to libparse internal by an internal flag. * src/inst-tasks.cc: Use it. - + 2006-01-08 Benoît Perrot benoit@lrde.epita.fr
Move inline implementations from .hh files to .hxx @@ -118,13 +118,13 @@ Split into... * src/inst/register.hxx, * src/inst/label.hxx, src/inst/label.cc, - * src/inst/text_label.hxx, src/inst/text_label.cc, + * src/inst/text_label.hxx, src/inst/text_label.cc, * src/inst/exp.hxx, src/inst/exp.cc, * src/inst/int_exp.hxx, src/inst/int_exp.cc, * src/inst/label_exp.hxx, src/inst/label_exp.cc, * src/inst/op_exp.hxx, src/inst/op_exp.cc, * src/inst/inst.hxx, src/inst/inst.cc, - * src/inst/section.hxx, src/inst/section.cc, + * src/inst/section.hxx, src/inst/section.cc, * src/inst/data_section.hxx, src/inst/data_section.cc, * src/inst/text_section.hxx, src/inst/text_section.cc, * src/inst/program.hxx, @@ -229,9 +229,9 @@ 2005-12-23 Benoît Perrot benoit@lrde.epita.fr
Use libtool to pack librairies - + * configure.ac: Check for libtool's presence. - + * src/vm/Makefile.am, * src/misc/Makefile.am, * src/task/Makefile.am, @@ -240,7 +240,7 @@ * src/inst/Makefile.am, * src/Makefile.am: Generate libtool libraries. - + 2005-12-23 Benoît Perrot benoit@lrde.epita.fr
Fix nolimips' system library's read implementation. @@ -252,7 +252,7 @@
Rename config/ as build-aux/ to match with up-to-date coding standards. - + * config/Makefile.am, config/bison++.in, * config/move-if-change, config/readline.m4: Move to... @@ -297,18 +297,18 @@ 2005-10-03 Benoît Perrot benoit@nrde.epita.fr
* src/vm/nolimips_system_library.cc: Provide a stub for free(). - + 2005-10-01 Benoît Perrot benoit@lrde.epita.fr
Introduce nolimips system library. - + * src/vm/nolimips_system_library.hh, * src/vm/nolimips_system_library.hxx, * src/vm/nolimips_system_library.cc: Provide a set of some libc functions as syscalls. * src/vm/Makefile.am: Distribute these new files. * src/vm-tasks.cc: Fix missing include. - + 2005-09-35 Roland Levillain roland@lrde.epita.fr
Work around Mac OS X ar's inability to produce an empty library. @@ -319,7 +319,7 @@ 2005-09-25 Benoît Perrot benoit@lrde.epita.fr
Reduce includes' dependencies. - + * src/vm/cpu.hh, src/vm/cpu.cc * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc * src/parse/asm-parse.yy.gen.py, src/parse/asm-scan.ll.gen.py, @@ -348,7 +348,7 @@ * src/vm/Makefile.am: Update accordingly. * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc: Propagate system library to cpu. - * src/vm-tasks.cc: + * src/vm-tasks.cc: Give a default system library to virtual machine.
2005-09-17 Benoît Perrot benoit@lrde.epita.fr @@ -361,7 +361,7 @@ 2005-09-17 Benoît Perrot benoit@lrde.epita.fr
Fix from-scratch build. - + * boostrap: Search for nodes.mk.gen.py in src/inst instead of dev/ (shame on me).
@@ -386,13 +386,13 @@
2005-09-03 Benoît Perrot benoit@lrde.epita.fr
- * src/misc/unique_string.hh, src/misc/unique_string.cc: + * src/misc/unique_string.hh, src/misc/unique_string.cc: Introduce a constructor from a const char*. Factor string insertion in pool. Suggested by Akim Demaille: Use a set of strings instead of a set of pointers as internal pool. Compose an iterator instead of a pointer. - * src/parse/asm-scan.ll.gen.py: + * src/parse/asm-scan.ll.gen.py: Suggested by Akim Demaille: Don't be affraid to side-affect yytext.
@@ -400,7 +400,7 @@
Shame on me.
- * src/misc/unique_string.hh: Fix error: static member function cannot + * src/misc/unique_string.hh: Fix error: static member function cannot have const qualifier.
2005-09-01 Benoît Perrot benoit@lrde.epita.fr @@ -411,7 +411,7 @@ Remove. Move its implementation to unique_string's constructor, hence make unique_string compose a pointer-to-string instead of a reference. - * src/misc/test-unique_string.cc, src/vm/virtual_machine.cc, + * src/misc/test-unique_string.cc, src/vm/virtual_machine.cc, * src/shell/shell.cc, src/parse/asm-parse.yy.gen.py, * src/parse/asm-scan.ll.gen.py, src/inst/label_exp.hh, * src/inst/section.hh, src/inst/label.hh: @@ -444,9 +444,9 @@ * src/parse/Makefile.am, src/inst/Makefile.am, doc/Makefile.am, * Makefile.am: Update accordingly. - + 2005-07-31 Benoît Perrot benoit@lrde.epita.fr - + * configure.ac: Bump to 0.8a * NEWS: Fix release date.
@@ -471,7 +471,7 @@ 2005-04-15 Benoît Perrot benoit@lrde.epita.fr
Remove size limitation of data sections. - + * src/inst/data_section.hh, src/inst/data_section.cc: Prefer std::vector to int* (shame on me).
@@ -499,7 +499,7 @@ * src/inst/Makefile.am: Distribute them. * src/vm/cpu.cc, dev/inst-builder-gen.py, dev/inst-solver-gen.py: Update accordingly. - + 2005-04-02 Benoît Perrot benoit@lrde.epita.fr
Fix distcheck broken since 2005-03-08's patch (shame on me). @@ -510,12 +510,12 @@ 2005-03-17 Benoît Perrot benoit@lrde.epita.fr
Introduce command identifier completion in shell. - + * src/shell/shell.hh, src/shell-tasks.cc: Make Shell a singleton. - * src/shell/shell.cc: Use readline's custom completers system + * src/shell/shell.cc: Use readline's custom completers system to complete command identifiers. - + 2005-03-08 Benoît Perrot benoit@lrde.epita.fr
* src/vm/table.hh: Move to... @@ -528,7 +528,7 @@ to set non-mandatory attributes (e.g. trace flags).
* src/vm/cpu.hh, src/vm/cpu.cc, src/vm/virtual_machine.hh, - * dev/inst-builder-gen.py (Cpu, VirtualMachine, ProgramBuilder): + * dev/inst-builder-gen.py (Cpu, VirtualMachine, ProgramBuilder): Remove uncomprehensible boolean arguments from constructor, add corresponding switches. * src/vm-tasks.cc, src/shell/shell.cc, src/parse/libparse.cc: @@ -537,7 +537,7 @@ 2005-03-08 Benoît Perrot benoit@lrde.epita.fr
Remove redundant accessors from virtual machine. - + * src/vm/virtual_machine.hh (get_cpu_register, get_cpu_pc): Remove. * src/shell/shell.hh: Use VirtualMachine::get_cpu() instead. @@ -558,9 +558,9 @@ and jump instructions.
* src/inst/inst.hh: Add a format attribute. - * dev/nolimips.xml, dev/nolimips.py, dev/inst-nodes-gen.py: + * dev/nolimips.xml, dev/nolimips.py, dev/inst-nodes-gen.py: Fill it. - + 2005-03-06 Benoît Perrot benoit@lrde.epita.fr
Provide `--profile' option. @@ -573,24 +573,24 @@ 2005-02-15 Benoît Perrot benoit@lrde.epita.fr
Implement print_err. - - * src/vm/cpu.c: Print buffer pointed to by $a0 on standard + + * src/vm/cpu.c: Print buffer pointed to by $a0 on standard error stream on syscall when $v0 = 15.
2005-02-03 Benoît Perrot benoit@lrde.epita.fr
* src/inst/data_section.hh, src/inst/data_section.cc, * src/inst/text_section.hh, src/inst/text_section.cc: - Maintain a list of encountered (not sorted) labels. Use it to + Maintain a list of encountered (not sorted) labels. Use it to print the content of the sections. * src/inst/section.hh: Remove deprecated attributes. * src/inst/text_label.hh (get_iterator): Constify return value.
2005-02-03 Benoît Perrot benoit@lrde.epita.fr
- * src/inst/section.hh: Store the labels in a set. Use Labels to get + * src/inst/section.hh: Store the labels in a set. Use Labels to get the offset. - * src/inst/label.hh (deref_ptr_less): Declare and define a label + * src/inst/label.hh (deref_ptr_less): Declare and define a label pointer comparator.
2005-02-03 Benoît Perrot benoit@lrde.epita.fr @@ -598,30 +598,30 @@ Store an iterator in TextLabels.
* src/inst/text_label.hh: Do it. - * src/inst/text_section.hh (define_label): Move its + * src/inst/text_section.hh (define_label): Move its implementation into... - * src/inst/text_section.cc (define_label): This file, to solve + * src/inst/text_section.cc (define_label): This file, to solve inclusion cycle.
2005-01-30 Benoît Perrot benoit@lrde.epita.fr
Prepare iterator in TextLabel storage. - - * src/inst/text_section.hh: Maintain an iterator on the very last + + * src/inst/text_section.hh: Maintain an iterator on the very last instruction slot.
2005-01-30 Benoît Perrot benoit@lrde.epita.fr
Store the instructions in a list to prepare future random insertions. - - * src/inst/text_section.hh: Store the instructions in a list + + * src/inst/text_section.hh: Store the instructions in a list instead of a vector to ease random insertions. - * src/inst/text_section.cc (~TextSection, print): Use TextSection's - typedefs and dedicated begin and end to iterate through the + * src/inst/text_section.cc (~TextSection, print): Use TextSection's + typedefs and dedicated begin and end to iterate through the instruction container. - * dev/inst-solver-gen.py: Use operator!= instead of operator< to + * dev/inst-solver-gen.py: Use operator!= instead of operator< to stop the iteration. - + 2005-01-29 Benoît Perrot benoit@lrde.epita.fr
Make Label compose its associated offset. @@ -643,7 +643,7 @@
* src/inst/exp.hh, src/inst/exp.cc: Make LabelExp aggregate a unique_string instead of a Label. - * dev/parse-asm-scan-gen.py: Return a unique_string when + * dev/parse-asm-scan-gen.py: Return a unique_string when scanning an identifier (instead of a Label). * dev/parse-asm-parse-gen.py: Update accordingly. * src/inst/section.hh (has_label, get_offset): Wait for a @@ -659,9 +659,9 @@ * src/inst/section.hh (add_label): Rename as `register_label'. * src/inst/data_section.hh, src/inst/text_section.hh: (add_label): Rename as... - (define_label): This, and make it wait for a unique_string and + (define_label): This, and make it wait for a unique_string and build the label. - * dev/parse-asm-scan-gen.py: Return a unique_string on a + * dev/parse-asm-scan-gen.py: Return a unique_string on a label definition. * dev/parse-asm-parse-gen.py: Update accordingly.
@@ -671,10 +671,10 @@
* src/inst/text_section.hh, dev/inst-solver-gen.py: Hide the concrete type of instruction list. - * src/vm/mmu.hh: Aggregate the instructions instead of + * src/vm/mmu.hh: Aggregate the instructions instead of a text section. (inst_store) Copy the instruction pointers into a local vector. - (inst_load) Access the local vector instead of text section. + (inst_load) Access the local vector instead of text section.
2005-01-23 Benoît Perrot benoit@lrde.epita.fr
@@ -697,7 +697,7 @@ 2005-01-22 Benoît Perrot benoit@lrde.epita.fr
Fix shell's `load' command. - + * src/shell.hh: Implement destructor in corresponding .cc. Aggregate the program being run. * src/shell.cc (do_load): Recover on parse or solve error. @@ -706,7 +706,7 @@
2005-01-17 Benoît Perrot benoit@lrde.epita.fr
- * src/shell.hh (is_register, is_label, get_next_word): + * src/shell.hh (is_register, is_label, get_next_word): Rename and move into... * src/shell.cc (eat_register, eat_label, eat_word): This. @@ -714,7 +714,7 @@ 2005-01-15 Benoît Perrot benoit@lrde.epita.fr
Introduce utilities for lexical analysis. - + * src/misc/lexutils.hh, src/misc/lexutils.cc: Pack utilities for lexical analysis in these files. * src/misc/Makefile.am: Update accordingly. @@ -728,7 +728,7 @@ * src/shell/cmd.hh: Rename (cmd_type_type, cmd_type_, get_type) as (identifier_type, id_, get_identifier) for readability. - * src/shell/shell.hh (eat_word): Rename as + * src/shell/shell.hh (eat_word): Rename as (eat_command_id) and move its implementation into... * src/shell/shell.cc: This file. Recognize uncomplete command identifiers and warn on ambiguity. Factor `build_cmd'. @@ -736,34 +736,34 @@ 2005-01-14 Benoît Perrot benoit@lrde.epita.fr
Introduce unique_strings. - + * src/misc/unique_string.hh, src/misc/unique_string.cc: Declare and define the string uniquifier. * src/misc/test-unique_string.cc: Test it. * src/misc/Makefile.am: Update accordingly. * src/Makefile.am: Link with libmisc.a. - * src/inst/section.hh, src/inst/label.hh: + * src/inst/section.hh, src/inst/label.hh: Use misc::unique_string instead of std::string. - * src/inst/label.cc: Empty it. + * src/inst/label.cc: Empty it.
2005-01-08 Benoît Perrot benoit@lrde.epita.fr
Migrate to bison2.0a. - + * dev/parse-asm-parse-gen.py: Call the parser with a filename and a program builder instead of using global variables. Use bison's builtin system to print token values. Remove global program builder. - * dev/parse-asm-scan-gen.py: Remove global string for file name. + * dev/parse-asm-scan-gen.py: Remove global string for file name. Use yy::location instead of yy::Location. * src/parse/asm-scan.hh: Call the scanner with a trace flag. * src/parse/libparse.hh, src/parse/libparse.cc: - Declare trace flags as booleans. + Declare trace flags as booleans. * src/vm/cp0.hh: Include common.hh to get exit_set.
2005-01-04 Benoît Perrot benoit@lrde.epita.fr
Strengthen lexical analysis. - + * dev/parse-asm-scan-gen.py: Complain when a lexicaly correct integer cannot be converted by istringstream, for example when the said integer is too large. For hexadecimal integers, a maximal @@ -792,7 +792,7 @@ 2004-12-18 Benoît Perrot benoit@lrde.epita.fr
Move tasks to top level, to make libraries "side-effect free". - + * src/task/task-tasks.hh, src/task/task-tasks.cc, * src/parse/parse-tasks.hh, src/parse/parse-tasks.cc * src/inst/inst-tasks.hh, src/inst/inst-tasks.cc @@ -808,7 +808,7 @@ * src/task/Makefile.am, * src/parse/Makefile.am, * src/inst/Makefile.am, - * src/vm/Makefile.am, + * src/vm/Makefile.am, * src/shell/Makefile.am, * src/Makefile.am, * src/modules.hh: @@ -832,7 +832,7 @@
2004-11-02 Benoît Perrot benoit@lrde.epita.fr
- * dev/inst-solver-gen.py: Include config.h to get configuration + * dev/inst-solver-gen.py: Include config.h to get configuration needed by <stdint.h>.
2004-10-31 Benoît Perrot benoit@lrde.epita.fr @@ -870,8 +870,8 @@ GNUlib's <stdint.h>/<inttypes.h> detection tools. * configure.ac: Use gl_HAVE_STDINT_H to check <stdint.h>/<inttypes.h> presence. - Define __STDC_LIMIT_MACROS to access to some macros that - the ISO C99 standard specifies to be explicitly requested + Define __STDC_LIMIT_MACROS to access to some macros that + the ISO C99 standard specifies to be explicitly requested in C++ implementation. * src/stdint_.h: GNUlib's "ISO C 99 <stdint.h> for platforms that lack it." @@ -953,13 +953,13 @@ 2004-09-26 Benoît Perrot benoit@lrde.epita.fr
Add data storage directives. - + * dev/parse-asm-scan-gen.py, dev/parse-asm-parse-gen.py: Add `.byte', .half', `.ascii' directives. * dev/inst-builder-gen.py: Implement new directives. - * src/inst/data_section.hh: Move `.asciiz' implementation to + * src/inst/data_section.hh: Move `.asciiz' implementation to program_builder.hh. - + 2004-09-26 Benoît Perrot benoit@lrde.epita.fr
* src/inst/text_section.cc: Fix label search for program display. @@ -967,7 +967,7 @@ 2004-09-26 Benoît Perrot benoit@lrde.epita.fr
Name sections. - + * src/inst/section: Add name attribute. * src/inst/text_section.hh, src/inst/data_section.hh: Default it to `.text' for text sections and `.data' for data sections. @@ -1008,7 +1008,7 @@ 2004-09-19 Benoît Perrot benoit@lrde.epita.fr
Handle options waiting for an integer. - + * src/task/task.hh, src/task/task.cc: Add a "needs a value" flag. * src/task/task_register.cc: @@ -1018,11 +1018,11 @@ New files. * src/task/Makefile.am, src/task/libtask.hh: Distribute new files. - + 2004-09-18 Benoît Perrot benoit@lrde.epita.fr
Factor boolean tasks. - + * src/task/boolean_task.hh, src/task/boolean_task.cc: New files. * src/task/Makefile.am: @@ -1048,7 +1048,7 @@ 2004-07-18 Benoît Perrot benoit@lrde.epita.fr
Add the backtrace command to the shell. - + * src/vm/cpu.hh, src/vm/virtual_machine.hh: Add an accessor to call stack. * src/shell/cmd.hh, src/shell/shell.hh, src/shell/shell.cc: @@ -1065,7 +1065,7 @@ 2004-07-18 Benoît Perrot benoit@lrde.epita.fr
* src/shell/shell.hh, src/shell.cc: Normalize string stream use. - + 2004-07-18 Benoît Perrot benoit@lrde.epita.fr
* src/shell/shell.cc: Move readline wrapper to... @@ -1077,11 +1077,11 @@ * tests/runtime/address-load.s, tests/runtime/address-store.s: Test invalid access to memory. * tests/runtime/Makefile.am: Distribute them. - + 2004-07-15 Benoît Perrot benoit@lrde.epita.fr
* src/vm/memory.hh, src/vm/mmu.hh, src/vm/virtual_machine.cc: - Make the MMU responsible of address translation and exception + Make the MMU responsible of address translation and exception raising. * src/vm/cp0.hh (raise_addr_load, raise_addr_store): Add address load and store exceptions. @@ -1104,7 +1104,7 @@
2004-07-14 Benoît Perrot benoit@lrde.epita.fr
- * src/vm/virtual_machine.hh: Move the implementation of + * src/vm/virtual_machine.hh: Move the implementation of rarely used methods to... * src/vm/virtual_machine.cc: This file.
* src/nolimips.cc, * src/misc/readline.hh: Include missing standard headers. * src/shell/shell.cc: Change the inclusion order of some headers, to work around incompatibilities between C and C++ headers. Suggested by Yann Grandmaitre yanngrandmaitre@gmail.com. --- ChangeLog | 11 +++++++++++ src/misc/readline.hh | 5 ++++- src/nolimips.cc | 5 ++++- src/shell/shell.cc | 13 +++++++++---- 4 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 62081f2..629165d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2009-11-10 Roland Levillain roland@lrde.epita.fr + + Fix inclusions of standard headers. + + * src/nolimips.cc, + * src/misc/readline.hh: + Include missing standard headers. + * src/shell/shell.cc: Change the inclusion order of some headers, + to work around incompatibilities between C and C++ headers. + Suggested by Yann Grandmaitre yanngrandmaitre@gmail.com. + 2008-12-06 Roland Levillain roland@lrde.epita.fr
Update bison++. diff --git a/src/misc/readline.hh b/src/misc/readline.hh index 9533344..19b56ec 100644 --- a/src/misc/readline.hh +++ b/src/misc/readline.hh @@ -1,6 +1,6 @@ // // This file is part of Nolimips, a MIPS simulator with unlimited registers -// Copyright (C) 2004 Benoit Perrot benoit@lrde.epita.fr +// Copyright (C) 2004, 2009 Benoit Perrot benoit@lrde.epita.fr // // Nolimips is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -19,6 +19,9 @@
#include "config.h"
+#include <cstdlib> +#include <cstdio> + #ifdef HAVE_READLINE_READLINE_H # include <readline/readline.h> // #ifdef HAVE_READLINE_HISTORY_H diff --git a/src/nolimips.cc b/src/nolimips.cc index 285af4c..2d71d70 100644 --- a/src/nolimips.cc +++ b/src/nolimips.cc @@ -1,6 +1,6 @@ // // This file is part of Nolimips, a MIPS simulator with unlimited registers -// Copyright (C) 2003, 2004 Benoit Perrot benoit@lrde.epita.fr +// Copyright (C) 2003, 2004, 2009 Benoit Perrot benoit@lrde.epita.fr // // Nolimips is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -16,6 +16,9 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // + +#include <cstdlib> + #include <string> #include <iostream>
diff --git a/src/shell/shell.cc b/src/shell/shell.cc index bb3461b..3347b2a 100644 --- a/src/shell/shell.cc +++ b/src/shell/shell.cc @@ -1,6 +1,6 @@ // // This file is part of Nolimips, a MIPS simulator with unlimited registers -// Copyright (C) 2003, 2004, 2006 Benoit Perrot benoit@lrde.epita.fr +// Copyright (C) 2003, 2004, 2006, 2009 Benoit Perrot benoit@lrde.epita.fr // // Nolimips is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -17,12 +17,10 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
-#include <iomanip> - +#include "misc/readline.hh" #include "parse-tasks.hh"
#include "misc/lexutils.hh" -#include "misc/readline.hh"
#include "parse/libparse.hh"
@@ -32,6 +30,13 @@ #include "shell/shell.hh" #include "shell/cmd.hh"
+/* This standard is included _after_ local headers on purpose, to + circumvent incompatibilities between C and C++ headers regarding + the C macro / C++ function `isxdigit' (since g++ 4.3). See e.g. + http://gcc.gnu.org/ml/libstdc++/2003-01/msg00209.html for more + information. */ +#include <iomanip> + namespace shell {
* Makefile.am (EXTRA_DIST): Add gnulib.modules. --- ChangeLog | 6 ++++++ Makefile.am | 1 + 2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 629165d..ab92228 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-11-10 Roland Levillain roland@lrde.epita.fr
+ Distribute gnulib.modules. + + * Makefile.am (EXTRA_DIST): Add gnulib.modules. + +2009-11-10 Roland Levillain roland@lrde.epita.fr + Fix inclusions of standard headers.
* src/nolimips.cc, diff --git a/Makefile.am b/Makefile.am index 7cebc69..4adc784 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,5 +4,6 @@ SUBDIRS = build-aux lib src doc tests distrib
EXTRA_DIST = \ bootstrap \ + gnulib.modules \ dev/nolimips.xml \ dev/nolimips.py
* src/shell/shell.cc (shell::shell_completer) * src/task/task.cc (task::Task::set_value): Hide used arguments. --- ChangeLog | 8 ++++++++ src/shell/shell.cc | 2 +- src/task/task.cc | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog index ab92228..a8e9c74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2009-11-10 Roland Levillain roland@lrde.epita.fr
+ Get rid of warnings about unused arguments. + + * src/shell/shell.cc (shell::shell_completer) + * src/task/task.cc (task::Task::set_value): + Hide used arguments. + +2009-11-10 Roland Levillain roland@lrde.epita.fr + Distribute gnulib.modules.
* Makefile.am (EXTRA_DIST): Add gnulib.modules. diff --git a/src/shell/shell.cc b/src/shell/shell.cc index 3347b2a..dcd9a90 100644 --- a/src/shell/shell.cc +++ b/src/shell/shell.cc @@ -74,7 +74,7 @@ namespace shell }
static char ** - shell_completer(const char *text, int start, int end) + shell_completer(const char *text, int /* start */, int end) { // if (rl_line_buffer[rl_point] && !isblank(rl_line_buffer[rl_point])) // return 0; diff --git a/src/task/task.cc b/src/task/task.cc index 5a08e2c..2822f09 100644 --- a/src/task/task.cc +++ b/src/task/task.cc @@ -1,6 +1,6 @@ // // This file is part of Nolimips, a MIPS simulator with unlimited registers -// Copyright (C) 2003, 2004, 2006 Benoit Perrot benoit@lrde.epita.fr +// Copyright (C) 2003, 2004, 2006, 2009 Benoit Perrot benoit@lrde.epita.fr // // Nolimips is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -66,7 +66,7 @@ namespace task }
bool - Task::set_value(const std::string &value) const + Task::set_value(const std::string & /*value */) const { // Default: fail return false;
* bootstrap (git_checkout): New function. Use it to fetch Gnulib through Git instead of CVS. Pass `--aux-dir=build-aux' to gnulib-tool to help it generate correct paths in lib/Makefile.am. --- ChangeLog | 9 +++++++++ bootstrap | 24 ++++++++++++++++++++---- 2 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog index a8e9c74..0aec647 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2009-11-10 Roland Levillain roland@lrde.epita.fr
+ Update bootstrap w.r.t. Gnulib. + + * bootstrap (git_checkout): New function. + Use it to fetch Gnulib through Git instead of CVS. + Pass `--aux-dir=build-aux' to gnulib-tool to help it generate + correct paths in lib/Makefile.am. + +2009-11-10 Roland Levillain roland@lrde.epita.fr + Get rid of warnings about unused arguments.
* src/shell/shell.cc (shell::shell_completer) diff --git a/bootstrap b/bootstrap index 4a407e2..ee0e3d2 100755 --- a/bootstrap +++ b/bootstrap @@ -2,7 +2,8 @@
# Bootstrap `Nolimips' from repository.
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 Free Software +# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -128,6 +129,19 @@ cvs_checkout() { fi }
+git_checkout() { + if [ ! -d $1 ]; then + echo "$0: Getting $1 files..." + + trap exit 1 2 13 15 + trap 'rm -fr $1; exit 1' 0 + + git clone git://git.savannah.gnu.org/$1 $1 || exit + + trap - 0 + fi +} + gnulib_modules= newline=' ' @@ -144,7 +158,7 @@ get_modules() { # Get gnulib files.
case ${GNULIB_SRCDIR--} in --) cvs_checkout gnulib +-) git_checkout gnulib GNULIB_SRCDIR=gnulib esac
@@ -205,7 +219,8 @@ echo "$0: Creating m4/gnulib.m4" echo "AC_DEFUN([nolimips_GNULIB],[" for gnulib_module in $gnulib_modules; do echo "# $gnulib_module" - $GNULIB_SRCDIR/gnulib-tool --extract-autoconf-snippet $gnulib_module + $GNULIB_SRCDIR/gnulib-tool \ + --aux-dir=build-aux --extract-autoconf-snippet $gnulib_module done | sed '/AM_GNU_GETTEXT/d' echo "])") > ./m4/gnulib.m4
@@ -215,7 +230,8 @@ echo "$0: Creating lib/Makefile.am"
for gnulib_module in $gnulib_modules; do echo "# $gnulib_module" - $GNULIB_SRCDIR/gnulib-tool --extract-automake-snippet $gnulib_module + $GNULIB_SRCDIR/gnulib-tool \ + --aux-dir=build-aux --extract-automake-snippet $gnulib_module done | sed 's/lib_SOURCES/libtar_a_SOURCES/g' ) > lib/Makefile.am
# End of gnulib-related part.