# HG changeset patch # User Kai T. Ohlhus # Date 1471248599 -7200 # Node ID bc2a5db96754f625747cf3be36f2b57e0ac459f1 # Parent 8b18f46f642754504f580d54069a9937d87fc3a0 Resolve compile time issues, when octave_idx_type is long int. * libinterp/octave-value/ov-classdef.cc: static_cast of ambiguous constants. * libinterp/octave-value/ov-typeinfo.cc: static_cast of ambiguous constants. * liboctave/numeric/gsvd.cc: use F77_INT* rather than int*. * liboctave/numeric/svd.cc: static_cast of ambiguous constants. diff -r 8b18f46f6427 -r bc2a5db96754 libinterp/octave-value/ov-classdef.cc --- a/libinterp/octave-value/ov-classdef.cc Mon Aug 15 02:01:29 2016 -0400 +++ b/libinterp/octave-value/ov-classdef.cc Mon Aug 15 10:09:59 2016 +0200 @@ -1652,7 +1652,8 @@ bool is_scalar = true; - Array iv (dim_vector (1, std::max (ival.length (), 2))); + Array iv (dim_vector (1, std::max (ival.length (), + static_cast (2)))); for (int i = 0; i < ival.length (); i++) { @@ -1678,7 +1679,7 @@ // Fill in trailing singleton dimensions so that // array.index doesn't create a new blank entry (bug #46660). for (int i = ival.length (); i < 2; i++) - iv(i) = 1; + iv(i) = static_cast (1); Array a = array.index (iv, true); diff -r 8b18f46f6427 -r bc2a5db96754 libinterp/octave-value/ov-typeinfo.cc --- a/libinterp/octave-value/ov-typeinfo.cc Mon Aug 15 02:01:29 2016 -0400 +++ b/libinterp/octave-value/ov-typeinfo.cc Mon Aug 15 10:09:59 2016 +0200 @@ -705,7 +705,8 @@ { octave_scalar_map retval; - int len = std::min (non_const_unary_ops.columns (), num_types); + int len = std::min (static_cast (non_const_unary_ops.columns ()), + num_types); dim_vector tab_dims (1, len); @@ -729,7 +730,8 @@ { octave_scalar_map retval; - int len = std::min (non_const_unary_ops.columns (), num_types); + int len = std::min (static_cast (non_const_unary_ops.columns ()), + num_types); dim_vector tab_dims (1, len); @@ -753,7 +755,7 @@ { octave_scalar_map retval; - int len = std::min (binary_ops.columns (), num_types); + int len = std::min (static_cast (binary_ops.columns ()), num_types); dim_vector tab_dims (len, len); @@ -778,7 +780,8 @@ { octave_scalar_map retval; - int len = std::min (compound_binary_ops.columns (), num_types); + int len = std::min (static_cast (compound_binary_ops.columns ()), + num_types); dim_vector tab_dims (len, len); @@ -803,7 +806,7 @@ { octave_scalar_map retval; - int len = std::min (assign_ops.columns (), num_types); + int len = std::min (static_cast (assign_ops.columns ()), num_types); dim_vector tab_dims (len, len); @@ -828,7 +831,7 @@ { octave_scalar_map retval; - int len = std::min (assignany_ops.columns (), num_types); + int len = std::min (static_cast (assignany_ops.columns ()), num_types); dim_vector tab_dims (1, len); diff -r 8b18f46f6427 -r bc2a5db96754 liboctave/numeric/gsvd.cc --- a/liboctave/numeric/gsvd.cc Mon Aug 15 02:01:29 2016 -0400 +++ b/liboctave/numeric/gsvd.cc Mon Aug 15 10:09:59 2016 +0200 @@ -54,7 +54,7 @@ F77_DBLE*, // Q (output) DOUBLE PRECISION array, dimension (LDQ,N) const F77_INT&, // LDQ (input) INTEGER F77_DBLE*, // WORK (workspace) DOUBLE PRECISION array - int*, // IWORK (workspace/output) INTEGER array, dimension (N) + F77_INT*, // IWORK (workspace/output) INTEGER array, dimension (N) F77_INT& // INFO (output)INTEGER F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL @@ -86,7 +86,7 @@ const F77_INT&, // LDQ (input) INTEGER F77_DBLE_CMPLX*, // WORK (workspace) COMPLEX*16 array F77_DBLE*, // RWORK (workspace) DOUBLE PRECISION array - int*, // IWORK (workspace/output) INTEGER array, dimension (N) + F77_INT*, // IWORK (workspace/output) INTEGER array, dimension (N) F77_INT& // INFO (output)INTEGER F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL diff -r 8b18f46f6427 -r bc2a5db96754 liboctave/numeric/svd.cc --- a/liboctave/numeric/svd.cc Mon Aug 15 02:01:29 2016 -0400 +++ b/liboctave/numeric/svd.cc Mon Aug 15 10:09:59 2016 +0200 @@ -461,8 +461,9 @@ std::vector

work (1); - octave_idx_type m1 = std::max (m, 1); - octave_idx_type nrow_vt1 = std::max (nrow_vt, 1); + octave_idx_type m1 = std::max (m, static_cast (1)); + octave_idx_type nrow_vt1 = std::max (nrow_vt, + static_cast (1)); if (m_driver == svd::Driver::GESVD) gesvd (jobu, jobv, m, n, tmp_data, m1, s_vec, u, vt, nrow_vt1,