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

Re: [Pkg-octave-devel] Octave 4.0.x with GCC 6



On Thu, Aug 11, 2016 at 13:03:59 -0700, Mike Miller wrote:
> I plan to attempt a local build of Octave 4.0.3 with the first 3 changes
> applied. I will report back when I have a result from that test.

I got a successful build of 4.0.3-1 in a clean unstable chroot (which is
gcc 6 now) with the attached patches applied. If you agree that these
patches are a reasonable maintenance burden, I can commit them on
master, and a subsequent upload should build and resolve #831120.

The gcc-6-include-math-stdlib patch would be our largest patch, but I
pasted the command used to make the patch into the dep3 header so it
should be easy to regenerate should anyone need to.

-- 
mike
Description: Work around abs overload changes in gcc 6
 In gcc 6, abs(unsigned int&) is illegal.  This patch declares local inline
 replacements.
 .
 See https://gcc.gnu.org/gcc-6/porting_to.html
Origin: vendor, http://pkgs.fedoraproject.org/cgit/rpms/octave.git/tree/octave-abs.patch
Forwarded: not-needed
Reviewed-by: Mike Miller <mtmiller@debian.org>
Last-Update: 2016-08-11
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/libinterp/corefcn/pr-output.cc
+++ b/libinterp/corefcn/pr-output.cc
@@ -3145,6 +3145,14 @@ PRINT_INT_SCALAR_INTERNAL (uint32_t)
 PRINT_INT_SCALAR_INTERNAL (int64_t)
 PRINT_INT_SCALAR_INTERNAL (uint64_t)
 
+inline unsigned int abs (unsigned int x) { return x; }
+inline long unsigned int abs (long unsigned int x) { return x; }
+inline long long unsigned int abs (long long unsigned int x) { return x; }
+inline short unsigned int abs (short unsigned int x) { return x; }
+inline unsigned char abs (unsigned char x) { return x; }
+inline signed char abs (signed char x) { return abs((int)x); }
+inline short int abs (short int x) { return abs((int)x); }
+
 template <class T>
 /* static */ inline void
 octave_print_internal_template (std::ostream& os, const intNDArray<T>& nda,
Description: Include <math.h> and <stdlib.h> directly instead of C++ versions
 In gcc 6, the C++ header files <cmath> and <cstdlib> are strictly dependent on
 the system <math.h> and <stdlib.h> headers. Including <cmath> and <cstdlib>
 and expecting those to pull in the gnulib replacement headers no longer works.
 .
 This patch was generated with the following command, adapted from the Fedora
 package octave.spec file:
 .
   find liboctave libinterp src -type f \( -name \*.cc -o -name \*.h \) -exec \
       sed -i 's/\(# *include\) <c\(math\|stdlib\)>/\1 <\2.h>/' {} +
Author: Mike Miller <mtmiller@debian.org>
Forwarded: not-needed
Last-Update: 2016-08-11
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/libinterp/corefcn/defaults.cc
+++ b/libinterp/corefcn/defaults.cc
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <algorithm>
 #include <iostream>
--- a/libinterp/corefcn/dirfns.cc
+++ b/libinterp/corefcn/dirfns.cc
@@ -27,7 +27,7 @@ along with Octave; see the file COPYING.
 #include <cerrno>
 #include <cstdio>
 #include <cstddef>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <sstream>
--- a/libinterp/corefcn/graphics.cc
+++ b/libinterp/corefcn/graphics.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 
 #include <cctype>
 #include <cfloat>
-#include <cstdlib>
+#include <stdlib.h>
 #include <ctime>
 
 #include <algorithm>
--- a/libinterp/corefcn/help.cc
+++ b/libinterp/corefcn/help.cc
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <algorithm>
--- a/libinterp/corefcn/input.cc
+++ b/libinterp/corefcn/input.cc
@@ -27,7 +27,7 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cstdio>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 #include <cassert>
 
--- a/libinterp/corefcn/mex.cc
+++ b/libinterp/corefcn/mex.cc
@@ -25,7 +25,7 @@ along with Octave; see the file COPYING.
 #include <cfloat>
 #include <csetjmp>
 #include <cstdarg>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 #include <cctype>
 
--- a/libinterp/corefcn/mexproto.h
+++ b/libinterp/corefcn/mexproto.h
@@ -49,7 +49,7 @@ SUCH DAMAGE.
 #define MEXPROTO_H
 
 #if defined (__cplusplus)
-#include <cstdlib>
+#include <stdlib.h>
 extern "C" {
 #else
 #include <stdlib.h>
--- a/libinterp/corefcn/oct-hist.cc
+++ b/libinterp/corefcn/oct-hist.cc
@@ -35,7 +35,7 @@ Software Foundation, Inc.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <string>
--- a/libinterp/corefcn/sighandlers.cc
+++ b/libinterp/corefcn/sighandlers.cc
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iostream>
 #include <new>
--- a/libinterp/corefcn/sparse.cc
+++ b/libinterp/corefcn/sparse.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 #include <string>
 
 #include "variables.h"
--- a/libinterp/corefcn/sysdep.cc
+++ b/libinterp/corefcn/sysdep.cc
@@ -27,7 +27,7 @@ along with Octave; see the file COPYING.
 #include <cfloat>
 #include <cstddef>
 #include <cstdio>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <iostream>
--- a/libinterp/corefcn/toplev.cc
+++ b/libinterp/corefcn/toplev.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 
 #include <cassert>
 #include <cerrno>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 #include <new>
 
--- a/libinterp/corefcn/xnorm.cc
+++ b/libinterp/corefcn/xnorm.cc
@@ -28,7 +28,7 @@ along with Octave; see the file COPYING.
 
 #include <cassert>
 #include <cfloat>
-#include <cmath>
+#include <math.h>
 
 #include "oct-norm.h"
 
--- a/libinterp/dldfcn/amd.cc
+++ b/libinterp/dldfcn/amd.cc
@@ -27,7 +27,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <string>
 #include <vector>
--- a/libinterp/dldfcn/ccolamd.cc
+++ b/libinterp/dldfcn/ccolamd.cc
@@ -27,7 +27,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <string>
 #include <vector>
--- a/libinterp/dldfcn/colamd.cc
+++ b/libinterp/dldfcn/colamd.cc
@@ -28,7 +28,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <string>
 #include <vector>
--- a/libinterp/octave.cc
+++ b/libinterp/octave.cc
@@ -28,7 +28,7 @@ along with Octave; see the file COPYING.
 
 #include <cassert>
 #include <clocale>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 #include <ctime>
 
--- a/libinterp/octave-value/ov-base-diag.h
+++ b/libinterp/octave-value/ov-base-diag.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_base_diag_h)
 #define octave_ov_base_diag_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-base.h
+++ b/libinterp/octave-value/ov-base.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_base_h)
 #define octave_ov_base_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <list>
