changeset 5285:fe5ee25a5e6c

[project @ 2005-04-19 15:02:49 by jwe]
author jwe
date Tue, 19 Apr 2005 15:02:49 +0000
parents e14d6e159dab
children f7ea9ea38360
files ChangeLog liboctave/Array.cc liboctave/ChangeLog mkoctfile.in src/toplev.cc
diffstat 5 files changed, 36 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Apr 19 14:36:46 2005 +0000
+++ b/ChangeLog	Tue Apr 19 15:02:49 2005 +0000
@@ -1,3 +1,8 @@
+2005-04-14  John W. Eaton  <jwe@octave.org>
+
+	* mkoctfile.in: Only perform link step if we have some object files.
+	If only -v or --version is supplied, print version info and exit.
+
 2005-04-08  John W. Eaton  <jwe@octave.org>
 
 	* octMakefile.in (maintainer-clean distclean):
--- a/liboctave/Array.cc	Tue Apr 19 14:36:46 2005 +0000
+++ b/liboctave/Array.cc	Tue Apr 19 15:02:49 2005 +0000
@@ -2907,6 +2907,13 @@
     {
       lhs.maybe_delete_elements (idx, rfv);
     }
+  else if (n_idx == 0)
+    {
+      (*current_liboctave_error_handler)
+	("invalid number of indices for matrix expression");
+
+      retval = 0;
+    }
   else if (n_idx == 1)
     {
       idx_vector iidx = idx(0);
--- a/liboctave/ChangeLog	Tue Apr 19 14:36:46 2005 +0000
+++ b/liboctave/ChangeLog	Tue Apr 19 15:02:49 2005 +0000
@@ -1,3 +1,7 @@
+2005-04-19  John W. Eaton  <jwe@octave.org>
+
+	* Array.cc (assignN): Don't crash if the index list is empty.
+
 2005-04-14  David Bateman  <dbateman@free.fr>
 
 	* SparseCmplxLU.cc: Add flags for incomplete factorization.
--- a/mkoctfile.in	Tue Apr 19 14:36:46 2005 +0000
+++ b/mkoctfile.in	Tue Apr 19 15:02:49 2005 +0000
@@ -7,6 +7,8 @@
 
 set -e
 
+OCTAVE_VERSION="%OCTAVE_CONF_VERSION%"
+
 # Default values for these variables are filled in when Octave is
 # compiled. 
 
@@ -63,6 +65,8 @@
 
 usage_msg="usage: mkoctfile [options] file ..."
 
+version_msg="mkoctfile, version $OCTAVE_VERSION"
+
 cfiles=
 ccfiles=
 f77files=
@@ -87,6 +91,15 @@
   exit 1
 fi
 
+if [ $# -eq 1 ]; then
+  case "$1" in
+    -v | --version)
+      echo $version_msg 1>&2
+      exit 0
+    ;;
+  esac
+fi
+
 while [ $# -gt 0 ]; do
   file=
   case "$1" in
@@ -404,7 +417,7 @@
 
 # Link all the object files.
 
-if $link; then
+if $link && [ -n "$objfiles" ]; then
   if $link_stand_alone; then
     if [ -n "$LD_CXX" ]; then
       cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS $pass_on_options $output_option $objfiles $ldflags $LFLAGS $RLD_FLAG $OCTAVE_LIBS $BLAS_LIBS $FFTW_LIBS $LIBREADLINE $LIBS $FLIBS"
--- a/src/toplev.cc	Tue Apr 19 14:36:46 2005 +0000
+++ b/src/toplev.cc	Tue Apr 19 15:02:49 2005 +0000
@@ -382,6 +382,8 @@
   return retval;
 }
 
+enum system_exec_type { et_sync, et_async };
+
 DEFUN (system, args, nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} system (@var{string}, @var{return_output}, @var{type})\n\
@@ -436,9 +438,7 @@
 
       std::string cmd_str = args(0).string_value ();
 
-      enum exec_type { sync, async };
-
-      exec_type type = sync;
+      system_exec_type type = et_sync;
 
       if (! error_state)
 	{
@@ -449,9 +449,9 @@
 	      if (! error_state)
 		{
 		  if (type_str == "sync")
-		    type = sync;
+		    type = et_sync;
 		  else if (type_str == "async")
-		    type = async;
+		    type = et_async;
 		  else
 		    error ("system: third arg must be \"sync\" or \"async\"");
 		}
@@ -464,7 +464,7 @@
 
       if (! error_state)
 	{
-	  if (type == async)
+	  if (type == et_async)
 	    {
 #ifdef HAVE_FORK
 	      pid_t pid = fork ();