Mercurial > hg > octave-nkf
changeset 15097:7c7b9ea23a86 classdef
maint: periodic merge of default to classdef
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 03 Aug 2012 18:04:33 -0400 |
parents | 959953dba519 (current diff) 909a2797935b (diff) |
children | 28ffdc42b550 |
files | src/Cell.cc src/Cell.h src/Makefile.am src/c-file-ptr-stream.cc src/c-file-ptr-stream.h src/comment-list.cc src/comment-list.h src/cutils.c src/cutils.h src/defun-dld.h src/defun-int.h src/display.cc src/display.h src/dynamic-ld.cc src/dynamic-ld.h src/gl-render.cc src/gl-render.h src/gl2ps-renderer.cc src/gl2ps-renderer.h src/gl2ps.c src/gl2ps.h src/gripes.cc src/gripes.h src/jit-ir.cc src/jit-ir.h src/jit-typeinfo.cc src/jit-typeinfo.h src/jit-util.cc src/jit-util.h src/ls-ascii-helper.cc src/ls-ascii-helper.h src/ls-hdf5.cc src/ls-hdf5.h src/ls-mat-ascii.cc src/ls-mat-ascii.h src/ls-mat4.cc src/ls-mat4.h src/ls-mat5.cc src/ls-mat5.h src/ls-oct-binary.cc src/ls-oct-binary.h src/ls-utils.cc src/ls-utils.h src/matherr.c src/mex.cc src/mex.h src/mexproto.h src/mxarray.in.h src/oct-errno.h src/oct-errno.in.cc src/oct-fstrm.cc src/oct-fstrm.h src/oct-hdf5.h src/oct-iostrm.cc src/oct-iostrm.h src/oct-lvalue.cc src/oct-lvalue.h src/oct-map.cc src/oct-map.h src/oct-obj.cc src/oct-obj.h src/oct-prcstrm.cc src/oct-prcstrm.h src/oct-procbuf.cc src/oct-procbuf.h src/oct-stdstrm.h src/oct-stream.cc src/oct-stream.h src/oct-strstrm.cc src/oct-strstrm.h src/oct.h src/octave.gperf src/ops.h src/parse-tree/module.mk src/parse-tree/token.cc src/parse-tree/token.h src/procstream.cc src/procstream.h src/pt-jit.cc src/pt-jit.h src/siglist.c src/siglist.h src/sparse-xdiv.cc src/sparse-xdiv.h src/sparse-xpow.cc src/sparse-xpow.h src/token.cc src/token.h src/txt-eng-ft.cc src/txt-eng-ft.h src/txt-eng.h src/unwind-prot.cc src/unwind-prot.h src/xdiv.cc src/xdiv.h src/xgl2ps.c src/xnorm.cc src/xnorm.h src/xpow.cc src/xpow.h src/zfstream.cc src/zfstream.h |
diffstat | 104 files changed, 227 insertions(+), 175 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -# Makefile for octave's src directory +# Makefile for Octave's src directory # # Copyright (C) 1993-2012 John W. Eaton # @@ -24,10 +24,12 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libcruft/misc \ -I../liboctave -I$(top_srcdir)/liboctave \ + -Ioctave-value -I$(srcdir)/octave-value \ + -Iparse-tree -I$(srcdir)/parse-tree \ + -Ioperators -I$(srcdir)/operators \ + -Iinterp-core -I$(srcdir)/interp-core \ -Iinterpfcn -I$(srcdir)/interpfcn \ -Icorefcn \ - -Ioctave-value -I$(srcdir)/octave-value \ - -Iparse-tree -I$(srcdir)/parse-tree \ -I. -I$(srcdir) \ -I../libgnu -I$(top_srcdir)/libgnu \ @CPPFLAGS@ @@ -66,33 +68,33 @@ ## $(DEF_FILES), and building those requires all the sources ## (except builtins.cc) to be available. BUILT_SOURCES = \ - $(BUILT_SOURCES_EXTRA) \ + interp-core/mxarray.h \ + interp-core/oct-errno.cc \ interpfcn/defaults.h \ + interpfcn/graphics-props.cc \ interpfcn/graphics.h \ - interpfcn/graphics-props.cc \ + operators/ops.cc \ parse-tree/lex.cc \ - mxarray.h \ + parse-tree/oct-gperf.h \ + parse-tree/oct-parse.cc \ oct-conf.h \ - oct-errno.cc \ - oct-gperf.h \ - parse-tree/oct-parse.cc \ - ops.cc \ version.h \ + $(BUILT_SOURCES_EXTRA) \ builtins.cc BUILT_DISTFILES = \ - oct-gperf.h \ + parse-tree/oct-gperf.h \ parse-tree/oct-parse.h ## Files that are created during build process and installed, ## BUT not distributed in tarball. BUILT_NODISTFILES = \ + interp-core/mxarray.h \ + interp-core/oct-errno.cc \ interpfcn/defaults.h \ interpfcn/graphics.h \ + operators/ops.cc \ oct-conf.h \ - oct-errno.cc \ - ops.cc \ - mxarray.h \ version.h \ $(OPT_HANDLERS) \ $(OPT_INC) \ @@ -101,13 +103,10 @@ EXTRA_DIST = \ Makefile.in \ - defaults.in.h \ DOCSTRINGS \ find-defun-files.sh \ gendoc.pl \ genprops.awk \ - gl2ps.c \ - graphics.in.h \ mk-errno-list \ mk-pkg-add \ mkbuiltins \ @@ -115,136 +114,36 @@ mkoctfile.in.cc \ mkoctfile.in.sh \ mkops \ - mxarray.in.h \ oct-conf.in.h \ - oct-errno.in.cc \ octave-config.in.cc \ octave-config.in.sh \ - octave.gperf \ version.in.h \ $(BUILT_DISTFILES) -JIT_INCLUDES = \ - jit-util.h \ - jit-typeinfo.h \ - jit-ir.h \ - pt-jit.h - octinclude_HEADERS = \ - Cell.h \ - builtins.h \ - c-file-ptr-stream.h \ - comment-list.h \ - cutils.h \ - defun-dld.h \ - defun-int.h \ - display.h \ - dynamic-ld.h \ - gl-render.h \ - gl2ps.h \ - gl2ps-renderer.h \ interpfcn/graphics-props.cc \ - gripes.h \ - ls-ascii-helper.h \ - ls-hdf5.h \ - ls-mat-ascii.h \ - ls-mat4.h \ - ls-mat5.h \ - ls-oct-binary.h \ - ls-utils.h \ - mex.h \ - mexproto.h \ - oct-errno.h \ - oct-fstrm.h \ - oct-gperf.h \ - oct-hdf5.h \ - oct-iostrm.h \ - oct-lvalue.h \ - oct-map.h \ - oct-obj.h \ - oct-prcstrm.h \ - oct-procbuf.h \ - oct-stdstrm.h \ - oct-stream.h \ - oct-strstrm.h \ - oct.h \ + parse-tree/oct-gperf.h \ + builtins.h \ octave.h \ - ops.h \ - procstream.h \ - siglist.h \ - sparse-xdiv.h \ - sparse-xpow.h \ - token.h \ - txt-eng-ft.h \ - txt-eng.h \ - unwind-prot.h \ - xdiv.h \ - xnorm.h \ - xpow.h \ - zfstream.h \ $(OV_INCLUDES) \ $(OV_SPARSE_INCLUDES) \ $(PT_INCLUDES) \ - $(INTERPFCN_INCLUDES) \ - $(JIT_INCLUDES) + $(OPERATOR_INCLUDES) \ + $(INTERP_CORE_INCLUDES) \ + $(INTERPFCN_INCLUDES) nodist_octinclude_HEADERS = \ + interp-core/mxarray.h \ interpfcn/defaults.h \ interpfcn/graphics.h \ oct-conf.h \ - mxarray.h \ version.h -JIT_SRC = \ - jit-util.cc \ - jit-typeinfo.cc \ - jit-ir.cc \ - pt-jit.cc - DIST_SRC = \ - Cell.cc \ - c-file-ptr-stream.cc \ - comment-list.cc \ - cutils.c \ - display.cc \ - dynamic-ld.cc \ - gl-render.cc \ - gl2ps-renderer.cc \ - gripes.cc \ - ls-ascii-helper.cc \ - ls-hdf5.cc \ - ls-mat-ascii.cc \ - ls-mat4.cc \ - ls-mat5.cc \ - ls-oct-binary.cc \ - ls-utils.cc \ - matherr.c \ - mex.cc \ - oct-fstrm.cc \ - oct-iostrm.cc \ - oct-lvalue.cc \ - oct-map.cc \ - oct-obj.cc \ - oct-prcstrm.cc \ - oct-procbuf.cc \ - oct-stream.cc \ - oct-strstrm.cc \ octave.cc \ - procstream.cc \ - siglist.c \ - sparse-xdiv.cc \ - sparse-xpow.cc \ - token.cc \ - txt-eng-ft.cc \ - unwind-prot.cc \ - xdiv.cc \ - xgl2ps.c \ - xnorm.cc \ - xpow.cc \ - zfstream.cc \ $(OCTAVE_VALUE_SRC) \ $(PARSE_TREE_SRC) \ - $(JIT_SRC) \ + $(INTERP_CORE_SRC) \ $(INTERPFCN_SRC) \ $(COREFCN_SRC) @@ -254,6 +153,7 @@ include octave-value/module.mk include operators/module.mk include template-inst/module.mk +include interp-core/module.mk include interpfcn/module.mk include corefcn/module.mk include dldfcn/module.mk @@ -277,13 +177,13 @@ $(TEMPLATE_INST_SRC) nodist_liboctinterp_la_SOURCES = \ - builtins.cc \ + interp-core/mxarray.h \ + interp-core/oct-errno.cc \ interpfcn/defaults.h \ interpfcn/graphics.h \ - mxarray.h \ + operators/ops.cc \ + builtins.cc \ oct-conf.h \ - oct-errno.cc \ - ops.cc \ version.h \ $(OPT_INC) @@ -309,8 +209,6 @@ -bindir $(bindir) \ $(LIBOCTINTERP_LINK_OPTS) -display.df display.lo: CPPFLAGS += $(X11_FLAGS) - ## FIXME: Does this rule need to be uncommented? #fft.df fft.lo fft2.df fft2.lo fftn.df fftn.lo: CPPFLAGS += $(FFTW_XCPPFLAGS) @@ -358,27 +256,12 @@ ## Special rules: ## Mostly for sources which must be built before rest of compilation. -## defaults.h and oct-conf.h must depend on Makefile. Calling configure +## oct-conf.h must depend on Makefile. Calling configure ## may change default/config values. However, calling configure will also ## regenerate the Makefiles from Makefile.am and trigger the rules below. oct-conf.h: oct-conf.in.h Makefile @$(do_subst_config_vals) -## Don't use a pipeline to process gperf output since if gperf -## is missing but sed is not, the exit status of the pipeline -## will still be success and we will end up creating an empty -## oct-gperf.h file. -oct-gperf.h: octave.gperf - $(GPERF) -t -C -D -G -L C++ -Z octave_kw_hash $< > $@-t1 - $(SED) 's,lookup\[,gperf_lookup[,' < $@-t1 > $@-t - mv $@-t $@ - rm -f $@-t1 - -mxarray.h: mxarray.in.h Makefile - $(SED) < $< \ - -e "s|%OCTAVE_IDX_TYPE%|${OCTAVE_IDX_TYPE}|" > $@-t - mv $@-t $@ - version.h: version.in.h Makefile $(SED) < $< \ -e "s|%OCTAVE_API_VERSION_NUMBER%|${OCTAVE_API_VERSION_NUMBER}|" \ @@ -392,20 +275,6 @@ $(srcdir)/mkbuiltins $(DEF_FILES) > $@-t mv $@-t $@ -ops.cc: $(OPERATORS_SRC) mkops - $(srcdir)/mkops $(OPERATORS_SRC) > $@-t - mv $@-t $@ - -oct-errno.cc: oct-errno.in.cc Makefile - if test -n "$(PERL)"; then \ - $(srcdir)/mk-errno-list --perl "$(PERL)" < $< > $@-t; \ - elif test -n "$(PYTHON)"; then \ - $(srcdir)/mk-errno-list --python "$(PYTHON)" < $< > $@-t; \ - else \ - $(SED) '/@SYSDEP_ERRNO_LIST@/D' $< > $@-t; \ - fi - mv $@-t $@ - if AMCOND_ENABLE_DYNAMIC_LINKING DLDFCN_PKG_ADD_FILE = dldfcn/PKG_ADD @@ -414,12 +283,6 @@ mv $@-t $@ endif -__fltk_uigetfile__.lo __fltk_uigetfile__.o: \ - AM_CXXFLAGS := $(filter-out $(DLL_CXXDEFS), $(AM_CXXFLAGS) $(GRAPHICS_CFLAGS)) - -__init_fltk__.lo __init_fltk__.o: \ - AM_CXXFLAGS := $(filter-out $(DLL_CXXDEFS), $(AM_CXXFLAGS) $(GRAPHICS_CFLAGS)) - if AMCOND_BUILD_DOCS .DOCSTRINGS: $(ALL_DEF_FILES) gendoc.pl if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/DOCSTRINGS ] && [ ! -f DOCSTRINGS ]; then \
rename from src/jit-typeinfo.cc rename to src/interp-core/jit-typeinfo.cc --- a/src/jit-typeinfo.cc +++ b/src/interp-core/jit-typeinfo.cc @@ -1162,7 +1162,7 @@ llvm::BasicBlock *normal_block = fn.new_block ("normal"); llvm::Value *zero = llvm::ConstantFP::get (scalar_t, 0); - llvm::Value *check = builder.CreateFCmpUEQ (zero, fn.argument (builder, 0)); + llvm::Value *check = builder.CreateFCmpUEQ (zero, fn.argument (builder, 1)); builder.CreateCondBr (check, warn_block, normal_block); builder.SetInsertPoint (warn_block);
new file mode 100644 --- /dev/null +++ b/src/interp-core/module.mk @@ -0,0 +1,138 @@ +EXTRA_DIST += \ + interp-core/module.mk \ + interp-core/gl2ps.c \ + interp-core/mxarray.in.h \ + interp-core/oct-errno.in.cc + +JIT_INCLUDES = \ + interp-core/jit-util.h \ + interp-core/jit-typeinfo.h \ + interp-core/jit-ir.h \ + interp-core/pt-jit.h + +INTERP_CORE_INCLUDES = \ + interp-core/Cell.h \ + interp-core/c-file-ptr-stream.h \ + interp-core/comment-list.h \ + interp-core/cutils.h \ + interp-core/defun-dld.h \ + interp-core/defun-int.h \ + interp-core/display.h \ + interp-core/dynamic-ld.h \ + interp-core/gl-render.h \ + interp-core/gl2ps-renderer.h \ + interp-core/gl2ps.h \ + interp-core/gripes.h \ + interp-core/jit-ir.h \ + interp-core/jit-typeinfo.h \ + interp-core/jit-util.h \ + interp-core/ls-ascii-helper.h \ + interp-core/ls-hdf5.h \ + interp-core/ls-mat-ascii.h \ + interp-core/ls-mat4.h \ + interp-core/ls-mat5.h \ + interp-core/ls-oct-binary.h \ + interp-core/ls-utils.h \ + interp-core/mex.h \ + interp-core/mexproto.h \ + interp-core/mxarray.in.h \ + interp-core/oct-errno.h \ + interp-core/oct-fstrm.h \ + interp-core/oct-hdf5.h \ + interp-core/oct-iostrm.h \ + interp-core/oct-lvalue.h \ + interp-core/oct-map.h \ + interp-core/oct-obj.h \ + interp-core/oct-prcstrm.h \ + interp-core/oct-procbuf.h \ + interp-core/oct-stdstrm.h \ + interp-core/oct-stream.h \ + interp-core/oct-strstrm.h \ + interp-core/oct.h \ + interp-core/procstream.h \ + interp-core/pt-jit.h \ + interp-core/siglist.h \ + interp-core/sparse-xdiv.h \ + interp-core/sparse-xpow.h \ + interp-core/txt-eng-ft.h \ + interp-core/txt-eng.h \ + interp-core/unwind-prot.h \ + interp-core/xdiv.h \ + interp-core/xnorm.h \ + interp-core/xpow.h \ + interp-core/zfstream.h \ + $(JIT_INCLUDES) + +JIT_SRC = \ + interp-core/jit-util.cc \ + interp-core/jit-typeinfo.cc \ + interp-core/jit-ir.cc \ + interp-core/pt-jit.cc + +C_INTERP_CORE_SRC = \ + interp-core/cutils.c \ + interp-core/matherr.c \ + interp-core/siglist.c \ + interp-core/xgl2ps.c + +INTERP_CORE_SRC = \ + interp-core/Cell.cc \ + interp-core/c-file-ptr-stream.cc \ + interp-core/comment-list.cc \ + interp-core/display.cc \ + interp-core/dynamic-ld.cc \ + interp-core/gl-render.cc \ + interp-core/gl2ps-renderer.cc \ + interp-core/gripes.cc \ + interp-core/jit-ir.cc \ + interp-core/jit-typeinfo.cc \ + interp-core/jit-util.cc \ + interp-core/ls-ascii-helper.cc \ + interp-core/ls-hdf5.cc \ + interp-core/ls-mat-ascii.cc \ + interp-core/ls-mat4.cc \ + interp-core/ls-mat5.cc \ + interp-core/ls-oct-binary.cc \ + interp-core/ls-utils.cc \ + interp-core/mex.cc \ + interp-core/oct-fstrm.cc \ + interp-core/oct-iostrm.cc \ + interp-core/oct-lvalue.cc \ + interp-core/oct-map.cc \ + interp-core/oct-obj.cc \ + interp-core/oct-prcstrm.cc \ + interp-core/oct-procbuf.cc \ + interp-core/oct-stream.cc \ + interp-core/oct-strstrm.cc \ + interp-core/procstream.cc \ + interp-core/pt-jit.cc \ + interp-core/sparse-xdiv.cc \ + interp-core/sparse-xpow.cc \ + interp-core/txt-eng-ft.cc \ + interp-core/unwind-prot.cc \ + interp-core/xdiv.cc \ + interp-core/xnorm.cc \ + interp-core/xpow.cc \ + interp-core/zfstream.cc \ + $(JIT_SRC) \ + $(C_INTERP_CORE_SRC) + +## FIXME: I don't believe this rule actually fires +display.df display.lo: CPPFLAGS += $(X11_FLAGS) + +## Special rules for sources which must be built before rest of compilation. +interp-core/oct-errno.cc: interp-core/oct-errno.in.cc Makefile + if test -n "$(PERL)"; then \ + $(srcdir)/mk-errno-list --perl "$(PERL)" < $< > $@-t; \ + elif test -n "$(PYTHON)"; then \ + $(srcdir)/mk-errno-list --python "$(PYTHON)" < $< > $@-t; \ + else \ + $(SED) '/@SYSDEP_ERRNO_LIST@/D' $< > $@-t; \ + fi + mv $@-t $@ + +interp-core/mxarray.h: interp-core/mxarray.in.h Makefile + $(SED) < $< \ + -e "s|%OCTAVE_IDX_TYPE%|${OCTAVE_IDX_TYPE}|" > $@-t + mv $@-t $@ +
rename from src/oct-errno.in.cc rename to src/interp-core/oct-errno.in.cc --- a/src/oct-errno.in.cc +++ b/src/interp-core/oct-errno.in.cc @@ -1,4 +1,4 @@ -// oct-errno.cc.in +// DO NOT EDIT! Generated automatically from oct-errno.in.cc by configure /* Copyright (C) 2005-2012 John W. Eaton
rename from src/pt-jit.cc rename to src/interp-core/pt-jit.cc --- a/src/pt-jit.cc +++ b/src/interp-core/pt-jit.cc @@ -1904,4 +1904,27 @@ %! assert (all (m == expected)); %! assert (result == sum (expected (:))); +%!function test_divide () +%! state = warning ("query", "Octave:divide-by-zero").state; +%! unwind_protect +%! warning ("error", "Octave:divide-by-zero"); +%! for i=1:1e5 +%! a = 1; +%! a / 0; +%! endfor +%! unwind_protect_cleanup +%! warning (state, "Octave:divide-by-zero"); +%! end_unwind_protect +%!endfunction + +%!error <division by zero> test_divide () + +%!test +%! while 1 +%! a = 0; +%! result = a / 1; +%! break; +%! endwhile +%! assert (result, 0); + */
--- a/src/interpfcn/data.cc +++ b/src/interpfcn/data.cc @@ -38,10 +38,7 @@ #include <ctime> #include <string> -extern "C" -{ #include <base64.h> -} #include "lo-ieee.h" #include "lo-math.h"
--- a/src/interpfcn/module.mk +++ b/src/interpfcn/module.mk @@ -1,5 +1,7 @@ EXTRA_DIST += \ - interpfcn/module.mk + interpfcn/module.mk \ + interpfcn/defaults.in.h \ + interpfcn/graphics.in.h INTERPFCN_INCLUDES = \ interpfcn/data.h \ @@ -63,3 +65,9 @@ $(AWK) -v emit_graphics_props=1 -f $(srcdir)/genprops.awk $< > $@-t mv $@-t $@ +## FIXME: Do these rules work correctly after transplant to interpfcn/ dir? +__fltk_uigetfile__.lo __fltk_uigetfile__.o: \ + AM_CXXFLAGS := $(filter-out $(DLL_CXXDEFS), $(AM_CXXFLAGS) $(GRAPHICS_CFLAGS)) + +__init_fltk__.lo __init_fltk__.o: \ + AM_CXXFLAGS := $(filter-out $(DLL_CXXDEFS), $(AM_CXXFLAGS) $(GRAPHICS_CFLAGS))
--- a/src/operators/module.mk +++ b/src/operators/module.mk @@ -129,8 +129,16 @@ operators/op-ui64-ui64.cc \ operators/op-ui8-ui8.cc -octinclude_HEADERS += \ +## These look like included header files to Autotools build process +OPERATOR_INCLUDES = \ operators/op-dm-template.cc \ operators/op-dms-template.cc \ operators/op-int.h \ - operators/op-pm-template.cc + operators/op-pm-template.cc \ + operators/ops.h + +## Special rules for sources which must be built before rest of compilation. +operators/ops.cc: $(OPERATORS_SRC) mkops + $(srcdir)/mkops $(OPERATORS_SRC) > $@-t + mv $@-t $@ +
--- a/src/parse-tree/module.mk +++ b/src/parse-tree/module.mk @@ -1,5 +1,6 @@ EXTRA_DIST += \ - parse-tree/module.mk + parse-tree/module.mk \ + parse-tree/octave.gperf PARSER_INCLUDES = \ parse-tree/lex.h \ @@ -44,6 +45,7 @@ parse-tree/pt-unop.h \ parse-tree/pt-walk.h \ parse-tree/pt.h \ + parse-tree/token.h \ $(PARSER_INCLUDES) PARSE_TREE_SRC = \ @@ -75,5 +77,18 @@ parse-tree/pt-stmt.cc \ parse-tree/pt-unop.cc \ parse-tree/pt.cc \ + parse-tree/token.cc \ $(PARSER_SRC) +## Special rules for sources which must be built before rest of compilation. + +## Don't use a pipeline to process gperf output since if gperf +## is missing but sed is not, the exit status of the pipeline +## will still be success and we will end up creating an empty +## oct-gperf.h file. +parse-tree/oct-gperf.h: parse-tree/octave.gperf + $(GPERF) -t -C -D -G -L C++ -Z octave_kw_hash $< > $@-t1 + $(SED) 's,lookup\[,gperf_lookup[,' < $@-t1 > $@-t + mv $@-t $@ + rm -f $@-t1 +