octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Reducing some warnings at compilation (no sparse matrix support)


From: Thomas Treichl
Subject: Reducing some warnings at compilation (no sparse matrix support)
Date: Sat, 14 Oct 2006 17:24:32 +0200
User-agent: Thunderbird 1.5.0.7 (Windows/20060909)

Hi,

today I've an -not really necessary- but -nice to have- feature request, i.e. when I compile octave-2.9.9 using gcc (GCC) 3.3.5 (Debian 1:3.3.5-13) I get a lot of "unused variables" warnings because I don't have the colamd things (sparse matrix support) enabled. Turning warnings off at compilation is not the way I want to handle this because I read that octave-2.9.9ff should replace octave-2.1.73 in the near future and that octave-3.xx is near.

I donloaded the latest CVS Saturday address@hidden:00GMT. I did,

  bash1: ./autogen.sh
  bash1: ./configure --prefix=/usr/local
  bash1: make 1>mesg.txt 2>warn.txt

  (bash2: tail -f mesg.txt
   bash3: tail -f warn.txt)

After that I changed the octave-2.9.9 code and I tried to reduce the number of warnings. A typical example can be found in sparse-dmsolve.cc,

  template <class RT, class ST, class T>
  RT dmsolve (const ST &a, const T &b, octave_idx_type &info)
  {
  #ifdef HAVE_CXSPARSE
    octave_idx_type nr = a.rows ();
    octave_idx_type nc = a.cols ();
    octave_idx_type b_nr = b.rows ();
    octave_idx_type b_nc = b.cols ();
    RT retval;

where I get the following warnings at compilation

  sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&,
    octave_idx_type&) [with RT = ComplexMatrix, ST =
    SparseComplexMatrix, T = Matrix]':
  CSparse.cc:6815: instantiated from here
  sparse-dmsolve.cc:365: warning: unused parameter `const
    SparseComplexMatrix&a'
  sparse-dmsolve.cc:365: warning: unused parameter `const Matrix&b'
  sparse-dmsolve.cc:365: warning: unused parameter
    `octave_idx_type&info'

So I started to change the code the following way

  template <class RT, class ST, class T>
  RT dmsolve (const ST &a, const T &b, octave_idx_type &info)
  {
    octave_idx_type nr = a.rows ();
    octave_idx_type nc = a.cols ();
    octave_idx_type b_nr = b.rows ();
    octave_idx_type b_nc = b.cols ();
    RT retval;
  #ifdef HAVE_CXSPARSE

but this resulted in further "unused variable" messages

  sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&,
    octave_idx_type&) [with RT = ComplexMatrix, ST =
    SparseComplexMatrix, T = ComplexMatrix]':
  sparse-dmsolve.cc:367: warning: unused variable `octave_idx_type nr'
  sparse-dmsolve.cc:368: warning: unused variable `octave_idx_type nc'
  sparse-dmsolve.cc:369: warning: unused variable `octave_idx_type b_nr'
  sparse-dmsolve.cc:370: warning: unused variable `octave_idx_type b_nc'
  sparse-dmsolve.cc:365: warning: unused parameter
    `octave_idx_type&info'