--- a/libinterp/octave-value/ov-base-int.h
+++ b/libinterp/octave-value/ov-base-int.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_base_int_h)
 #define octave_ov_base_int_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-base-mat.h
+++ b/libinterp/octave-value/ov-base-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_base_mat_h)
 #define octave_ov_base_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-base-scalar.h
+++ b/libinterp/octave-value/ov-base-scalar.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_base_scalar_h)
 #define octave_ov_base_scalar_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-base-sparse.h
+++ b/libinterp/octave-value/ov-base-sparse.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_base_sparse_h)
 #define octave_ov_base_sparse_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-bool.h
+++ b/libinterp/octave-value/ov-bool.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_bool_h)
 #define octave_ov_bool_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-bool-mat.h
+++ b/libinterp/octave-value/ov-bool-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_bool_mat_h)
 #define octave_ov_bool_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-bool-sparse.h
+++ b/libinterp/octave-value/ov-bool-sparse.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_bool_sparse_h)
 #define octave_ov_bool_sparse_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-cell.h
+++ b/libinterp/octave-value/ov-cell.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_cell_h)
 #define octave_ov_cell_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-ch-mat.h
+++ b/libinterp/octave-value/ov-ch-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_ch_mat_h)
 #define octave_ov_ch_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-class.h
+++ b/libinterp/octave-value/ov-class.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_class_h)
 #define octave_ov_class_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-colon.h
+++ b/libinterp/octave-value/ov-colon.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_colon_h)
 #define octave_ov_colon_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-complex.h
+++ b/libinterp/octave-value/ov-complex.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_complex_h)
 #define octave_ov_complex_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-cs-list.h
+++ b/libinterp/octave-value/ov-cs-list.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_cs_list_h)
 #define octave_ov_cs_list_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-cx-mat.h
+++ b/libinterp/octave-value/ov-cx-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_cx_mat_h)
 #define octave_ov_cx_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-cx-sparse.h
