changeset 5174:4515ad040dc7

[project @ 2005-03-02 05:35:48 by jwe]
author jwe
date Wed, 02 Mar 2005 05:35:48 +0000
parents 1278a2bc1527
children 7a25bb94ef65
files ChangeLog configure.in
diffstat 2 files changed, 18 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Mar 02 01:38:31 2005 +0000
+++ b/ChangeLog	Wed Mar 02 05:35:48 2005 +0000
@@ -1,3 +1,8 @@
+2005-03-02  John W. Eaton  <jwe@octave.org>
+
+	* configure.in (OCTAVE_LOCAL_BUFFER): Use < T > instead of <T>.
+	From Clinton Chee <chee@parallel.hpc.unsw.edu.au>.
+
 2005-03-01  John W. Eaton  <jwe@octave.org>
 
 	* configure.in (AC_CONFIG_FILES): Remove libcruft/odessa/Makefile
--- a/configure.in	Wed Mar 02 01:38:31 2005 +0000
+++ b/configure.in	Wed Mar 02 05:35:48 2005 +0000
@@ -29,7 +29,7 @@
 EXTERN_CXXFLAGS="$CXXFLAGS"
 
 AC_INIT
-AC_REVISION($Revision: 1.462 $)
+AC_REVISION($Revision: 1.463 $)
 AC_PREREQ(2.57)
 AC_CONFIG_SRCDIR([src/octave.cc])
 AC_CONFIG_HEADER(config.h)
@@ -1405,13 +1405,23 @@
    not delete[] and we need the latter to properly handle arrays
    allocated with new[size].
 
+   Use < T > instead of <T> to avoid problems if T is a template type
+   (say, foo<int>) and the preprocessor fails to insert a space and
+   generates <foo<int>>.
+
 #if defined (HAVE_DYNAMIC_AUTO_ARRAYS)
+
 #define OCTAVE_LOCAL_BUFFER(T, buf, size) \
   T buf[size]
-#else */
+
+#else
+
+*/
+
 #define OCTAVE_LOCAL_BUFFER(T, buf, size) \
-  std::vector<T> buf ## _vector (size); \
+  std::vector< T > buf ## _vector (size); \
   T *buf = &(buf ## _vector[0])
+
 /* #endif */
 
 #if defined (__DECCXX)