So I once again changed the code to make this variables be "used" and to not see an compilation warnings message any more.

  template <class RT, class ST, class T>
  RT dmsolve (const ST &a, const T &b, octave_idx_type &info)
  {
    // Can init be intialized to reduce a warnings message?
    octave_idx_type nr;
    octave_idx_type nc;
    octave_idx_type b_nr;
    octave_idx_type b_nc;
    nr = a.rows ();
    nc = a.cols ();
    b_nr = b.rows ();
    b_nc = b.cols ();
    RT retval;
  #ifdef HAVE_CXSPARSE

This seems to be a very long and a very hard way, so I was asking JWE for help and he told me to better do the following:

> In any case, I think a better way to handle this problem is to mark
> the parameters to the functions as unused with an attribute.  Octave's
> config.h file already includes the definitions
>
>  #if defined (__GNUC__)
>  #define GCC_ATTR_DEPRECATED __attribute__ ((__deprecated__))
>  #define GCC_ATTR_NORETURN __attribute__ ((__noreturn__))
>  #define GCC_ATTR_UNUSED __attribute__ ((__unused__))
>  #else
>  #define GCC_ATTR_DEPRECATED
>  #define GCC_ATTR_NORETURN
>  #define GCC_ATTR_UNUSED
>  #endif
>
> so we can use GCC_ATTR_UNUSED and it should not cause trouble for
> other compilers.  Using the attribute will definitely turn of the
> warning, even if GCC becomes smarter about detecting variables that
> are not really used even though there is an assignment to another
> local variable.  It doesn't seem to be a problem to mark a
> variable as unused and then actually use it, so it looks like we can
> always use the attribute, even if the variable really is used (i.e.,
> it just controls the warning and doesn't do something like eliminate
> storage for the variable from the code).
>
> To use the macro, write something like
>
> SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep
>   (GCC_ATTR_UNUSED const SparseComplexMatrix& a,
>     GCC_ATTR_UNUSED int order)
>
> instead of
>
> SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep
>   (const SparseComplexMatrix& a, int order)

I created an example DLD-function that I attached to this email as warntest.cc. Have a closer look to it when compiling (have a look at which warning messages are displayed). I did (like I do if compiling octave),

  bash: mkoctfile-2.9.9 -Wall -W -Wshadow -Wold-style-cast warntest.cc

and this resulted in

  warntest.cc: In function `void myfun1(octave_value_list,
    octave_value_list)':
  warntest.cc:7: warning: unused variable `octave_idx_type c'
  warntest.cc:6: warning: unused parameter `octave_value_list a'
  warntest.cc:6: warning: unused parameter `octave_value_list b'
  warntest.cc: In function `octave_value_list Fwarntest(const
    octave_value_list&, int)':
  warntest.cc:35: warning: unused variable `int nargin'
  warntest.cc:33: warning: unused parameter `int nargout'

Have a look that in lines 14 and 16 no warnings are displayed anymore, and that the function is doing the right thing. I did,

  octave-2.9.9:1> warntest ([1 2 3])
  Hallo world 3
  3
  3

so "used" input arguments are handled the right way when using the #define GCC_ATTR_UNUSED (further the "unused nargin and nargout variable warning" can also be eliminated with GCC_ATTR_UNUSED).

I changed the octave-2.9.9 code again, but I didn't change all warnings in my list. I only changed the codes from the COLAMD things (and some uninitialized pointer declarations) because I'm not familiar with other warnings messages (e.g. the "old-style cast", "comparison is always false" etc.). I marked my changes in the warn.txt file with "--C-->", all other code warnings are untouched! A configure and warnings is attached to this email.

I once again tried to reduce my warnings when compiling octave-2.9.9. I added a patch as warndiff.patch to this email, it would be great if this could be added to the CVS, just remember -not really necessary- but -nice to have- ;o)

Thanks a lot,
Thomas

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for AIX... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for library containing strerror... none required
defining man1dir to be $(mandir)/man1
defining man1ext to be .1
defining infofile to be $(infodir)/octave.info
defining octincludedir to be $(includedir)/octave-$(version)
defining fcnfiledir to be $(datadir)/octave/$(version)/m
defining localfcnfiledir to be $(datadir)/octave/site/m
defining localapifcnfiledir to be $(datadir)/octave/site/$(api_version)/m
defining localverfcnfiledir to be $(datadir)/octave/$(version)/site/m
defining octlibdir to be $(libdir)/octave-$(version)
defining archlibdir to be 
$(libexecdir)/octave/$(version)/exec/$(canonical_host_type)
defining localarchlibdir to be 
$(libexecdir)/octave/site/exec/$(canonical_host_type)
defining localapiarchlibdir to be 
$(libexecdir)/octave/$(api_version)/site/exec/$(canonical_host_type)
defining localverarchlibdir to be 
$(libexecdir)/octave/$(version)/site/exec/$(canonical_host_type)
defining octfiledir to be 
$(libexecdir)/octave/$(version)/oct/$(canonical_host_type)
defining localoctfiledir to be 
$(libexecdir)/octave/site/oct/$(canonical_host_type)
defining localapioctfiledir to be 
$(libexecdir)/octave/site/oct/$(api_version)/$(canonical_host_type)
defining localveroctfiledir to be 
$(libexecdir)/octave/$(version)/site/oct/$(canonical_host_type)
defining imagedir to be $(datadir)/octave/$(version)/imagelib
configure: defining __NO_MATH_INLINES avoids buggy GNU libc exp function
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for C++ support for new friend template declaration... yes
checking if C++ library is ISO compliant... yes
checking for broken C++ reinterpret_cast... yes
checking for nm... nm
checking C++ ABI version used by g++... gnu_v3
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking whether gcc needs -traditional... no
checking whether gcc accepts -mieee-fp... yes
configure: adding -mieee-fp to XTRA_CFLAGS
checking whether g++ accepts -mieee-fp... yes
configure: adding -mieee-fp to XTRA_CXXFLAGS
checking whether g++ prepends an underscore to external names... no
checking for sin in -lm... yes
checking pcre.h usability... no
checking pcre.h presence... no
checking for pcre.h... no
checking for pcre-config... no
checking for regexec... yes
checking for regexec... (cached) yes
checking for gzclearerr in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for H5Pcreate in -lhdf5... yes
checking hdf5.h usability... yes
checking hdf5.h presence... yes
checking for hdf5.h... yes
checking for H5Gget_num_objs in -lhdf5... yes
checking fftw3.h usability... yes
checking fftw3.h presence... yes
checking for fftw3.h... yes
checking for fftw_plan_dft_1d in -lfftw3... yes
checking for glp_lpx_simplex in -lglpk... no
checking for curl_global_init in -lcurl... no
checking for IEEE 754 data format... yes
checking for ranlib... ranlib
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking how to get verbose linking output from g77... -v
checking for Fortran libraries of g77...  -L/usr/lib/gcc-lib/i486-linux/3.3.5 
-L/usr/lib/gcc-lib/i486-linux/3.3.5/../../.. -lhdf5 -lz -lfrtbegin -lg2c -lm 
-lgcc_s
checking for dummy main to link with Fortran libraries... none
checking for Fortran name-mangling scheme... lower case, underscore, extra 
underscore
checking whether g77 accepts -mieee-fp... yes
adding -mieee-fp to FFLAGS
configure: defining FFLAGS to be -O -mieee-fp
checking whether g77 accepts -ffloat-store... yes
setting F77_FLOAT_STORE_FLAG to -ffloat-store
checking for sgemm_... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -framework vecLib... no
checking for sgemm_ in -lblas... no
checking for sgemm_ in -lcxml... no
checking for sgemm_ in -ldxml... no
checking for sgemm_ in -lscs... no
checking for sgemm_ in -lcomplib.sgimath... no
checking for sgemm_ in -lblas... (cached) no
checking for sgemm_ in -lblas... (cached) no
checking for amd_postorder in -lamd... yes
checking for camd_postorder in -lcamd... no
checking ufsparse/umfpack.h usability... no
checking ufsparse/umfpack.h presence... no
checking for ufsparse/umfpack.h... no
checking umfpack/umfpack.h usability... yes
checking umfpack/umfpack.h presence... yes
checking for umfpack/umfpack.h... yes
checking for umfpack_zi_get_determinant in -lumfpack... yes
checking for UMFPACK seperate complex matrix and rhs split... no
checking ufsparse/colamd.h usability... no
checking ufsparse/colamd.h presence... no
checking for ufsparse/colamd.h... no
checking colamd/colamd.h usability... no
checking colamd/colamd.h presence... no
checking for colamd/colamd.h... no
checking colamd.h usability... no
checking colamd.h presence... no
checking for colamd.h... no
checking ufsparse/ccolamd.h usability... no
checking ufsparse/ccolamd.h presence... no
checking for ufsparse/ccolamd.h... no
checking ccolamd/ccolamd.h usability... no
checking ccolamd/ccolamd.h presence... no
checking for ccolamd/ccolamd.h... no
checking ccolamd.h usability... no
checking ccolamd.h presence... no
checking for ccolamd.h... no
checking ufsparse/cs.h usability... no
checking ufsparse/cs.h presence... no
checking for ufsparse/cs.h... no
checking cxsparse/cs.h usability... no
checking cxsparse/cs.h presence... no
checking for cxsparse/cs.h... no
checking cs.h usability... no
checking cs.h presence... no
checking for cs.h... no
configure: defining FPICFLAG to be -fPIC
configure: defining CPICFLAG to be -fPIC
configure: defining CXXPICFLAG to be -fPIC
configure: defining SHLEXT to be so
configure: defining SHLLIB to be $(SHLEXT)
configure: defining SHLBIN to be 
configure: defining SHLEXT_VER to be $(SHLEXT).$(version)
configure: defining SHLLIB_VER to be $(SHLLIB).$(version)
configure: defining SHLBIN_VER to be $(SHLBIN).$(version)
configure: defining SHLLINKEXT to be 
configure: defining LIBPRE to be lib
configure: defining DLFCN_DIR to be 
configure: defining SH_LD to be $(CXX)
configure: defining SH_LDFLAGS to be -shared
configure: defining DL_LD to be $(SH_LD)
configure: defining DL_LDFLAGS to be $(SH_LDFLAGS)
configure: defining MKOCTFILE_DL_LDFLAGS to be -shared -Wl,-Bsymbolic
configure: defining SONAME_FLAGS to be -Wl,-soname -Wl,$@
configure: defining NO_OCT_FILE_STRIP to be false
configure: defining RLD_FLAG to be -Wl,-rpath -Wl,$(octlibdir)
configure: defining TEMPLATE_AR to be $(AR)
configure: defining TEMPLATE_ARFLAGS to be rc
configure: defining library_path_var to be LD_LIBRARY_PATH
checking for gethostname... yes
checking for getpwnam... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for dev_t... yes
checking for ino_t... yes
checking for nlink_t... yes
checking for nlink_t... (cached) yes
checking for long long int... yes
checking for unsigned long long int... yes
checking for sigset_t... yes
checking for sig_atomic_t... yes
checking for short... yes
checking size of short... 2
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for long long... yes
checking size of long long... 8
checking for working alloca.h... yes
checking for alloca... yes
checking for an ANSI C-conforming const... yes
checking whether including <string> defines NPOS... no
checking whether <new> defines placement delete operator... yes
checking whether C++ supports dynamic auto arrays... yes
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether time.h and sys/time.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking floatingpoint.h usability... no
checking floatingpoint.h presence... no
checking for floatingpoint.h... no
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking for inttypes.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for memory.h... (cached) yes
checking nan.h usability... no
checking nan.h presence... no
checking for nan.h... no
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/stat.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking for sys/types.h... (cached) yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking termcap.h usability... yes
checking termcap.h presence... yes
checking for termcap.h... yes
checking for unistd.h... (cached) yes
checking varargs.h usability... no
checking varargs.h presence... no
checking for varargs.h... no
checking sstream usability... yes
checking sstream presence... yes
checking for sstream... yes
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking sgtty.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking glob.h usability... yes
checking glob.h presence... yes
checking for glob.h... yes
checking fnmatch.h usability... yes
checking fnmatch.h presence... yes
checking for fnmatch.h... yes
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking for fnmatch... yes
checking for glob... yes
checking for atexit... yes
checking for basename... yes
checking for bcopy... yes
checking for bzero... yes
checking for canonicalize_file_name... yes
checking for dup2... yes
checking for endgrent... yes
checking for endpwent... yes
checking for execvp... yes
checking for fcntl... yes
checking for fork... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getgrent... yes
checking for getgrgid... yes
checking for getgrnam... yes
checking for getpgrp... yes
checking for getpid... yes
checking for getppid... yes
checking for getpwent... yes
checking for getpwuid... yes
checking for gettimeofday... yes
checking for getuid... yes
checking for getwd... yes
checking for _kbhit... no
checking for kill... yes
checking for link... yes
checking for localtime_r... yes
checking for lstat... yes
checking for memmove... yes
checking for mkdir... yes
checking for mkfifo... yes
checking for mkstemp... yes
checking for on_exit... yes
checking for pipe... yes
checking for poll... yes
checking for putenv... yes
checking for raise... yes
checking for readlink... yes
checking for rename... yes
checking for resolvepath... no
checking for rindex... yes
checking for rmdir... yes
checking for round... yes
checking for select... yes
checking for setgrent... yes
checking for setlocale... yes
checking for setpwent... yes
checking for setvbuf... yes
checking for sigaction... yes
checking for siglongjmp... yes
checking for sigpending... yes
checking for sigprocmask... yes
checking for sigsuspend... yes
checking for stat... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strerror... yes
checking for strftime... yes
checking for stricmp... no
checking for strncasecmp... yes
checking for strnicmp... no
checking for strptime... yes
checking for strsignal... yes
checking for symlink... yes
checking for tempnam... yes
checking for umask... yes
checking for uname... yes
checking for unlink... yes
checking for usleep... yes
checking for vfprintf... yes
checking for vsprintf... yes
checking for vsnprintf... yes
checking for waitpid... yes
checking whether putenv uses malloc... no
checking mach-o/dyld.h usability... no
checking mach-o/dyld.h presence... no
checking for mach-o/dyld.h... no
checking for shl_load in -ldld... no
checking for shl_load... no
checking for shl_findsym... no
checking for LoadLibrary in -lwsock32... no
checking for LoadLibrary... no
checking for dlopen in -ldl... yes
checking for dlopen... yes
checking for dlsym... yes
checking for dlerror... yes
checking for dlclose... yes
checking whether g++ accepts -rdynamic... yes
checking for struct timeval... yes
checking whether gettimeofday can't accept two arguments... no
checking for finite... yes
checking for isnan... yes
checking for isinf... yes
checking for copysign... yes
checking for signbit... no
checking whether signbit is declared... yes
checking for acosh... yes
checking for asinh... yes
checking for atanh... yes
checking for erf... yes
checking for erfc... yes
checking for exp2... yes
checking for log2... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct stat.st_rdev... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking whether closedir returns void... no
checking for struct group.gr_passwd... no
checking if mkdir takes one argument... no
checking for tputs in -lncurses... yes
checking for rl_set_keyboard_input_timeout in -lreadline... yes
checking for struct exception in math.h... yes
checking return type of signal handlers... void
checking whether sys_siglist is declared... yes
checking for type of signal functions... posix
checking if signal handlers must be reinstalled when invoked... no
checking for getrusage... yes
checking for times... yes
checking for gawk... gawk
checking for a sed that does not truncate output... /bin/sed
checking for perl... perl
checking for python... python
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
defining LFLAGS to be -t -I
checking for bison... bison -y
checking whether ln -s works... yes
checking for nm... (cached) nm
checking for a BSD-compatible install... /usr/bin/install -c
checking for desktop-file-install... desktop-file-install
checking for gnuplot... gnuplot
checking to see if your gnuplot supports multiplot... yes
checking to see if your gnuplot supports multiple plot windows... yes
checking for less... less
checking for gperf... gperf
checking for gs... gs
checking for makeinfo... makeinfo
checking for texi2dvi... texi2dvi
checking for texi2pdf... texi2pdf
configure: defining UGLY_DEFS to be -DPACKAGE_NAME=\\\\\"\\\\\" 
-DPACKAGE_TARNAME=\\\\\"\\\\\" -DPACKAGE_VERSION=\\\\\"\\\\\" 
-DPACKAGE_STRING=\\\\\"\\\\\" -DPACKAGE_BUGREPORT=\\\\\"\\\\\" 
-DOCTAVE_SOURCE=1 -D_GNU_SOURCE=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DSEPCHAR=\':\' -DSEPCHAR_STR=\\\\\":\\\\\" -D__NO_MATH_INLINES=1 
-DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DCXX_ISO_COMPLIANT_LIBRARY=1 
-DCXX_BROKEN_REINTERPRET_CAST=1 -DCXX_ABI=gnu_v3 -DHAVE_LIBM=1 -DHAVE_REGEXEC=1 
-DHAVE_REGEX=1 -DHAVE_REGEXEC=1 -DHAVE_ZLIB_H=1 -DHAVE_ZLIB=1 -DHAVE_HDF5_H=1 
-DHAVE_HDF5=1 -DHAVE_H5GGET_NUM_OBJS=1 -DHAVE_FFTW3=1 
-DHAVE_IEEE754_DATA_FORMAT=1 -DF77_FUNC\(name,NAME\)=name\ \#\#\ _ 
-DF77_FUNC_\(name,NAME\)=name\ \#\#\ __ -DHAVE_UMFPACK_UMFPACK_H=1 
-DHAVE_UMFPACK=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPWNAM=1 -DHAVE_DEV_T=1 
-DHAVE_INO_T=1 -DHAVE_NLINK_T=1 -DHAVE_NLINK_T=1 -DHAVE_LONG_LONG_INT=1 
-DHAVE_UNSIGNED_LONG_LONG_INT=1 -DHAVE_SIGSET_T=1 -DHAVE_SIG_ATOMIC_T=1 
-DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 
-DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DNPOS=std::string::npos 
-DHAVE_PLACEMENT_DELETE=1 -DHAVE_DYNAMIC_AUTO_ARRAYS=1 -DSTDC_HEADERS=1 
-DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_ASSERT_H=1 
-DHAVE_CURSES_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 
-DHAVE_GRP_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 
-DHAVE_MEMORY_H=1 -DHAVE_NCURSES_H=1 -DHAVE_POLL_H=1 -DHAVE_PWD_H=1 
-DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_IOCTL_H=1 
-DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_POLL_H=1 -DHAVE_SYS_RESOURCE_H=1 
-DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1 
-DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTSNAME_H=1 
-DHAVE_TERMCAP_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SSTREAM=1 -DHAVE_TERMIO_H=1 
-DHAVE_SGTTY_H=1 -DHAVE_GLOB_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_FNMATCH=1 
-DHAVE_GLOB=1 -DHAVE_ATEXIT=1 -DHAVE_BASENAME=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1 
-DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 
-DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1 -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_GETCWD=1 
-DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETGRENT=1 
-DHAVE_GETGRGID=1 -DHAVE_GETGRNAM=1 -DHAVE_GETPGRP=1 -DHAVE_GETPID=1 
-DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWUID=1 -DHAVE_GETTIMEOFDAY=1 
-DHAVE_GETUID=1 -DHAVE_GETWD=1 -DHAVE_KILL=1 -DHAVE_LINK=1 -DHAVE_LOCALTIME_R=1 
-DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_MKSTEMP=1 
-DHAVE_ON_EXIT=1 -DHAVE_PIPE=1 -DHAVE_POLL=1 -DHAVE_PUTENV=1 -DHAVE_RAISE=1 
-DHAVE_READLINK=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1 -DHAVE_ROUND=1 
-DHAVE_SELECT=1 -DHAVE_SETGRENT=1 -DHAVE_SETLOCALE=1 -DHAVE_SETPWENT=1 
-DHAVE_SETVBUF=1 -DHAVE_SIGACTION=1 -DHAVE_SIGLONGJMP=1 -DHAVE_SIGPENDING=1 
-DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1 -DHAVE_STAT=1 -DHAVE_STRCASECMP=1 
-DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRFTIME=1 -DHAVE_STRNCASECMP=1 
-DHAVE_STRPTIME=1 -DHAVE_STRSIGNAL=1 -DHAVE_SYMLINK=1 -DHAVE_TEMPNAM=1 
-DHAVE_UMASK=1 -DHAVE_UNAME=1 -DHAVE_UNLINK=1 -DHAVE_USLEEP=1 -DHAVE_VFPRINTF=1 
-DHAVE_VSPRINTF=1 -DHAVE_VSNPRINTF=1 -DHAVE_WAITPID=1 -DHAVE_LIBDL=1 
-DHAVE_DLOPEN=1 -DHAVE_DLSYM=1 -DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 
-DHAVE_DLOPEN_API=1 -DENABLE_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1 -DHAVE_FINITE=1 
-DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_COPYSIGN=1 -DHAVE_DECL_SIGNBIT=1 
-DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 
-DHAVE_EXP2=1 -DHAVE_LOG2=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 
-DHAVE_STRUCT_STAT_ST_BLOCKS=1 -DHAVE_STRUCT_STAT_ST_RDEV=1 
-DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DUSE_READLINE=1 
-DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void -DHAVE_DECL_SYS_SIGLIST=1 
-DHAVE_POSIX_SIGNALS=1 -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1 -DYYTEXT_POINTER=1 
-DGNUPLOT_BINARY=\\\\\"gnuplot\\\\\" -DGNUPLOT_HAS_FRAMES=1
checking whether gcc accepts -Wall... yes
adding -Wall to WARN_CFLAGS
checking whether gcc accepts -W... yes
adding -W to WARN_CFLAGS
checking whether gcc accepts -Wshadow... yes
adding -Wshadow to WARN_CFLAGS
checking whether g++ accepts -Wall... yes
adding -Wall to WARN_CXXFLAGS
checking whether g++ accepts -W... yes
adding -W to WARN_CXXFLAGS
checking whether g++ accepts -Wshadow... yes
adding -Wshadow to WARN_CXXFLAGS
checking whether g++ accepts -Wold-style-cast... yes
adding -Wold-style-cast to WARN_CXXFLAGS
configure: creating ./config.status
config.status: creating Makefile
config.status: creating octMakefile
config.status: creating Makeconf
config.status: creating test/Makefile
config.status: creating dlfcn/Makefile
config.status: creating doc/Makefile
config.status: creating doc/faq/Makefile
config.status: creating doc/interpreter/Makefile
config.status: creating doc/liboctave/Makefile
config.status: creating doc/refcard/Makefile
config.status: creating emacs/Makefile
config.status: creating examples/Makefile
config.status: creating liboctave/Makefile
config.status: creating liboctave/oct-types.h
config.status: creating src/Makefile
config.status: creating libcruft/Makefile
config.status: creating libcruft/Makerules
config.status: creating libcruft/amos/Makefile
config.status: creating libcruft/blas/Makefile
config.status: creating libcruft/daspk/Makefile
config.status: creating libcruft/dasrt/Makefile
config.status: creating libcruft/dassl/Makefile
config.status: creating libcruft/fftpack/Makefile
config.status: creating libcruft/lapack/Makefile
config.status: creating libcruft/minpack/Makefile
config.status: creating libcruft/misc/Makefile
config.status: creating libcruft/odepack/Makefile
config.status: creating libcruft/ordered-qz/Makefile
config.status: creating libcruft/quadpack/Makefile
config.status: creating libcruft/ranlib/Makefile
config.status: creating libcruft/slatec-fn/Makefile
config.status: creating libcruft/slatec-err/Makefile
config.status: creating libcruft/villad/Makefile
config.status: creating libcruft/blas-xtra/Makefile
config.status: creating libcruft/lapack-xtra/Makefile
config.status: creating config.h
configure: configuring in scripts
configure: running /bin/sh './configure' --prefix=/usr/local  
'--prefix=/usr/local' --cache-file=/dev/null --srcdir=.
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
config.status: creating audio/Makefile
config.status: creating control/Makefile
config.status: creating control/base/Makefile
config.status: creating control/hinf/Makefile
config.status: creating control/obsolete/Makefile
config.status: creating control/system/Makefile
config.status: creating control/util/Makefile
config.status: creating deprecated/Makefile
config.status: creating elfun/Makefile
config.status: creating finance/Makefile
config.status: creating general/Makefile
config.status: creating image/Makefile
config.status: creating io/Makefile
config.status: creating linear-algebra/Makefile
config.status: creating miscellaneous/Makefile
config.status: creating optimization/Makefile
config.status: creating path/Makefile
config.status: creating pkg/Makefile
config.status: creating plot/Makefile
config.status: creating polynomial/Makefile
config.status: creating quaternion/Makefile
config.status: creating set/Makefile
config.status: creating signal/Makefile
config.status: creating sparse/Makefile
config.status: creating specfun/Makefile
config.status: creating special-matrix/Makefile
config.status: creating startup/Makefile
config.status: creating statistics/Makefile
config.status: creating statistics/base/Makefile
config.status: creating statistics/distributions/Makefile
config.status: creating statistics/models/Makefile
config.status: creating statistics/tests/Makefile
config.status: creating strings/Makefile
config.status: creating time/Makefile
config.status: creating testfun/Makefile
configure:

Octave is now configured for i686-pc-linux-gnu

  Source directory:     .
  Installation prefix:  /usr/local
  C compiler:           gcc  -mieee-fp  -Wall -W -Wshadow -g -O2
  C++ compiler:         g++  -mieee-fp  -Wall -W -Wshadow -Wold-style-cast -g 
-O2
  Fortran compiler:     g77 -O -mieee-fp
  Fortran libraries:     -L/usr/lib/gcc-lib/i486-linux/3.3.5 
-L/usr/lib/gcc-lib/i486-linux/3.3.5/../../.. -lhdf5 -lz -lfrtbegin -lg2c -lm 
-lgcc_s
  BLAS libraries:       
  FFTW libraries:       -lfftw3
  GLPK libraries:       
  UMFPACK libraries:    -lumfpack
  AMD libraries:        -lamd
  CAMD libraries:       
  COLAMD libraries:     
  CCOLAMD libraries:    
  CHOLMOD libraries:    
  CXSPARSE libraries:   
  HDF5 libraries:       -lhdf5
  CURL libraries:       
  REGEX libraries:      
  LIBS:                 -lreadline  -lncurses -ldl -lhdf5 -lz -lm 
  Default pager:        less
  gnuplot:              gnuplot

  Do internal array bounds checking:  false
  Build static libraries:             false
  Build shared libraries:             true
  Dynamic Linking:                    true (dlopen)
  Include support for GNU readline:   true
  64-bit array dims and indexing:     false

configure: WARNING: COLAMD not found. This will result in some lack of 
functionality for sparse matrices.
configure: WARNING: CCOLAMD not found. This will result in some lack of 
functionality for sparse matrices.
configure: WARNING: CHOLMOD not found. This will result in some lack of 
functionality for sparse matrices.
configure: WARNING: CXSparse not found. This will result in some lack of 
functionality for sparse matrices.
f77-fcn.c: In function `xstopx_':
f77-fcn.c:64: warning: function declared `noreturn' has a `return' statement
lo-error.c: In function `liboctave_warning_with_id':
lo-error.c:108: warning: unused parameter `id'

--C--> sparse-dmsolve.cc:355: warning: `void solve_singularity_warning(double)' 
--C-->   defined but not used
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = ComplexMatrix, ST = SparseComplexMatrix, 
T = 
--C-->    Matrix]':
--C--> CSparse.cc:6815:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const Matrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = SparseComplexMatrix, ST = 
SparseComplexMatrix, 
--C-->    T = SparseMatrix]':
--C--> CSparse.cc:6883:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const SparseMatrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = ComplexMatrix, ST = SparseComplexMatrix, 
T = 
--C-->    ComplexMatrix]':
--C--> CSparse.cc:6951:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const ComplexMatrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = SparseComplexMatrix, ST = 
SparseComplexMatrix, 
--C-->    T = SparseComplexMatrix]':
--C--> CSparse.cc:7020:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const 
SparseComplexMatrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> MSparse.h: At top level:
--C--> sparse-dmsolve.cc:355: warning: `void solve_singularity_warning(double)' 
--C-->    defined but not used
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = Matrix, ST = SparseMatrix, T = Matrix]':
--C--> dSparse.cc:6976:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const SparseMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const Matrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = SparseMatrix, ST = SparseMatrix, T = 
--C-->    SparseMatrix]':
--C--> dSparse.cc:7044:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const SparseMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const SparseMatrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = ComplexMatrix, ST = SparseMatrix, T = 
--C-->    ComplexMatrix]':
--C--> dSparse.cc:7112:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const SparseMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const ComplexMatrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> sparse-dmsolve.cc: In function `RT dmsolve(const ST&, const T&, 
--C-->    octave_idx_type&) [with RT = SparseComplexMatrix, ST = SparseMatrix, 
T = 
--C-->    SparseComplexMatrix]':
--C--> dSparse.cc:7180:   instantiated from here
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const SparseMatrix&a'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `const 
SparseComplexMatrix&b'
--C--> sparse-dmsolve.cc:363: warning: unused parameter `octave_idx_type&info'
--C--> MSparse.h: At top level:
--C--> sparse-dmsolve.cc:355: warning: `void solve_singularity_warning(double)' 
--C-->    defined but not used
--C--> sparse-base-chol.cc: In member function `octave_idx_type 
--C-->    sparse_base_chol<chol_type, chol_elt, 
--C-->    p_type>::sparse_base_chol_rep::init(const chol_type&, bool) [with 
chol_type 
--C-->    = SparseComplexMatrix, chol_elt = Complex, p_type = SparseMatrix]':
--C--> SparseCmplxCHOL.cc:33:   instantiated from here
--C--> sparse-base-chol.cc:83: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> sparse-base-chol.cc:83: warning: unused parameter `bool natural'
--C--> sparse-base-chol.cc: In member function `octave_idx_type 
--C-->    sparse_base_chol<chol_type, chol_elt, 
--C-->    p_type>::sparse_base_chol_rep::init(const chol_type&, bool) [with 
chol_type 
--C-->    = SparseMatrix, chol_elt = double, p_type = SparseMatrix]':
--C--> SparsedbleCHOL.cc:33:   instantiated from here
--C--> sparse-base-chol.cc:83: warning: unused parameter `const SparseMatrix&a'
--C--> sparse-base-chol.cc:83: warning: unused parameter `bool natural'
--C--> SparseCmplxQR.cc: In member function `SparseComplexMatrix 
--C-->    SparseComplexQR::SparseComplexQR_rep::R(bool) const':
--C--> SparseCmplxQR.cc:148: warning: unused parameter `const bool econ'
--C--> SparseCmplxQR.cc: In member function `ComplexMatrix 
--C-->    SparseComplexQR::SparseComplexQR_rep::C(const ComplexMatrix&) const':
--C--> SparseCmplxQR.cc:178: warning: unused parameter `const ComplexMatrix&b'
--C--> SparseCmplxQR.cc: In function `ComplexMatrix qrsolve(const 
--C-->    SparseComplexMatrix&, const Matrix&, octave_idx_type&)':
--C--> SparseCmplxQR.cc:226: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> SparseCmplxQR.cc:226: warning: unused parameter `const Matrix&b'
--C--> SparseCmplxQR.cc: In function `SparseComplexMatrix qrsolve(const 
--C-->    SparseComplexMatrix&, const SparseMatrix&, octave_idx_type&)':
--C--> SparseCmplxQR.cc:342: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> SparseCmplxQR.cc:342: warning: unused parameter `const SparseMatrix&b'
--C--> SparseCmplxQR.cc: In function `ComplexMatrix qrsolve(const 
--C-->    SparseComplexMatrix&, const ComplexMatrix&, octave_idx_type&)':
--C--> SparseCmplxQR.cc:503: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> SparseCmplxQR.cc:503: warning: unused parameter `const ComplexMatrix&b'
--C--> SparseCmplxQR.cc: In function `SparseComplexMatrix qrsolve(const 
--C-->    SparseComplexMatrix&, const SparseComplexMatrix&, octave_idx_type&)':
--C--> SparseCmplxQR.cc:612: warning: unused parameter `const 
SparseComplexMatrix&a'
--C--> SparseCmplxQR.cc:612: warning: unused parameter `const 
SparseComplexMatrix&b'
--C--> SparseQR.cc: In member function 
`SparseQR::SparseQR_rep::SparseQR_rep(const 
--C-->    SparseMatrix&, int)':
--C--> SparseQR.cc:31: warning: unused parameter `const SparseMatrix&a'
--C--> SparseQR.cc:31: warning: unused parameter `int order'
--C--> SparseQR.cc: In member function `SparseMatrix 
SparseQR::SparseQR_rep::R(bool) 
--C-->    const':
--C--> SparseQR.cc:137: warning: unused parameter `const bool econ'
--C--> SparseQR.cc: In member function `Matrix SparseQR::SparseQR_rep::C(const 
--C-->    Matrix&) const':
--C--> SparseQR.cc:169: warning: unused parameter `const Matrix&b'
--C--> SparseQR.cc: In function `Matrix qrsolve(const SparseMatrix&, const 
Matrix&, 
--C-->    octave_idx_type&)':
--C--> SparseQR.cc:216: warning: unused parameter `const SparseMatrix&a'
--C--> SparseQR.cc:216: warning: unused parameter `const Matrix&b'
--C--> SparseQR.cc: In function `SparseMatrix qrsolve(const SparseMatrix&, 
const 
--C-->    SparseMatrix&, octave_idx_type&)':
--C--> SparseQR.cc:318: warning: unused parameter `const SparseMatrix&a'
--C--> SparseQR.cc:318: warning: unused parameter `const SparseMatrix&b'
--C--> SparseQR.cc: In function `ComplexMatrix qrsolve(const SparseMatrix&, 
const 
--C-->    ComplexMatrix&, octave_idx_type&)':
--C--> SparseQR.cc:467: warning: unused parameter `const SparseMatrix&a'
--C--> SparseQR.cc:467: warning: unused parameter `const ComplexMatrix&b'
--C--> SparseQR.cc: In function `SparseComplexMatrix qrsolve(const 
SparseMatrix&, 
--C-->    const SparseComplexMatrix&, octave_idx_type&)':
--C--> SparseQR.cc:632: warning: unused parameter `const SparseMatrix&a'
--C--> SparseQR.cc:632: warning: unused parameter `const SparseComplexMatrix&b'

randmtzig.c:361: warning: `randi64' defined but not used
randmtzig.c:378: warning: `randu32' defined but not used
conflicts: 14 shift/reduce
c-file-ptr-stream.cc: In member function `virtual std::streampos 
   c_file_ptr_buf::seekoff(long int, std::_Ios_Seekdir, std::_Ios_Openmode)':
