# HG changeset patch # User jwe # Date 980979355 0 # Node ID 7c8e3c42ed04a411db1e85a209bc419ad8964b35 # Parent 243148f6c91c81d5cf1f392e52a59a35716d1b07 [project @ 2001-01-31 22:15:51 by jwe] diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-01-31 Mumit Khan + + * Makeconf.in (%.d : %.cc): Strip the directory portion of the + target. + (%.d : %.c): Likewise. + + * aclocal.m4 (OCTAVE_CXX_ISO_COMPLIANT_LIBRARY): New macro. + * configure.in: Use it. + 2001-01-29 John W. Eaton * Makeconf.in (do-subst-config-vals): Substitute diff --git a/Makeconf.in b/Makeconf.in --- a/Makeconf.in +++ b/Makeconf.in @@ -301,7 +301,8 @@ @echo making $@ from $< @rm -f $@ @$(CXX) -M $(CPPFLAGS) $(ALL_CXXFLAGS) $< | \ - sed -e 's,$*\.o,pic/& & $@,g' > $@.tmp + sed -e 's,^[^:]*/\(.*\.o\):,\1:,' \ + -e 's,$*\.o,pic/& & $@,g' > $@.tmp @mv $@.tmp $@ # And one for .c files.too: @@ -310,7 +311,8 @@ @echo making $@ from $< @rm -f $@ @$(CC) -M $(CPPFLAGS) $(ALL_CFLAGS) $< | \ - sed -e 's,$*\.o,pic/& & $@,g' > $@.tmp + sed -e 's,^[^:]*/\(.*\.o\):,\1:,' \ + -e 's,$*\.o,pic/& & $@,g' > $@.tmp @mv $@.tmp $@ define do-subdir-for-command diff --git a/aclocal.m4 b/aclocal.m4 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -931,3 +931,40 @@ AC_DEFINE(CXX_PREPENDS_UNDERSCORE) fi ]) +dnl +dnl See if the C++ library is ISO compliant. +dnl FIXME: This is obviously very simplistic, and trivially fooled. +dnl +dnl OCTAVE_CXX_ISO_COMPLIANT_LIBRARY +AC_DEFUN(OCTAVE_CXX_ISO_COMPLIANT_LIBRARY, [ + AC_REQUIRE([AC_PROG_CXX]) + AC_MSG_CHECKING([if C++ library is ISO compliant]) + AC_CACHE_VAL(octave_cv_cxx_iso_compliant_library, [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + rm -f conftest.h + for inc in algorithm bitset cassert cctype cerrno cfloat ciso646 \ + climits clocale cmath complex csetjmp csignal cstdarg cstddef \ + cstdio cstdlib cstring ctime cwchar cwctype deque exception \ + fstream functional iomanip ios iosfwd iostream istream iterator \ + limits list locale map memory new numeric ostream queue set \ + sstream stack stdexcept streambuf string strstream typeinfo \ + utility valarray vector; do + echo "#include <$inc>" >> conftest.h + done + AC_TRY_LINK([#include "conftest.h"], [ + std::bitset<50> flags; + flags.set(); + int digits = std::numeric_limits::digits; + digits = 0; + ], + octave_cv_cxx_iso_compliant_library=yes, + octave_cv_cxx_iso_compliant_library=no + ) + AC_LANG_RESTORE + ]) + AC_MSG_RESULT($octave_cv_cxx_iso_compliant_library) + if test $octave_cv_cxx_iso_compliant_library = yes; then + AC_DEFINE(CXX_ISO_COMPLIANT_LIBRARY) + fi +]) diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -21,7 +21,7 @@ ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA ### 02111-1307, USA. -AC_REVISION($Revision: 1.337 $) +AC_REVISION($Revision: 1.338 $) AC_PREREQ(2.9) AC_INIT(src/octave.cc) AC_CONFIG_HEADER(config.h) @@ -199,6 +199,7 @@ AC_SUBST(CXX_VERSION) OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL +OCTAVE_CXX_ISO_COMPLIANT_LIBRARY ### See which C compiler to use (we expect to find gcc). diff --git a/liboctave/CColVector.cc b/liboctave/CColVector.cc --- a/liboctave/CColVector.cc +++ b/liboctave/CColVector.cc @@ -63,7 +63,7 @@ int len = length (); if (len != a.length ()) return 0; - return equal (data (), a.data (), len); + return mx_inline_equal (data (), a.data (), len); } bool @@ -188,7 +188,7 @@ ComplexColumnVector::hermitian (void) const { int len = length (); - return ComplexRowVector (conj_dup (data (), len), len); + return ComplexRowVector (mx_inline_conj_dup (data (), len), len); } ComplexRowVector @@ -203,7 +203,7 @@ int a_len = a.length (); ComplexColumnVector retval; if (a_len > 0) - retval = ComplexColumnVector (conj_dup (a.data (), a_len), a_len); + retval = ComplexColumnVector (mx_inline_conj_dup (a.data (), a_len), a_len); return retval; } @@ -244,7 +244,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - add2 (d, a.data (), len); + mx_inline_add2 (d, a.data (), len); return *this; } @@ -266,7 +266,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - subtract2 (d, a.data (), len); + mx_inline_subtract2 (d, a.data (), len); return *this; } diff --git a/liboctave/CDiagMatrix.cc b/liboctave/CDiagMatrix.cc --- a/liboctave/CDiagMatrix.cc +++ b/liboctave/CDiagMatrix.cc @@ -51,7 +51,7 @@ if (rows () != a.rows () || cols () != a.cols ()) return 0; - return equal (data (), a.data (), length ()); + return mx_inline_equal (data (), a.data (), length ()); } bool @@ -237,13 +237,15 @@ ComplexDiagMatrix ComplexDiagMatrix::hermitian (void) const { - return ComplexDiagMatrix (conj_dup (data (), length ()), cols (), rows ()); + return ComplexDiagMatrix (mx_inline_conj_dup (data (), length ()), + cols (), rows ()); } ComplexDiagMatrix ComplexDiagMatrix::transpose (void) const { - return ComplexDiagMatrix (dup (data (), length ()), cols (), rows ()); + return ComplexDiagMatrix (mx_inline_dup (data (), length ()), + cols (), rows ()); } ComplexDiagMatrix @@ -252,7 +254,7 @@ ComplexDiagMatrix retval; int a_len = a.length (); if (a_len > 0) - retval = ComplexDiagMatrix (conj_dup (a.data (), a_len), + retval = ComplexDiagMatrix (mx_inline_conj_dup (a.data (), a_len), a.rows (), a.cols ()); return retval; } @@ -414,7 +416,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - add2 (d, a.data (), length ()); + mx_inline_add2 (d, a.data (), length ()); return *this; } diff --git a/liboctave/CMatrix.cc b/liboctave/CMatrix.cc --- a/liboctave/CMatrix.cc +++ b/liboctave/CMatrix.cc @@ -194,7 +194,7 @@ if (rows () != a.rows () || cols () != a.cols ()) return false; - return equal (data (), a.data (), length ()); + return mx_inline_equal (data (), a.data (), length ()); } bool @@ -742,8 +742,8 @@ int a_len = a.length (); ComplexMatrix retval; if (a_len > 0) - retval = ComplexMatrix (conj_dup (a.data (), a_len), a.rows (), - a.cols ()); + retval = ComplexMatrix (mx_inline_conj_dup (a.data (), a_len), + a.rows (), a.cols ()); return retval; } @@ -2023,7 +2023,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - add2 (d, a.data (), length ()); + mx_inline_add2 (d, a.data (), length ()); return *this; } @@ -2047,7 +2047,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - subtract2 (d, a.data (), length ()); + mx_inline_subtract2 (d, a.data (), length ()); return *this; } diff --git a/liboctave/CRowVector.cc b/liboctave/CRowVector.cc --- a/liboctave/CRowVector.cc +++ b/liboctave/CRowVector.cc @@ -63,7 +63,7 @@ int len = length (); if (len != a.length ()) return 0; - return equal (data (), a.data (), len); + return mx_inline_equal (data (), a.data (), len); } bool @@ -188,7 +188,7 @@ ComplexRowVector::hermitian (void) const { int len = length (); - return ComplexColumnVector (conj_dup (data (), len), len); + return ComplexColumnVector (mx_inline_conj_dup (data (), len), len); } ComplexColumnVector @@ -203,7 +203,7 @@ int a_len = a.length (); ComplexRowVector retval; if (a_len > 0) - retval = ComplexRowVector (conj_dup (a.data (), a_len), a_len); + retval = ComplexRowVector (mx_inline_conj_dup (a.data (), a_len), a_len); return retval; } @@ -244,7 +244,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - add2 (d, a.data (), len); + mx_inline_add2 (d, a.data (), len); return *this; } @@ -266,7 +266,7 @@ Complex *d = fortran_vec (); // Ensures only one reference to my privates! - subtract2 (d, a.data (), len); + mx_inline_subtract2 (d, a.data (), len); return *this; } diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,11 @@ +2001-01-31 John W. Eaton + + * file-ops.cc, help.cc, load-save.cc, pr-output.cc, utils.cc: + Add std:: namespace qualifier as needed. + + * mx-inlines.cc: Rename all functions with mx_inline_ prefix. + Change all uses to match. + 2001-01-29 John W. Eaton * lo-cutils.c: Don't delcare strptime. diff --git a/liboctave/boolMatrix.cc b/liboctave/boolMatrix.cc --- a/liboctave/boolMatrix.cc +++ b/liboctave/boolMatrix.cc @@ -44,7 +44,7 @@ if (rows () != a.rows () || cols () != a.cols ()) return 0; - return equal (data (), a.data (), length ()); + return mx_inline_equal (data (), a.data (), length ()); } bool diff --git a/liboctave/chMatrix.cc b/liboctave/chMatrix.cc --- a/liboctave/chMatrix.cc +++ b/liboctave/chMatrix.cc @@ -93,7 +93,7 @@ if (rows () != a.rows () || cols () != a.cols ()) return 0; - return equal (data (), a.data (), length ()); + return mx_inline_equal (data (), a.data (), length ()); } bool diff --git a/liboctave/dColVector.cc b/liboctave/dColVector.cc --- a/liboctave/dColVector.cc +++ b/liboctave/dColVector.cc @@ -56,7 +56,7 @@ int len = length (); if (len != a.length ()) return 0; - return equal (data (), a.data (), len); + return mx_inline_equal (data (), a.data (), len); } bool @@ -132,7 +132,7 @@ int a_len = a.length (); ColumnVector retval; if (a_len > 0) - retval = ColumnVector (real_dup (a.data (), a_len), a_len); + retval = ColumnVector (mx_inline_real_dup (a.data (), a_len), a_len); return retval; } @@ -142,7 +142,7 @@ int a_len = a.length (); ColumnVector retval; if (a_len > 0) - retval = ColumnVector (imag_dup (a.data (), a_len), a_len); + retval = ColumnVector (mx_inline_imag_dup (a.data (), a_len), a_len); return retval; } diff --git a/liboctave/dDiagMatrix.cc b/liboctave/dDiagMatrix.cc --- a/liboctave/dDiagMatrix.cc +++ b/liboctave/dDiagMatrix.cc @@ -44,7 +44,7 @@ if (rows () != a.rows () || cols () != a.cols ()) return 0; - return equal (data (), a.data (), length ()); + return mx_inline_equal (data (), a.data (), length ()); } bool @@ -143,7 +143,7 @@ DiagMatrix DiagMatrix::transpose (void) const { - return DiagMatrix (dup (data (), length ()), cols (), rows ()); + return DiagMatrix (mx_inline_dup (data (), length ()), cols (), rows ()); } DiagMatrix @@ -152,7 +152,7 @@ DiagMatrix retval; int a_len = a.length (); if (a_len > 0) - retval = DiagMatrix (real_dup (a.data (), a_len), a.rows (), + retval = DiagMatrix (mx_inline_real_dup (a.data (), a_len), a.rows (), a.cols ()); return retval; } @@ -163,7 +163,7 @@ DiagMatrix retval; int a_len = a.length (); if (a_len > 0) - retval = DiagMatrix (imag_dup (a.data (), a_len), a.rows (), + retval = DiagMatrix (mx_inline_imag_dup (a.data (), a_len), a.rows (), a.cols ()); return retval; } diff --git a/liboctave/dMatrix.cc b/liboctave/dMatrix.cc --- a/liboctave/dMatrix.cc +++ b/liboctave/dMatrix.cc @@ -158,7 +158,7 @@ if (rows () != a.rows () || cols () != a.cols ()) return false; - return equal (data (), a.data (), length ()); + return mx_inline_equal (data (), a.data (), length ()); } bool @@ -431,7 +431,8 @@ int a_len = a.length (); Matrix retval; if (a_len > 0) - retval = Matrix (real_dup (a.data (), a_len), a.rows (), a.cols ()); + retval = Matrix (mx_inline_real_dup (a.data (), a_len), + a.rows (), a.cols ()); return retval; } @@ -441,7 +442,8 @@ int a_len = a.length (); Matrix retval; if (a_len > 0) - retval = Matrix (imag_dup (a.data (), a_len), a.rows (), a.cols ()); + retval = Matrix (mx_inline_imag_dup (a.data (), a_len), + a.rows (), a.cols ()); return retval; } diff --git a/liboctave/dRowVector.cc b/liboctave/dRowVector.cc --- a/liboctave/dRowVector.cc +++ b/liboctave/dRowVector.cc @@ -59,7 +59,7 @@ int len = length (); if (len != a.length ()) return 0; - return equal (data (), a.data (), len); + return mx_inline_equal (data (), a.data (), len); } bool @@ -135,7 +135,7 @@ int a_len = a.length (); RowVector retval; if (a_len > 0) - retval = RowVector (real_dup (a.data (), a_len), a_len); + retval = RowVector (mx_inline_real_dup (a.data (), a_len), a_len); return retval; } @@ -145,7 +145,7 @@ int a_len = a.length (); RowVector retval; if (a_len > 0) - retval = RowVector (imag_dup (a.data (), a_len), a_len); + retval = RowVector (mx_inline_imag_dup (a.data (), a_len), a_len); return retval; } diff --git a/liboctave/file-ops.cc b/liboctave/file-ops.cc --- a/liboctave/file-ops.cc +++ b/liboctave/file-ops.cc @@ -205,7 +205,7 @@ else { buf[status] = '\0'; - result = string (buf); + result = std::string (buf); status = 0; } #else diff --git a/liboctave/mx-inlines.cc b/liboctave/mx-inlines.cc --- a/liboctave/mx-inlines.cc +++ b/liboctave/mx-inlines.cc @@ -36,10 +36,10 @@ r[i] = v[i] OP s; \ } -VS_OP_FCN (add, +) -VS_OP_FCN (subtract, -) -VS_OP_FCN (multiply, *) -VS_OP_FCN (divide, /) +VS_OP_FCN (mx_inline_add, +) +VS_OP_FCN (mx_inline_subtract, -) +VS_OP_FCN (mx_inline_multiply, *) +VS_OP_FCN (mx_inline_divide, /) #define VS_OP(F, OP, R, V, S) \ static inline R * \ @@ -55,10 +55,10 @@ } #define VS_OPS(R, V, S) \ - VS_OP (add, +, R, V, S) \ - VS_OP (subtract, -, R, V, S) \ - VS_OP (multiply, *, R, V, S) \ - VS_OP (divide, /, R, V, S) + VS_OP (mx_inline_add, +, R, V, S) \ + VS_OP (mx_inline_subtract, -, R, V, S) \ + VS_OP (mx_inline_multiply, *, R, V, S) \ + VS_OP (mx_inline_divide, /, R, V, S) VS_OPS (double, double, double) VS_OPS (Complex, double, Complex) @@ -74,10 +74,10 @@ r[i] = s OP v[i]; \ } \ -SV_OP_FCN (add, +) -SV_OP_FCN (subtract, -) -SV_OP_FCN (multiply, *) -SV_OP_FCN (divide, /) +SV_OP_FCN (mx_inline_add, +) +SV_OP_FCN (mx_inline_subtract, -) +SV_OP_FCN (mx_inline_multiply, *) +SV_OP_FCN (mx_inline_divide, /) #define SV_OP(F, OP, R, S, V) \ static inline R * \ @@ -93,10 +93,10 @@ } #define SV_OPS(R, S, V) \ - SV_OP (add, +, R, S, V) \ - SV_OP (subtract, -, R, S, V) \ - SV_OP (multiply, *, R, S, V) \ - SV_OP (divide, /, R, S, V) + SV_OP (mx_inline_add, +, R, S, V) \ + SV_OP (mx_inline_subtract, -, R, S, V) \ + SV_OP (mx_inline_multiply, *, R, S, V) \ + SV_OP (mx_inline_divide, /, R, S, V) SV_OPS (double, double, double) SV_OPS (Complex, double, Complex) @@ -112,10 +112,10 @@ r[i] = v1[i] OP v2[i]; \ } \ -VV_OP_FCN (add, +) -VV_OP_FCN (subtract, -) -VV_OP_FCN (multiply, *) -VV_OP_FCN (divide, /) +VV_OP_FCN (mx_inline_add, +) +VV_OP_FCN (mx_inline_subtract, -) +VV_OP_FCN (mx_inline_multiply, *) +VV_OP_FCN (mx_inline_divide, /) #define VV_OP(F, OP, R, T1, T2) \ static inline R * \ @@ -131,10 +131,10 @@ } #define VV_OPS(R, T1, T2) \ - VV_OP (add, +, R, T1, T2) \ - VV_OP (subtract, -, R, T1, T2) \ - VV_OP (multiply, *, R, T1, T2) \ - VV_OP (divide, /, R, T1, T2) + VV_OP (mx_inline_add, +, R, T1, T2) \ + VV_OP (mx_inline_subtract, -, R, T1, T2) \ + VV_OP (mx_inline_multiply, *, R, T1, T2) \ + VV_OP (mx_inline_divide, /, R, T1, T2) VV_OPS (double, double, double) VV_OPS (Complex, double, Complex) @@ -151,11 +151,11 @@ } #define VS_OP2S(V, S) \ - VS_OP2 (add2, +=, V, S) \ - VS_OP2 (subtract2, -=, V, S) \ - VS_OP2 (multiply2, *=, V, S) \ - VS_OP2 (divide2, /=, V, S) \ - VS_OP2 (copy, =, V, S) + VS_OP2 (mx_inline_add2, +=, V, S) \ + VS_OP2 (mx_inline_subtract2, -=, V, S) \ + VS_OP2 (mx_inline_multiply2, *=, V, S) \ + VS_OP2 (mx_inline_divide2, /=, V, S) \ + VS_OP2 (mx_inline_copy, =, V, S) VS_OP2S (double, double) VS_OP2S (Complex, double) @@ -171,11 +171,11 @@ } #define VV_OP2S(T1, T2) \ - VV_OP2 (add2, +=, T1, T2) \ - VV_OP2 (subtract2, -=, T1, T2) \ - VV_OP2 (multiply2, *=, T1, T2) \ - VV_OP2 (divide2, /=, T1, T2) \ - VV_OP2 (copy, =, T1, T2) + VV_OP2 (mx_inline_add2, +=, T1, T2) \ + VV_OP2 (mx_inline_subtract2, -=, T1, T2) \ + VV_OP2 (mx_inline_multiply2, *=, T1, T2) \ + VV_OP2 (mx_inline_divide2, /=, T1, T2) \ + VV_OP2 (mx_inline_copy, =, T1, T2) VV_OP2S (double, double) VV_OP2S (Complex, double) @@ -183,7 +183,7 @@ #define OP_EQ_FCN(T1, T2) \ static inline bool \ - equal (const T1 *x, const T2 *y, size_t n) \ + mx_inline_equal (const T1 *x, const T2 *y, size_t n) \ { \ for (size_t i = 0; i < n; i++) \ if (x[i] != y[i]) \ @@ -210,22 +210,22 @@ return r; \ } -OP_DUP_FCN (, dup, double, double) -OP_DUP_FCN (, dup, Complex, Complex) +OP_DUP_FCN (, mx_inline_dup, double, double) +OP_DUP_FCN (, mx_inline_dup, Complex, Complex) // These should really return a bool *. Also, they should probably be // in with a collection of other element-by-element boolean ops. -OP_DUP_FCN (0.0 ==, xnot, double, double) -OP_DUP_FCN (0.0 ==, xnot, double, Complex) +OP_DUP_FCN (0.0 ==, mx_inline_not, double, double) +OP_DUP_FCN (0.0 ==, mx_inline_not, double, Complex) -OP_DUP_FCN (, make_complex, Complex, double) +OP_DUP_FCN (, mx_inline_make_complex, Complex, double) -OP_DUP_FCN (-, change_sign, double, double) -OP_DUP_FCN (-, change_sign, Complex, Complex) +OP_DUP_FCN (-, mx_inline_change_sign, double, double) +OP_DUP_FCN (-, mx_inline_change_sign, Complex, Complex) -OP_DUP_FCN (real, real_dup, double, Complex) -OP_DUP_FCN (imag, imag_dup, double, Complex) -OP_DUP_FCN (conj, conj_dup, Complex, Complex) +OP_DUP_FCN (real, mx_inline_real_dup, double, Complex) +OP_DUP_FCN (imag, mx_inline_imag_dup, double, Complex) +OP_DUP_FCN (conj, mx_inline_conj_dup, Complex, Complex) #endif diff --git a/liboctave/mx-op-defs.h b/liboctave/mx-op-defs.h --- a/liboctave/mx-op-defs.h +++ b/liboctave/mx-op-defs.h @@ -165,10 +165,10 @@ } #define MS_BIN_OPS(R, M, S) \ - MS_BIN_OP (R, operator +, M, S, add) \ - MS_BIN_OP (R, operator -, M, S, subtract) \ - MS_BIN_OP (R, operator *, M, S, multiply) \ - MS_BIN_OP (R, operator /, M, S, divide) + MS_BIN_OP (R, operator +, M, S, mx_inline_add) \ + MS_BIN_OP (R, operator -, M, S, mx_inline_subtract) \ + MS_BIN_OP (R, operator *, M, S, mx_inline_multiply) \ + MS_BIN_OP (R, operator /, M, S, mx_inline_divide) #define MS_CMP_OP_DECLS(M, S) \ CMP_OP_DECL (mx_el_lt, M, S); \ @@ -267,10 +267,10 @@ } #define SM_BIN_OPS(R, S, M) \ - SM_BIN_OP (R, operator +, S, M, add) \ - SM_BIN_OP (R, operator -, S, M, subtract) \ - SM_BIN_OP (R, operator *, S, M, multiply) \ - SM_BIN_OP (R, operator /, S, M, divide) + SM_BIN_OP (R, operator +, S, M, mx_inline_add) \ + SM_BIN_OP (R, operator -, S, M, mx_inline_subtract) \ + SM_BIN_OP (R, operator *, S, M, mx_inline_multiply) \ + SM_BIN_OP (R, operator /, S, M, mx_inline_divide) #define SM_CMP_OP_DECLS(S, M) \ CMP_OP_DECL (mx_el_lt, S, M); \ @@ -379,10 +379,10 @@ } #define MM_BIN_OPS(R, M1, M2) \ - MM_BIN_OP (R, operator +, M1, M2, add) \ - MM_BIN_OP (R, operator -, M1, M2, subtract) \ - MM_BIN_OP (R, product, M1, M2, multiply) \ - MM_BIN_OP (R, quotient, M1, M2, divide) + MM_BIN_OP (R, operator +, M1, M2, mx_inline_add) \ + MM_BIN_OP (R, operator -, M1, M2, mx_inline_subtract) \ + MM_BIN_OP (R, product, M1, M2, mx_inline_multiply) \ + MM_BIN_OP (R, quotient, M1, M2, mx_inline_divide) #define MM_CMP_OP_DECLS(M1, M2) \ CMP_OP_DECL (mx_el_lt, M1, M2); \ @@ -748,9 +748,9 @@ } #define DMDM_BIN_OPS(R, DM1, DM2) \ - DMDM_BIN_OP (R, operator +, DM1, DM2, add) \ - DMDM_BIN_OP (R, operator -, DM1, DM2, subtract) \ - DMDM_BIN_OP (R, product, DM1, DM2, multiply) + DMDM_BIN_OP (R, operator +, DM1, DM2, mx_inline_add) \ + DMDM_BIN_OP (R, operator -, DM1, DM2, mx_inline_subtract) \ + DMDM_BIN_OP (R, product, DM1, DM2, mx_inline_multiply) #define DMDM_OP_DECLS(R, DM1, DM2) \ DMDM_BIN_OP_DECLS (R, DM1, DM2) diff --git a/src/help.cc b/src/help.cc --- a/src/help.cc +++ b/src/help.cc @@ -639,7 +639,7 @@ << "See also: \\args\\.\n" << "@end macro\n"; - filter << msg.substr (pos+1) << endl; + filter << msg.substr (pos+1) << std::endl; int status = filter.close (); diff --git a/src/load-save.cc b/src/load-save.cc --- a/src/load-save.cc +++ b/src/load-save.cc @@ -2772,7 +2772,7 @@ // Return TRUE if NAME matches one of the given globbing PATTERNS. static bool -matches_patterns (const std::string_vector& patterns, int pat_idx, +matches_patterns (const string_vector& patterns, int pat_idx, int num_pat, const std::string& name) { for (int i = pat_idx; i < num_pat; i++) @@ -4081,7 +4081,7 @@ FOUR_BYTE_INT junk=0; FOUR_BYTE_INT nr; FOUR_BYTE_INT nc; - streampos fixup, contin; + std::streampos fixup, contin; // element type and length fixup = os.tellp (); @@ -4231,7 +4231,7 @@ for (i = m.first (); i; m.next (i)) { // write the name of each element - string tstr = m.key (i); + std::string tstr = m.key (i); memset (buf, 0, 32); strncpy (buf, tstr.c_str (), 31); // only 31 char names permitted os.write (buf, 32); @@ -4609,7 +4609,7 @@ { bool infnan_warned = true; - save_ascii_data (os, t, name, infnan_warned, true, false, 0); + return save_ascii_data (os, t, name, infnan_warned, true, false, 0); } // Save the info from sr on stream os in the format specified by fmt. @@ -4810,7 +4810,7 @@ } static void -save_vars (const std::string_vector& argv, int argv_idx, int argc, +save_vars (const string_vector& argv, int argv_idx, int argc, std::ostream& os, bool save_builtins, load_save_format fmt, bool save_as_floats, bool write_header_info) { @@ -5123,7 +5123,8 @@ if (file) { bool write_header_info - = ( (file.rdbuf ())->seekoff (0, std::ios::cur) == 0); + = ((file.rdbuf ())->seekoff (0, std::ios::cur) + == static_cast (0)); save_vars (argv, i, argc, file, save_builtins, format, save_as_floats, write_header_info); @@ -5226,7 +5227,7 @@ return status; } -static string +static std::string default_save_header_format (void) { return diff --git a/src/pr-output.cc b/src/pr-output.cc --- a/src/pr-output.cc +++ b/src/pr-output.cc @@ -1828,7 +1828,7 @@ if (! error_state) { - ostream *osp = os.output_stream (); + std::ostream *osp = os.output_stream (); if (osp) args(1).print (*osp); diff --git a/src/pt-pr-code.cc b/src/pt-pr-code.cc --- a/src/pt-pr-code.cc +++ b/src/pt-pr-code.cc @@ -1274,7 +1274,7 @@ bool prev_char_was_newline = false; - string comment = elt.text (); + std::string comment = elt.text (); size_t len = comment.length (); diff --git a/src/utils.cc b/src/utils.cc --- a/src/utils.cc +++ b/src/utils.cc @@ -720,11 +720,11 @@ #if defined (__GNUG__) - ostrstream buf; + std::ostrstream buf; buf.vform (fmt, args); - buf << ends; + buf << std::ends; char *s = buf.str ();