+++ b/libinterp/octave-value/ov-cx-sparse.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_cx_sparse_h)
 #define octave_ov_cx_sparse_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-float.h
+++ b/libinterp/octave-value/ov-float.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_float_h)
 #define octave_ov_float_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-flt-complex.h
+++ b/libinterp/octave-value/ov-flt-complex.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_flt_complex_h)
 #define octave_ov_flt_complex_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-flt-cx-mat.h
+++ b/libinterp/octave-value/ov-flt-cx-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_flt_cx_mat_h)
 #define octave_ov_flt_cx_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-flt-re-mat.h
+++ b/libinterp/octave-value/ov-flt-re-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_flt_re_mat_h)
 #define octave_ov_flt_re_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov.h
+++ b/libinterp/octave-value/ov.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_h)
 #define octave_ov_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-intx.h
+++ b/libinterp/octave-value/ov-intx.h
@@ -21,7 +21,7 @@ along with Octave; see the file COPYING.
 
 */
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-range.h
+++ b/libinterp/octave-value/ov-range.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_range_h)
 #define octave_ov_range_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-re-mat.h
+++ b/libinterp/octave-value/ov-re-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_re_mat_h)
 #define octave_ov_re_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-re-sparse.h
+++ b/libinterp/octave-value/ov-re-sparse.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_re_sparse_h)
 #define octave_ov_re_sparse_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-scalar.h
+++ b/libinterp/octave-value/ov-scalar.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_scalar_h)
 #define octave_ov_scalar_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-str-mat.h
+++ b/libinterp/octave-value/ov-str-mat.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_str_mat_h)
 #define octave_ov_str_mat_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/octave-value/ov-struct.h
+++ b/libinterp/octave-value/ov-struct.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_ov_struct_h)
 #define octave_ov_struct_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iosfwd>
 #include <string>
--- a/libinterp/parse-tree/oct-parse.cc
+++ b/libinterp/parse-tree/oct-parse.cc
@@ -84,7 +84,7 @@
 
 #include <cassert>
 #include <cstdio>
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iostream>
 #include <map>
--- a/liboctave/array/DiagArray2.h
+++ b/liboctave/array/DiagArray2.h
@@ -27,7 +27,7 @@ along with Octave; see the file COPYING.
 #define octave_DiagArray2_h 1
 
 #include <cassert>
-#include <cstdlib>
+#include <stdlib.h>
 
 #include "Array.h"
 
--- a/liboctave/array/idx-vector.cc
+++ b/liboctave/array/idx-vector.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iostream>
 
--- a/liboctave/cruft/Faddeeva/Faddeeva.cc
+++ b/liboctave/cruft/Faddeeva/Faddeeva.cc
@@ -160,7 +160,7 @@
 #  include "Faddeeva.hh"
 
 #  include <cfloat>
-#  include <cmath>
+#  include <math.h>
 #  include <limits>
 using namespace std;
 
--- a/liboctave/numeric/DET.h
+++ b/liboctave/numeric/DET.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_DET_h)
 #define octave_DET_h 1
 
-#include <cmath>
+#include <math.h>
 #include "oct-cmplx.h"
 #include "lo-mappers.h"
 
--- a/liboctave/numeric/eigs-base.cc
+++ b/liboctave/numeric/eigs-base.cc
@@ -25,7 +25,7 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cfloat>
-#include <cmath>
+#include <math.h>
 #include <vector>
 #include <iostream>
 
--- a/liboctave/numeric/oct-norm.cc
+++ b/liboctave/numeric/oct-norm.cc
@@ -28,7 +28,7 @@ along with Octave; see the file COPYING.
 
 #include <cassert>
 #include <cfloat>
-#include <cmath>
+#include <math.h>
 
 #include <iostream>
 #include <vector>
--- a/liboctave/operators/mx-inlines.cc
+++ b/liboctave/operators/mx-inlines.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 #define octave_mx_inlines_h 1
 
 #include <cstddef>
-#include <cmath>
+#include <math.h>
 #include <cstring>
 #include <memory>
 
--- a/liboctave/system/dir-ops.cc
+++ b/liboctave/system/dir-ops.cc
@@ -25,7 +25,7 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cerrno>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <list>
--- a/liboctave/system/file-ops.cc
+++ b/liboctave/system/file-ops.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 
 #include <cerrno>
 #include <cstdio>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <iostream>