c-file-ptr-stream.cc:131: warning: unused parameter `streamoff offset'
c-file-ptr-stream.cc:131: warning: unused parameter `std::_Ios_Seekdir dir'
c-file-ptr-stream.cc: In member function `virtual std::streampos 
   c_file_ptr_buf::seekpos(std::fpos<mbstate_t>, std::_Ios_Openmode)':
c-file-ptr-stream.cc:148: warning: unused parameter `std::streampos offset'
c-file-ptr-stream.cc: In member function `virtual std::streampos 
   c_zfile_ptr_buf::seekoff(long int, std::_Ios_Seekdir, std::_Ios_Openmode)':
c-file-ptr-stream.cc:275: warning: unused parameter `streamoff offset'
c-file-ptr-stream.cc:275: warning: unused parameter `std::_Ios_Seekdir dir'
c-file-ptr-stream.cc: In member function `virtual std::streampos 
   c_zfile_ptr_buf::seekpos(std::fpos<mbstate_t>, std::_Ios_Openmode)':
c-file-ptr-stream.cc:292: warning: unused parameter `std::streampos offset'
data.cc: In function `octave_value do_permute(const octave_value_list&, bool, 
   const std::string&)':
data.cc:869: warning: unused parameter `const std::string&fname'

--C--> dirfns.cc: In function `octave_value_list Fpwd(const octave_value_list&, 
int)':
--C--> dirfns.cc:225: warning: unused parameter `int nargout'

dynamic-ld.cc: In member function `bool 
   octave_dynamic_loader::do_load_oct(const std::string&, const std::string&)':
dynamic-ld.cc:364: warning: use of old-style cast
file-io.cc: In function `octave_value const_value(const char*, const 
   octave_value_list&, int)':
file-io.cc:2001: warning: unused parameter `const char*nm'
file-io.cc: In function `octave_value const_value(const char*, const 
   octave_value_list&, const octave_value&)':
file-io.cc:2083: warning: unused parameter `const char*nm'
help.cc: In function `void display_help_text(std::ostream&, const std::string&)
   ':
help.cc:810: warning: use of old-style cast
help.cc:810: warning: use of old-style cast
help.cc:814: warning: use of old-style cast
load-path.cc: In member function `void load_path::do_set(const std::string&, 
   bool)':
load-path.cc:435: warning: use of old-style cast
load-save.cc: In function `void write_header(std::ostream&, load_save_format)':
load-save.cc:1206: warning: use of old-style cast
ls-mat5.cc: In function `std::string read_mat5_binary_element(std::istream&, 
   const std::string&, bool, bool&, octave_value&)':
ls-mat5.cc:411: warning: use of old-style cast
ov-typeinfo.cc: In member function `int 
   octave_value_typeinfo::do_register_type(const std::string&, const 
   std::string&, const octave_value&)':
ov-typeinfo.cc:176: warning: unused parameter `const std::string&c_name'
ov-base-int.cc: In member function `octave_value 
   octave_base_int_matrix<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = int8NDArray]':
ov-int8.cc:62:   instantiated from here
ov-base-int.cc:91: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc: In member function `octave_value 
   octave_base_int_scalar<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = octave_int8]':
ov-int8.cc:71:   instantiated from here
ov-base-int.cc:384: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc: In member function `octave_value 
   octave_base_int_matrix<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = uint8NDArray]':
ov-uint8.cc:62:   instantiated from here
ov-base-int.cc:91: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc:91: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc: In member function `octave_value 
   octave_base_int_scalar<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = octave_uint8]':
ov-uint8.cc:71:   instantiated from here
ov-base-int.cc:384: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc:384: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc: In member function `octave_value 
   octave_base_int_matrix<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = uint16NDArray]':
ov-uint16.cc:62:   instantiated from here
ov-base-int.cc:91: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc: In member function `octave_value 
   octave_base_int_scalar<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = octave_uint16]':
ov-uint16.cc:71:   instantiated from here
ov-base-int.cc:384: warning: comparison is always false due to limited range of 
   data type
ov-base-int.cc: In member function `octave_value 
   octave_base_int_matrix<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = uint32NDArray]':
ov-uint32.cc:62:   instantiated from here
ov-base-int.cc:91: warning: comparison of unsigned expression < 0 is always 
   false
ov-base-int.cc: In member function `octave_value 
   octave_base_int_scalar<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = octave_uint32]':
ov-uint32.cc:71:   instantiated from here
ov-base-int.cc:384: warning: comparison of unsigned expression < 0 is always 
   false
ov-base-int.cc: In member function `octave_value 
   octave_base_int_matrix<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = uint64NDArray]':
ov-uint64.cc:62:   instantiated from here
ov-base-int.cc:91: warning: comparison of unsigned expression < 0 is always 
   false
ov-base-int.cc: In member function `octave_value 
   octave_base_int_scalar<T>::convert_to_str_internal(bool, bool, char) const 
   [with T = octave_uint64]':
ov-uint64.cc:71:   instantiated from here
ov-base-int.cc:384: warning: comparison of unsigned expression < 0 is always 
   false
pt-cmd.cc: In member function `virtual tree_command* 
   tree_no_op_command::dup(symbol_table*)':
pt-cmd.cc:35: warning: unused parameter `symbol_table*sym_tab'
pt-const.cc: In member function `virtual tree_expression* 
   tree_constant::dup(symbol_table*)':
pt-const.cc:75: warning: unused parameter `symbol_table*sym_tab'
pt-fcn-handle.cc: In member function `virtual tree_expression* 
   tree_fcn_handle::dup(symbol_table*)':
pt-fcn-handle.cc:76: warning: unused parameter `symbol_table*sym_tab'

--C--> DLD-FUNCTIONS/cellfun.cc: In function `octave_value_list Fcellfun(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/cellfun.cc:280: warning: `octave_function*ErrorHandler' 
might be 
--C-->    used uninitialized in this function
--C--> DLD-FUNCTIONS/ccolamd.cc: In function `octave_value_list Fccolamd(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/ccolamd.cc:136: warning: unused parameter `const 
--C-->    octave_value_list&args'
--C--> DLD-FUNCTIONS/ccolamd.cc:136: warning: unused parameter `int nargout'
--C--> DLD-FUNCTIONS/ccolamd.cc: In function `octave_value_list Fcsymamd(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/ccolamd.cc:391: warning: unused parameter `const 
--C-->    octave_value_list&args'
--C--> DLD-FUNCTIONS/ccolamd.cc:391: warning: unused parameter `int nargout'
--C--> DLD-FUNCTIONS/colamd.cc: In function `octave_value_list Fcolamd(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/colamd.cc:268: warning: unused parameter `const 
--C-->    octave_value_list&args'
--C--> DLD-FUNCTIONS/colamd.cc:268: warning: unused parameter `int nargout'
--C--> DLD-FUNCTIONS/colamd.cc: In function `octave_value_list Fsymamd(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/colamd.cc:504: warning: unused parameter `const 
--C-->    octave_value_list&args'
--C--> DLD-FUNCTIONS/colamd.cc:504: warning: unused parameter `int nargout'

DLD-FUNCTIONS/fftw_wisdom.cc: In function `octave_value_list Ffftw_wisdom(const 
   octave_value_list&, int)':
DLD-FUNCTIONS/fftw_wisdom.cc:193: warning: use of old-style cast
DLD-FUNCTIONS/regexp.cc: In function `int octregexp_list(const 
   octave_value_list&, const std::string&, bool, std::list<regexp_elem, 
   std::allocator<regexp_elem> >&, string_vector&, int&)':
DLD-FUNCTIONS/regexp.cc:85: warning: unused parameter `string_vector&named'
DLD-FUNCTIONS/spqr.cc: In function `octave_value_list Fdmperm(const 
   octave_value_list&, int)':

--C--> DLD-FUNCTIONS/spqr.cc:255: warning: unused variable `int nargin'
--C--> DLD-FUNCTIONS/spqr.cc:254: warning: unused parameter `int nargout'
--C--> ../liboctave/Array.h: At top level:
--C--> DLD-FUNCTIONS/spqr.cc:226: warning: `RowVector put_int(octave_idx_type*, 
int)' 
--C-->    defined but not used
--C--> DLD-FUNCTIONS/urlwrite.cc: In function `octave_value_list 
Furlwrite(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/urlwrite.cc:222: warning: unused parameter `const 
--C-->    octave_value_list&args'
--C--> DLD-FUNCTIONS/urlwrite.cc:222: warning: unused parameter `int nargout'
--C--> DLD-FUNCTIONS/urlwrite.cc: In function `octave_value_list Furlread(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/urlwrite.cc:358: warning: unused parameter `const 
--C-->    octave_value_list&args'
--C--> DLD-FUNCTIONS/urlwrite.cc:358: warning: unused parameter `int nargout'
--C--> DLD-FUNCTIONS/__glpk__.cc: In function `octave_value_list 
F__glpk__(const 
--C-->    octave_value_list&, int)':
--C--> DLD-FUNCTIONS/__glpk__.cc:418: warning: unused parameter `const 
--C-->    octave_value_list&args'
diff -pr -u -u octave.old/liboctave/SparseCmplxQR.cc 
octave.new/liboctave/SparseCmplxQR.cc
--- octave.old/liboctave/SparseCmplxQR.cc       2006-10-14 13:59:15.000000000 
+0200
+++ octave.new/liboctave/SparseCmplxQR.cc       2006-10-14 15:41:39.000000000 
+0200
@@ -37,8 +37,8 @@ Boston, MA 02110-1301, USA.
 #define OCTAVE_C99_ZERO (0. + 0.iF);
 
 SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep 
-(const SparseComplexMatrix& a GCC_ATTR_UNUSED,
- int order GCC_ATTR_UNUSED)
+(GCC_ATTR_UNUSED const SparseComplexMatrix& a,
+ GCC_ATTR_UNUSED int order)
 {
 #ifdef HAVE_CXSPARSE
   CXSPARSE_ZNAME () A;
@@ -144,7 +144,7 @@ SparseComplexQR::SparseComplexQR_rep::P 
 }
 
 SparseComplexMatrix 
-SparseComplexQR::SparseComplexQR_rep::R (const bool econ) const
+SparseComplexQR::SparseComplexQR_rep::R (GCC_ATTR_UNUSED const bool econ) const
 {
 #ifdef HAVE_CXSPARSE
   // Drop zeros from R and sort
@@ -174,7 +174,7 @@ SparseComplexQR::SparseComplexQR_rep::R 
 }
 
 ComplexMatrix
-SparseComplexQR::SparseComplexQR_rep::C (const ComplexMatrix &b) const
+SparseComplexQR::SparseComplexQR_rep::C (GCC_ATTR_UNUSED const ComplexMatrix 
&b) const
 {
 #ifdef HAVE_CXSPARSE
   octave_idx_type b_nr = b.rows();
@@ -222,7 +222,8 @@ SparseComplexQR::SparseComplexQR_rep::C 
 }
 
 ComplexMatrix
-qrsolve(const SparseComplexMatrix&a, const Matrix &b, octave_idx_type &info)
+qrsolve(GCC_ATTR_UNUSED const SparseComplexMatrix&a, GCC_ATTR_UNUSED const 
Matrix &b, 
+        octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
@@ -338,7 +339,7 @@ qrsolve(const SparseComplexMatrix&a, con
 }
 
 SparseComplexMatrix
-qrsolve(const SparseComplexMatrix&a, const SparseMatrix &b, octave_idx_type 
&info)
+qrsolve(GCC_ATTR_UNUSED const SparseComplexMatrix&a, GCC_ATTR_UNUSED const 
SparseMatrix &b, octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
@@ -499,7 +500,7 @@ qrsolve(const SparseComplexMatrix&a, con
 }
 
 ComplexMatrix
-qrsolve(const SparseComplexMatrix&a, const ComplexMatrix &b, octave_idx_type 
&info)
+qrsolve(GCC_ATTR_UNUSED const SparseComplexMatrix&a, GCC_ATTR_UNUSED const 
ComplexMatrix &b, octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
@@ -608,7 +609,7 @@ qrsolve(const SparseComplexMatrix&a, con
 }
 
 SparseComplexMatrix
-qrsolve(const SparseComplexMatrix&a, const SparseComplexMatrix &b, 
octave_idx_type &info)
+qrsolve(GCC_ATTR_UNUSED const SparseComplexMatrix&a, GCC_ATTR_UNUSED const 
SparseComplexMatrix &b, octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
diff -pr -u -u octave.old/liboctave/SparseQR.cc octave.new/liboctave/SparseQR.cc
--- octave.old/liboctave/SparseQR.cc    2006-10-14 13:56:10.000000000 +0200
+++ octave.new/liboctave/SparseQR.cc    2006-10-14 15:41:39.000000000 +0200
@@ -27,7 +27,7 @@ Boston, MA 02110-1301, USA.
 #include "lo-error.h"
 #include "SparseQR.h"
 
-SparseQR::SparseQR_rep::SparseQR_rep (const SparseMatrix& a, int order)
+SparseQR::SparseQR_rep::SparseQR_rep (GCC_ATTR_UNUSED const SparseMatrix& a, 
GCC_ATTR_UNUSED int order)
 {
 #ifdef HAVE_CXSPARSE
   CXSPARSE_DNAME () A;
@@ -133,7 +133,7 @@ SparseQR::SparseQR_rep::P (void) const
 }
 
 SparseMatrix 
-SparseQR::SparseQR_rep::R (const bool econ) const
+SparseQR::SparseQR_rep::R (GCC_ATTR_UNUSED const bool econ) const
 {
 #ifdef HAVE_CXSPARSE
   // Drop zeros from R and sort
@@ -165,7 +165,7 @@ SparseQR::SparseQR_rep::R (const bool ec
 }
 
 Matrix
-SparseQR::SparseQR_rep::C (const Matrix &b) const
+SparseQR::SparseQR_rep::C (GCC_ATTR_UNUSED const Matrix &b) const
 {
 #ifdef HAVE_CXSPARSE
   octave_idx_type b_nr = b.rows();
@@ -212,7 +212,7 @@ SparseQR::SparseQR_rep::C (const Matrix 
 }
 
 Matrix
-qrsolve(const SparseMatrix&a, const Matrix &b, octave_idx_type& info)
+qrsolve(GCC_ATTR_UNUSED const SparseMatrix&a, GCC_ATTR_UNUSED const Matrix &b, 
octave_idx_type& info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
@@ -314,7 +314,7 @@ qrsolve(const SparseMatrix&a, const Matr
 }
 
 SparseMatrix
-qrsolve(const SparseMatrix&a, const SparseMatrix &b, octave_idx_type &info)
+qrsolve(GCC_ATTR_UNUSED const SparseMatrix&a, GCC_ATTR_UNUSED const 
SparseMatrix &b, octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
@@ -463,7 +463,7 @@ qrsolve(const SparseMatrix&a, const Spar
 }
 
 ComplexMatrix
-qrsolve(const SparseMatrix&a, const ComplexMatrix &b, octave_idx_type &info)
+qrsolve(GCC_ATTR_UNUSED const SparseMatrix&a, GCC_ATTR_UNUSED const 
ComplexMatrix &b, octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
@@ -628,7 +628,7 @@ qrsolve(const SparseMatrix&a, const Comp
 }
 
 SparseComplexMatrix
-qrsolve(const SparseMatrix&a, const SparseComplexMatrix &b, octave_idx_type 
&info)
+qrsolve(GCC_ATTR_UNUSED const SparseMatrix&a, GCC_ATTR_UNUSED const 
SparseComplexMatrix &b, octave_idx_type &info)
 {
   info = -1;
 #ifdef HAVE_CXSPARSE
diff -pr -u -u octave.old/liboctave/sparse-base-chol.cc 
octave.new/liboctave/sparse-base-chol.cc
--- octave.old/liboctave/sparse-base-chol.cc    2006-10-14 13:56:10.000000000 
+0200
+++ octave.new/liboctave/sparse-base-chol.cc    2006-10-14 15:41:39.000000000 
+0200
@@ -79,7 +79,7 @@ sparse_base_chol<chol_type, chol_elt, p_
 template <class chol_type, class chol_elt, class p_type>
 octave_idx_type
 sparse_base_chol<chol_type, chol_elt, p_type>::sparse_base_chol_rep::init 
-  (const chol_type& a, bool natural)
+  (GCC_ATTR_UNUSED const chol_type& a, GCC_ATTR_UNUSED bool natural)
 {
   volatile octave_idx_type info = 0;
 #ifdef HAVE_CHOLMOD
diff -pr -u -u octave.old/liboctave/sparse-dmsolve.cc 
octave.new/liboctave/sparse-dmsolve.cc
--- octave.old/liboctave/sparse-dmsolve.cc      2006-10-14 13:56:10.000000000 
+0200
+++ octave.new/liboctave/sparse-dmsolve.cc      2006-10-14 15:41:39.000000000 
+0200
@@ -350,16 +350,21 @@ dmsolve_permute (MSparse<Complex> &a, co
                 const octave_idx_type *p);
 #endif
 
+#ifdef HAVE_CXSPARSE
+// FIXME - solve_singularity_warning is also defined in
+//         src/sparse-xdiv.cc and in src/xdiv.cc
 static void
 solve_singularity_warning (double)
 {
   // Dummy singularity handler so that LU solver doesn't flag
   // an error for numerically rank defficient matrices
 }
+#endif
 
 template <class RT, class ST, class T>
 RT
-dmsolve (const ST &a, const T &b, octave_idx_type &info)
+dmsolve (GCC_ATTR_UNUSED const ST &a, GCC_ATTR_UNUSED const T &b, 
+         GCC_ATTR_UNUSED octave_idx_type &info)
 {
 #ifdef HAVE_CXSPARSE
   octave_idx_type nr = a.rows ();
diff -pr -u -u octave.old/src/DLD-FUNCTIONS/__glpk__.cc 
octave.new/src/DLD-FUNCTIONS/__glpk__.cc
--- octave.old/src/DLD-FUNCTIONS/__glpk__.cc    2006-10-14 13:57:04.000000000 
+0200
+++ octave.new/src/DLD-FUNCTIONS/__glpk__.cc    2006-10-14 15:42:37.000000000 
+0200
@@ -792,9 +792,9 @@ You should be using using the @code{glpk
   retval(0) = octave_value(xmin);
 
 #else
-
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   gripe_not_supported ("glpk");
-
 #endif
 
   return retval;
diff -pr -u -u octave.old/src/DLD-FUNCTIONS/ccolamd.cc 
octave.new/src/DLD-FUNCTIONS/ccolamd.cc
--- octave.old/src/DLD-FUNCTIONS/ccolamd.cc     2006-10-14 13:57:04.000000000 
+0200
+++ octave.new/src/DLD-FUNCTIONS/ccolamd.cc     2006-10-14 15:42:37.444747336 
+0200
@@ -49,7 +49,7 @@ Boston, MA 02110-1301, USA.
 #define CSYMAMD_NAME(name) csymamd ## name
 #endif
 
-DEFUN_DLD (ccolamd, args, nargout,
+DEFUN_DLD (ccolamd, args, GCC_ATTR_UNUSED nargout,
     "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} address@hidden =} ccolamd (@var{s})\n\
 @deftypefnx {Loadable Function} address@hidden =} ccolamd (@var{s}, 
@var{knobs})\n\
@@ -319,15 +319,15 @@ colamd, symamd, and other related orderi
     }
 
 #else
-
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   error ("ccolamd: not available in this version of Octave");
-
 #endif
 
   return retval;
 }
 
-DEFUN_DLD (csymamd, args, nargout,
+DEFUN_DLD (csymamd, args, GCC_ATTR_UNUSED nargout,
     "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} address@hidden =} csymamd (@var{s})\n\
 @deftypefnx {Loadable Function} address@hidden =} csymamd (@var{s}, 
@var{knobs})\n\
@@ -569,9 +569,9 @@ colamd, symamd, and other related orderi
     }
 
 #else
-
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   error ("csymamd: not available in this version of Octave");
-
 #endif
 
   return retval;
diff -pr -u -u octave.old/src/DLD-FUNCTIONS/cellfun.cc 
octave.new/src/DLD-FUNCTIONS/cellfun.cc
--- octave.old/src/DLD-FUNCTIONS/cellfun.cc     2006-10-14 13:57:04.000000000 
+0200
+++ octave.new/src/DLD-FUNCTIONS/cellfun.cc     2006-10-14 15:42:37.459745056 
+0200
@@ -277,7 +277,7 @@ cellfun (@@factorial, @{-1,address@hidden,'ErrorHan
          bool UniformOutput = true;
          bool haveErrorHandler = false;
          std::string err_name;
-         octave_function *ErrorHandler;
+         octave_function *ErrorHandler = 0;
          int offset = 1;
          int i = 1;
          OCTAVE_LOCAL_BUFFER (Cell, inputs, nargin);
diff -pr -u -u octave.old/src/DLD-FUNCTIONS/colamd.cc 
octave.new/src/DLD-FUNCTIONS/colamd.cc
--- octave.old/src/DLD-FUNCTIONS/colamd.cc      2006-10-14 13:57:04.000000000 
+0200
+++ octave.new/src/DLD-FUNCTIONS/colamd.cc      2006-10-14 15:42:37.527734720 
+0200
@@ -198,7 +198,7 @@ void coletree (const octave_idx_type *ri
     }
 }
 
-DEFUN_DLD (colamd, args, nargout,
+DEFUN_DLD (colamd, args, GCC_ATTR_UNUSED nargout,
     "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} address@hidden =} colamd (@var{s})\n\
 @deftypefnx {Loadable Function} address@hidden =} colamd (@var{s}, 
@var{knobs})\n\
@@ -429,15 +429,15 @@ Ng, Oak Ridge National Laboratory. (see\
     }
 
 #else
-
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   error ("colamd: not available in this version of Octave");
-
 #endif
 
   return retval;
 }
 
-DEFUN_DLD (symamd, args, nargout,
+DEFUN_DLD (symamd, args, GCC_ATTR_UNUSED nargout,
     "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} address@hidden =} symamd (@var{s})\n\
 @deftypefnx {Loadable Function} address@hidden =} symamd (@var{s}, 
@var{knobs})\n\
@@ -626,9 +626,9 @@ Ng, Oak Ridge National Laboratory. (see\
     }
 
 #else
-
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   error ("symamd: not available in this version of Octave");
-
 #endif
 
   return retval;
diff -pr -u -u octave.old/src/DLD-FUNCTIONS/spqr.cc 
octave.new/src/DLD-FUNCTIONS/spqr.cc
--- octave.old/src/DLD-FUNCTIONS/spqr.cc        2006-10-14 13:57:04.000000000 
+0200
+++ octave.new/src/DLD-FUNCTIONS/spqr.cc        2006-10-14 15:42:38.227628320 
+0200
@@ -221,6 +221,7 @@ implemented for sparse matrices.
 
 */
 
+#if HAVE_CXSPARSE
 static RowVector
 put_int (octave_idx_type *p, octave_idx_type n)
 {
@@ -229,8 +230,9 @@ put_int (octave_idx_type *p, octave_idx_
     ret.xelem(i) = p[i] + 1;
   return ret;
 }
+#endif
 
-DEFUN_DLD (dmperm, args, nargout,
+DEFUN_DLD (dmperm, args, GCC_ATTR_UNUSED nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} address@hidden =} dmperm (@var{s})\n\
 @deftypefnx {Loadable Function} address@hidden, @var{q}, @var{r}, @var{s}] =} 
dmperm (@var{s})\n\
@@ -324,6 +326,7 @@ triangular form of a sparse matrix. ACM 
        }
     }
 #else
+  nargin = 0; // Suppress unused variable message at compilation
   error ("dmperm: not available in this version of Octave");
 #endif
 
diff -pr -u -u octave.old/src/DLD-FUNCTIONS/urlwrite.cc 
octave.new/src/DLD-FUNCTIONS/urlwrite.cc
--- octave.old/src/DLD-FUNCTIONS/urlwrite.cc    2006-10-14 13:57:04.000000000 
+0200
+++ octave.new/src/DLD-FUNCTIONS/urlwrite.cc    2006-10-14 15:42:38.507585760 
+0200
@@ -183,7 +183,7 @@ urlget (const std::string& url, const st
 
 #endif
 
-DEFUN_DLD (urlwrite, args, nargout,
+DEFUN_DLD (urlwrite, args, GCC_ATTR_UNUSED nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} urlwrite (@var{URL}, @var{localfile})\n\
 @deftypefnx {Loadable Function} address@hidden =} urlwrite (@var{url}, 
@var{localfile})\n\
@@ -314,13 +314,15 @@ urlwrite ('http://www.google.com/search'
     error ("urlwrite: curl: %s", curl_easy_strerror (res));
 
 #else
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   error ("urlwrite: not available in this version of Octave");
 #endif
 
   return retval;
 }
 
-DEFUN_DLD (urlread, args, nargout,
+DEFUN_DLD (urlread, args, GCC_ATTR_UNUSED nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} address@hidden =} urlread(@var{url})\n\
 @deftypefnx {Loadable Function} address@hidden, @var{success}] =} urlread 
(@var{url})\n\
@@ -429,6 +431,8 @@ s = urlread ('http://www.google.com/sear
     error ("urlread: curl: %s", curl_easy_strerror (res));
 
 #else
+               // Compilation "Unused variable args" fix
+  args(0) = 0; // GCC_ATTR_UNUSED args doesn't work here
   error ("urlread: not available in this version of Octave");
 #endif
 
diff -pr -u -u octave.old/src/dirfns.cc octave.new/src/dirfns.cc
--- octave.old/src/dirfns.cc    2006-10-14 13:57:05.000000000 +0200
+++ octave.new/src/dirfns.cc    2006-10-14 15:42:38.575575424 +0200
@@ -216,7 +216,7 @@ from system to system.\n\
   return retval;
 }
 
-DEFUN (pwd, , nargout,
+DEFUN (pwd, , ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} pwd ()\n\
 Return the current working directory.\n\

reply via email to

[Prev in Thread] Current Thread [Next in Thread]