--- a/liboctave/system/oct-env.cc
+++ b/liboctave/system/oct-env.cc
@@ -41,7 +41,7 @@ Free Software Foundation, Inc.
 #endif
 
 #include <cctype>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <string>
--- a/liboctave/system/oct-syscalls.cc
+++ b/liboctave/system/oct-syscalls.cc
@@ -25,7 +25,7 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cerrno>
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <string.h>
 
--- a/liboctave/util/base-list.h
+++ b/liboctave/util/base-list.h
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_base_list_h)
 #define octave_base_list_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <list>
 
--- a/liboctave/util/cmd-edit.cc
+++ b/liboctave/util/cmd-edit.cc
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <string>
@@ -57,7 +57,7 @@ static octave_mutex event_hook_lock;
 #if defined (USE_READLINE)
 
 #include <cstdio>
-#include <cstdlib>
+#include <stdlib.h>
 
 #include "oct-rl-edit.h"
 
--- a/liboctave/util/cmd-hist.cc
+++ b/liboctave/util/cmd-hist.cc
@@ -41,7 +41,7 @@ command_history *command_history::instan
 
 #if defined (USE_READLINE)
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <sys/types.h>
 #include <unistd.h>
--- a/liboctave/util/data-conv.cc
+++ b/liboctave/util/data-conv.cc
@@ -25,7 +25,7 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cctype>
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <iostream>
 #include <limits>
--- a/liboctave/util/kpse.cc
+++ b/liboctave/util/kpse.cc
@@ -132,7 +132,7 @@ extern "C" {
    NULL being defined multiple times.  */
 #include <cstdio>
 #include <cstdarg>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cerrno>
 #include <cassert>
 
--- a/liboctave/util/lo-ieee.cc
+++ b/liboctave/util/lo-ieee.cc
@@ -25,8 +25,8 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cfloat>
-#include <cmath>
-#include <cstdlib>
+#include <math.h>
+#include <stdlib.h>
 
 #include <limits>
 
--- a/liboctave/util/lo-math.h
+++ b/liboctave/util/lo-math.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #define octave_lo_math_h 1
 
 #if defined (__cplusplus)
-#include <cmath>
+#include <math.h>
 // if #undef log2 is missing in cmath, undef it here
 #if defined (log2)
 #undef log2
--- a/liboctave/util/lo-utils.cc
+++ b/liboctave/util/lo-utils.cc
@@ -26,7 +26,7 @@ along with Octave; see the file COPYING.
 #endif
 
 #include <cctype>
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstdio>
 #include <cstring>
 #include <cfloat>
--- a/liboctave/util/oct-inttypes.h
+++ b/liboctave/util/oct-inttypes.h
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #if !defined (octave_oct_inttypes_h)
 #define octave_oct_inttypes_h 1
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <limits>
 #include <iosfwd>
--- a/liboctave/util/pathsearch.cc
+++ b/liboctave/util/pathsearch.cc
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <string>
 
--- a/src/main.in.cc
+++ b/src/main.in.cc
@@ -32,7 +32,7 @@ along with Octave; see the file COPYING.
 #include <config.h>
 #endif
 
-#include <cstdlib>
+#include <stdlib.h>
 #include <cstring>
 
 #include <algorithm>
@@ -61,7 +61,7 @@ along with Octave; see the file COPYING.
 #include "display-available.h"
 #include "shared-fcns.h"
 
-#include <cstdlib>
+#include <stdlib.h>
 
 #if (defined (HAVE_OCTAVE_GUI) \
      && ! defined (__WIN32__) || defined (__CYGWIN__))
--- a/src/mkoctfile.in.cc
+++ b/src/mkoctfile.in.cc
@@ -33,7 +33,7 @@ along with Octave; see the file COPYING.
 #include <iostream>
 #include <fstream>
 #include <vector>
-#include <cstdlib>
+#include <stdlib.h>
 
 #include <unistd.h>
 
--- a/src/octave-config.in.cc
+++ b/src/octave-config.in.cc
@@ -29,7 +29,7 @@ along with Octave; see the file COPYING.
 #include <map>
 #include <iostream>
 #include <algorithm>
-#include <cstdlib>
+#include <stdlib.h>
 
 #ifndef OCTAVE_PREFIX
 #define OCTAVE_PREFIX %OCTAVE_PREFIX%

Reply to: