Your message dated Mon, 18 Jul 2005 01:18:15 -0500
with message-id <[EMAIL PROTECTED]>
and subject line Current version builds with gcc-{3.4,4.0}
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 13 Aug 2004 12:58:53 +0000
>From [EMAIL PROTECTED] Fri Aug 13 05:58:53 2004
Return-path: <[EMAIL PROTECTED]>
Received: from d001029.adsl.hansenet.de (localhost) [80.171.1.29] 
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1Bvbdz-0003Uz-00; Fri, 13 Aug 2004 05:58:52 -0700
Received: from aj by localhost with local (Exim 4.34)
        id 1Bvbdz-0005Zh-Pq; Fri, 13 Aug 2004 14:58:51 +0200
To: Debian Bug Tracking System <[EMAIL PROTECTED]>
From: Andreas Jochens <[EMAIL PROTECTED]>
Subject: mcmcpack: FTBFS with gcc-3.4: `current_' undeclared (first use this 
function)
Message-Id: <[EMAIL PROTECTED]>
Date: Fri, 13 Aug 2004 14:58:51 +0200
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-5.2 required=4.0 tests=BAYES_40,HAS_PACKAGE 
        autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

Package: mcmcpack
Severity: normal
Tags: patch

When building 'mcmcpack' with gcc-3.4 I get the following error:

Scythe_Matrix_Iterator.h: In member function `int 
SCYTHE::const_reverse_col_major_iterator<T>::get_index() const':
Scythe_Matrix_Iterator.h:1654: error: `current_' undeclared (first use this 
function)
Scythe_Matrix_Iterator.h:1655: error: `matrix_' undeclared (first use this 
function)
In file included from MCMCbaselineDA.cc:9:
Scythe_Matrix.h: At global scope:
Scythe_Matrix.h:98: error: using typedef-name `SCYTHE::Matrix<T>::iterator' 
after `class'
Scythe_Matrix.h:99: error: using typedef-name 
`SCYTHE::Matrix<T>::const_iterator' after `class'
Scythe_Matrix.h:100: error: using typedef-name 
`SCYTHE::Matrix<T>::row_major_iterator' after `class'
Scythe_Matrix.h:101: error: using typedef-name 
`SCYTHE::Matrix<T>::col_major_iterator' after `class'
Scythe_Matrix.h:102: error: using typedef-name 
`SCYTHE::Matrix<T>::const_row_major_iterator' after `class'
Scythe_Matrix.h:103: error: using typedef-name 
`SCYTHE::Matrix<T>::const_col_major_iterator' after `class'
Scythe_Matrix.h:104: error: using typedef-name 
`SCYTHE::Matrix<T>::reverse_row_major_iterator' after `class'
Scythe_Matrix.h:105: error: using typedef-name 
`SCYTHE::Matrix<T>::const_reverse_row_major_iterator' after `class'
Scythe_Matrix.h:106: error: using typedef-name 
`SCYTHE::Matrix<T>::reverse_col_major_iterator' after `class'
Scythe_Matrix.h:107: error: using typedef-name 
`SCYTHE::Matrix<T>::const_reverse_col_major_iterator' after `class'
make[1]: *** [MCMCbaselineDA.o] Error 1
make[1]: Leaving directory `/mcmcpack-0.4-8/src'
ERROR: compilation failed for package 'MCMCpack'

With the attached patch 'mcmcpack' can be compiled using gcc-3.4.

Regards
Andreas Jochens

diff -urN ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix.h ./src/Scythe_Matrix.h
--- ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix.h      2004-02-04 
18:01:57.000000000 +0100
+++ ./src/Scythe_Matrix.h       2004-08-13 14:53:15.692354609 +0200
@@ -94,7 +94,7 @@
       reverse_col_major_iterator;
     typedef const_reverse_col_major_iterator<ttype>
       const_reverse_col_major_iterator;
-
+/*
     friend class iterator;
     friend class const_iterator;
     friend class row_major_iterator;
@@ -105,7 +105,7 @@
     friend class const_reverse_row_major_iterator;
     friend class reverse_col_major_iterator;
     friend class const_reverse_col_major_iterator;
-    
+*/    
     /**** Constructors ****/
 
     /* Default Constructor: Creates a Matrix of size 0.  This
@@ -635,6 +635,7 @@
       delete[] temp;
     }
 
+public:
     /**** Instance Variables ****/
     int rows_;        // # of rows
     int cols_;        // # of cols
diff -urN ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix_Iterator.h 
./src/Scythe_Matrix_Iterator.h
--- ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix_Iterator.h     2003-09-16 
03:15:27.000000000 +0200
+++ ./src/Scythe_Matrix_Iterator.h      2004-08-13 14:53:15.694354305 +0200
@@ -95,13 +95,13 @@
     // Provide read/write access to referent
     inline T &operator* () const
     {
-      return matrix_->data_[current_];
+      return this->matrix_->data_[this->current_];
     }
 
     // Provide read access to a member (if any) of referent
     inline T *operator-> () const
     {
-      return &(matrix_->data_[current_]);
+      return &(this->matrix_->data_[this->current_]);
     }
 
     /* Pre and postfix operators: note that the postfix operators
@@ -154,18 +154,18 @@
     /**** Figure out our current index ****/
     int get_row() const
     {
-      return (int) (current_ / matrix_->cols());
+      return (int) (this->current_ / this->matrix_->cols());
     }
 
     int get_col() const
     {
-      int row = (int) (current_ / matrix_->cols());
-      return (current_ - (row * matrix_->cols()));
+      int row = (int) (this->current_ / this->matrix_->cols());
+      return (this->current_ - (row * this->matrix_->cols()));
     }
 
     int get_index () const
     {
-      return current_;
+      return this->current_;
     }
 
   protected:
@@ -209,13 +209,13 @@
     // Provide read/write access to referent
     inline const T &operator* () const
     {
-      return matrix_->data_[current_];
+      return matrix_->data_[this->current_];
     }
 
     // Provide read access to a member (if any) of referent
     inline const T *operator-> () const
     {
-      return &(matrix_->data_[current_]);
+      return &(this->matrix_->data_[this->current_]);
     }
 
     /* Pre and postfix operators: note that the postfix operators
@@ -268,18 +268,18 @@
     /**** Figure out our current index ****/
     int get_row() const
     {
-      return (int) (current_ / matrix_->cols());
+      return (int) (this->current_ / this->matrix_->cols());
     }
 
     int get_col() const
     {
-      int row = (int) (current_ / matrix_->cols());
-      return (current_ - (row * matrix_->cols()));
+      int row = (int) (this->current_ / this->matrix_->cols());
+      return (this->current_ - (row * this->matrix_->cols()));
     }
 
     int get_index () const
     {
-      return current_;
+      return this->current_;
     }
 
 
@@ -345,8 +345,8 @@
     inline row_major_iterator<T> &operator= (const
         row_major_iterator &rmi)
     {
-      matrix_ = rmi.matrix_;
-      current_ = rmi.current_;
+      this->matrix_ = rmi.matrix_;
+      this->current_ = rmi.current_;
 
       return *this;
     }
@@ -354,8 +354,8 @@
     // Step forward, return new position
     inline row_major_iterator<T> &operator++ ()
     {
-      if (current_ < matrix_->size())
-        ++current_;
+      if (this->current_ < this->matrix_->size())
+        ++this->current_;
       
       return *this;
     }
@@ -374,8 +374,8 @@
     // Step back, return new position
     inline row_major_iterator<T> &operator-- ()
     {
-      if (current_ > 0)
-        --current_;
+      if (this->current_ > 0)
+        --this->current_;
       
       return *this;
     }
@@ -394,18 +394,18 @@
     // Provide access to the [nth] element XXX int?
     inline T &operator[] (const int &n) const
     {
-      return matrix_->data_[n];
+      return this->matrix_->data_[n];
     }
 
     // Step n elements
     inline row_major_iterator<T> &operator+= (const int &n)
     {
-      if (current_ + n > matrix_->size())
-        current_ = matrix_->size();
-      else if (current_ + n < 0)
-        current_ = 0;
+      if (this->current_ + n > this->matrix_->size())
+        this->current_ = this->matrix_->size();
+      else if (this->current_ + n < 0)
+        this->current_ = 0;
       else
-        current_ += n;
+        this->current_ += n;
       
       return *this;
     }
@@ -420,7 +420,7 @@
     inline std::ptrdiff_t operator-
       (const row_major_iterator<T> &rmi) const
     {
-      return current_ - rmi.current_;
+      return this->current_ - rmi.current_;
     }
 
     /**** Matrix Iterator Facilities ****/
@@ -428,35 +428,35 @@
     // Jump forward the length of a row
     inline row_major_iterator<T> &plus_vec ()
     {
-      return (*this += matrix_->cols());
+      return (*this += this->matrix_->cols());
     }
 
     // Jump forward the length of a row n times
     inline row_major_iterator<T> &plus_vec (const int &n)
     {
-      return (*this += (n * matrix_->cols()));
+      return (*this += (n * this->matrix_->cols()));
     }
 
     // Jump backward the length of a row
     inline row_major_iterator<T> &minus_vec ()
     {
-      return (*this -= matrix_->cols());
+      return (*this -= this->matrix_->cols());
     }
 
     // Jump backward the length of a row n times
     inline row_major_iterator<T> &minus_vec (const int &n)
     {
-      return (*this -= (n * matrix_->cols()));
+      return (*this -= (n * this->matrix_->cols()));
     }
 
     // Jump to the beginnin of the next vector
     inline row_major_iterator<T> &next_vec ()
     {
-      int cur_vec = (int) (current_ / matrix_->cols());
-      if (cur_vec + 1 < matrix_->rows())
-        current_ = (cur_vec + 1) * matrix_->cols();
+      int cur_vec = (int) (this->current_ / this->matrix_->cols());
+      if (cur_vec + 1 < this->matrix_->rows())
+        this->current_ = (cur_vec + 1) * this->matrix_->cols();
       else
-        current_ = matrix_->size();
+        this->current_ = this->matrix_->size();
 
       return *this;
     }
@@ -464,13 +464,13 @@
     // Jump to the beginning of the nth next vector
     inline row_major_iterator<T> &next_vec (const int &n)
     {
-      int cur_vec = (int) (current_ / matrix_->cols());
-      if (cur_vec + n >= matrix_->rows())
-        current_ = matrix_->size();
+      int cur_vec = (int) (this->current_ / this->matrix_->cols());
+      if (cur_vec + n >= this->matrix_->rows())
+        this->current_ = this->matrix_->size();
       else if (cur_vec + n <= 0)
-        current_ = 0;
+        this->current_ = 0;
       else
-        current_ = (cur_vec + n) * matrix_->cols();
+        this->current_ = (cur_vec + n) * this->matrix_->cols();
 
       return *this;
     }
@@ -478,11 +478,11 @@
     // Jump to the beginnin of the previous vector
     inline row_major_iterator<T> &prev_vec ()
     {
-      int cur_vec = (int) (current_ / matrix_->cols());
+      int cur_vec = (int) (this->current_ / this->matrix_->cols());
       if (cur_vec > 0)
-        current_ = (cur_vec - 1) * matrix_->cols();
+        this->current_ = (cur_vec - 1) * this->matrix_->cols();
       else
-        current_ = 0;
+        this->current_ = 0;
 
       return *this;
     }
@@ -555,8 +555,8 @@
     inline const_row_major_iterator<T> &operator= (const
         const_row_major_iterator &rmi)
     {
-      matrix_ = rmi.matrix_;
-      current_ = rmi.current_;
+      this->matrix_ = rmi.matrix_;
+      this->current_ = rmi.current_;
 
       return *this;
     }
@@ -564,8 +564,8 @@
     // Step forward, return new position
     inline const_row_major_iterator<T> &operator++ ()
     {
-      if (current_ < matrix_->size())
-        ++current_;
+      if (this->current_ < this->matrix_->size())
+        ++this->current_;
       
       return *this;
     }
@@ -584,8 +584,8 @@
     // Step back, return new position
     inline const_row_major_iterator<T> &operator-- ()
     {
-      if (current_ > 0)
-        --current_;
+      if (this->current_ > 0)
+        --this->current_;
       
       return *this;
     }
@@ -604,18 +604,18 @@
     // Provide access to the [nth] element XXX int?
     inline const T &operator[] (const int &n) const
     {
-      return matrix_->data_[n];
+      return this->matrix_->data_[n];
     }
 
     // Step n elements
     inline const_row_major_iterator<T> &operator+= (const int &n)
     {
-      if (current_ + n > matrix_->size())
-        current_ = matrix_->size();
-      else if (current_ + n < 0)
-        current_ = 0;
+      if (this->current_ + n > this->matrix_->size())
+        this->current_ = this->matrix_->size();
+      else if (this->current_ + n < 0)
+        this->current_ = 0;
       else
-        current_ += n;
+        this->current_ += n;
       
       return *this;
     }
@@ -630,7 +630,7 @@
     inline std::ptrdiff_t operator-
       (const const_row_major_iterator<T> &rmi) const
     {
-      return current_ - rmi.current_;
+      return this->current_ - rmi.current_;
     }
 
     /**** Matrix Iterator Facilities ****/
@@ -638,35 +638,35 @@
     // Jump forward the length of a row
     inline const_row_major_iterator<T> &plus_vec ()
     {
-      return (*this += matrix_->cols());
+      return (*this += this->matrix_->cols());
     }
 
     // Jump forward the length of a row n times
     inline const_row_major_iterator<T> &plus_vec (const int &n)
     {
-      return (*this += (n * matrix_->cols()));
+      return (*this += (n * this->matrix_->cols()));
     }
 
     // Jump backward the length of a row
     inline const_row_major_iterator<T> &minus_vec ()
     {
-      return (*this -= matrix_->cols());
+      return (*this -= this->matrix_->cols());
     }
 
     // Jump backward the length of a row n times
     inline const_row_major_iterator<T> &minus_vec (const int &n)
     {
-      return (*this -= (n * matrix_->cols()));
+      return (*this -= (n * this->matrix_->cols()));
     }
 
     // Jump to the beginnin of the next vector
     inline const_row_major_iterator<T> &next_vec ()
     {
-      int cur_vec = (int) (current_ / matrix_->cols());
-      if (cur_vec + 1 < matrix_->rows())
-        current_ = (cur_vec + 1) * matrix_->cols();
+      int cur_vec = (int) (this->current_ / this->matrix_->cols());
+      if (cur_vec + 1 < this->matrix_->rows())
+        this->current_ = (cur_vec + 1) * this->matrix_->cols();
       else
-        current_ = matrix_->size();
+        this->current_ = this->matrix_->size();
 
       return *this;
     }
@@ -674,13 +674,13 @@
     // Jump to the beginning of the nth next vector
     inline const_row_major_iterator<T> &next_vec (const int &n)
     {
-      int cur_vec = (int) (current_ / matrix_->cols());
-      if (cur_vec + n >= matrix_->rows())
-        current_ = matrix_->size();
+      int cur_vec = (int) (this->current_ / this->matrix_->cols());
+      if (cur_vec + n >= this->matrix_->rows())
+        this->current_ = this->matrix_->size();
       else if (cur_vec + n <= 0)
-        current_ = 0;
+        this->current_ = 0;
       else
-        current_ = (cur_vec + n) * matrix_->cols();
+        this->current_ = (cur_vec + n) * this->matrix_->cols();
 
       return *this;
     }
@@ -688,11 +688,11 @@
     // Jump to the beginnin of the previous vector
     inline const_row_major_iterator<T> &prev_vec ()
     {
-      int cur_vec = (int) (current_ / matrix_->cols());
+      int cur_vec = (int) (this->current_ / this->matrix_->cols());
       if (cur_vec > 0)
-        current_ = (cur_vec - 1) * matrix_->cols();
+        this->current_ = (cur_vec - 1) * this->matrix_->cols();
       else
-        current_ = 0;
+        this->current_ = 0;
 
       return *this;
     }
@@ -761,8 +761,8 @@
     inline col_major_iterator<T> &operator= (const
         col_major_iterator &cmi)
     {
-      matrix_ = cmi.matrix_;
-      current_ = cmi.current_;
+      this->matrix_ = cmi.matrix_;
+      this->current_ = cmi.current_;
 
       return *this;
     }
@@ -770,14 +770,14 @@
     // Step forward, return new position
     inline col_major_iterator<T> &operator++ ()
     {
-      if (current_ >= matrix_->cols() * (matrix_->rows() - 1)) {
-        if (current_ >= matrix_->size() - 1)
-          current_ = matrix_->size();
+      if (this->current_ >= this->matrix_->cols() * (this->matrix_->rows() - 
1)) {
+        if (this->current_ >= this->matrix_->size() - 1)
+          this->current_ = this->matrix_->size();
         else
-          current_ = (current_ + 1) -
-            (matrix_->rows() - 1) * matrix_->cols();
+          this->current_ = (this->current_ + 1) -
+            (this->matrix_->rows() - 1) * this->matrix_->cols();
       } else
-        current_ += matrix_->cols();
+        this->current_ += this->matrix_->cols();
 
       return *this;
     }
@@ -795,14 +795,14 @@
     // Step back, return new position
     inline col_major_iterator<T> &operator-- ()
     {
-      if (current_ > 0) {
-        if (current_ == matrix_->size())
-          --current_;
-        else if (current_ < matrix_->cols()) {
-          current_ = (current_ - 1) + 
-            (matrix_->rows() - 1) * matrix_->cols();
+      if (this->current_ > 0) {
+        if (this->current_ == this->matrix_->size())
+          --this->current_;
+        else if (this->current_ < this->matrix_->cols()) {
+          this->current_ = (this->current_ - 1) + 
+            (this->matrix_->rows() - 1) * this->matrix_->cols();
         } else
-          current_ -= matrix_->cols();
+          this->current_ -= this->matrix_->cols();
       }
       
       return *this;
@@ -821,10 +821,10 @@
     // Provide access to the [nth] element XXX int?
     inline T &operator[] (const int &n) const
     {
-      int col = (int) (n / matrix_->rows());
-      int row = n - (col * matrix_->rows());
+      int col = (int) (n / this->matrix_->rows());
+      int row = n - (col * this->matrix_->rows());
 
-      return matrix_->data_[row * matrix_->cols_ + col];
+      return this->matrix_->data_[row * this->matrix_->cols_ + col];
     }
 
     // Step n elements
@@ -832,24 +832,24 @@
     {
       int cm;
 
-      if (current_ == matrix_->size())
-        cm = current_;
+      if (this->current_ == this->matrix_->size())
+        cm = this->current_;
       else {
-        int row = (int) (current_ / matrix_->cols());
-        int col = current_ - (row * matrix_->cols());
-        cm = col * matrix_->rows() + row;
+        int row = (int) (this->current_ / this->matrix_->cols());
+        int col = this->current_ - (row * this->matrix_->cols());
+        cm = col * this->matrix_->rows() + row;
       }
 
       cm += n;
 
-      if (cm >= matrix_->size())
-        current_ = matrix_->size();
+      if (cm >= this->matrix_->size())
+        this->current_ = this->matrix_->size();
       else if (cm <= 0)
-        current_ = 0;
+        this->current_ = 0;
       else {
-        int col = (int) (cm / matrix_->rows());
-        int row = cm - (col * matrix_->rows());
-        current_ = row * matrix_->cols() + col;
+        int col = (int) (cm / this->matrix_->rows());
+        int row = cm - (col * this->matrix_->rows());
+        this->current_ = row * this->matrix_->cols() + col;
       }
 
       return *this;
@@ -866,20 +866,20 @@
       (const col_major_iterator<T> &cmi) const
     {
       int cm, bcm;
-      if (current_ == matrix_->size())
-        cm = current_;
+      if (this->current_ == this->matrix_->size())
+        cm = this->current_;
       else {
-        int row = (int) (current_ / matrix_->cols());
-        int col = current_ - (row * matrix_->cols());
-        cm = col * matrix_->rows() + row;
+        int row = (int) (this->current_ / this->matrix_->cols());
+        int col = this->current_ - (row * this->matrix_->cols());
+        cm = col * this->matrix_->rows() + row;
       }
 
-      if (cmi.current_ == matrix_->size())
+      if (cmi.current_ == this->matrix_->size())
         bcm = cmi.current_;
       else {
-        int brow = (int) (cmi.current_ / matrix_->cols());
-        int bcol = cmi.current_ - (brow * matrix_->cols());
-        bcm = bcol * matrix_->rows() + brow;
+        int brow = (int) (cmi.current_ / this->matrix_->cols());
+        int bcol = cmi.current_ - (brow * this->matrix_->cols());
+        bcm = bcol * this->matrix_->rows() + brow;
       }
       
       return cm - bcm;
@@ -890,36 +890,36 @@
     // Jump forward the length of a row
     inline col_major_iterator<T> &plus_vec ()
     {
-      return (*this += matrix_->rows());
+      return (*this += this->matrix_->rows());
     }
 
     // Jump forward the length of a row n times
     inline col_major_iterator<T> &plus_vec (const int &n)
     {
-      return (*this += (n * matrix_->rows()));
+      return (*this += (n * this->matrix_->rows()));
     }
 
     // Jump backward the length of a row
     inline col_major_iterator<T> &minus_vec ()
     {
-      return (*this -= matrix_->rows());
+      return (*this -= this->matrix_->rows());
     }
 
     // Jump backward the length of a row n times
     inline col_major_iterator<T> &minus_vec (const int &n)
     {
-      return (*this -= (n * matrix_->rows()));
+      return (*this -= (n * this->matrix_->rows()));
     }
 
     // Jump to the beginnin of the next vector
     inline col_major_iterator<T> &next_vec ()
     {
-      int col = (int) (current_ - 
-        ((int) (current_ / matrix_->cols()) * matrix_->cols()));
-      if (col + 1 < matrix_->cols())
-          current_ = col + 1;
+      int col = (int) (this->current_ - 
+        ((int) (this->current_ / this->matrix_->cols()) * 
this->matrix_->cols()));
+      if (col + 1 < this->matrix_->cols())
+          this->current_ = col + 1;
       else
-        current_ = matrix_->size();
+        this->current_ = this->matrix_->size();
 
       return *this;
     }
@@ -927,14 +927,14 @@
     // Jump to the beginning of the nth next vector
     inline col_major_iterator<T> &next_vec (const int &n)
     {
-      int col = (int) (current_ - 
-        ((int) (current_ / matrix_->cols()) * matrix_->cols()));
-      if (col + n >= matrix_->cols())
-        current_ = matrix_->size();
+      int col = (int) (this->current_ - 
+        ((int) (this->current_ / this->matrix_->cols()) * 
this->matrix_->cols()));
+      if (col + n >= this->matrix_->cols())
+        this->current_ = this->matrix_->size();
       else if (col + n <= 0)
-        current_ = 0;
+        this->current_ = 0;
       else
-        current_ = col + n;
+        this->current_ = col + n;
 
       return *this;
     }
@@ -942,12 +942,12 @@
     // Jump to the beginnin of the previous vector
     inline col_major_iterator<T> &prev_vec ()
     {
-      int col = (int) (current_ - 
-        ((int) (current_ / matrix_->cols()) * matrix_->cols()));
+      int col = (int) (this->current_ - 
+        ((int) (this->current_ / this->matrix_->cols()) * 
this->matrix_->cols()));
       if (col - 1 > 0)
-          current_ = col - 1;
+          this->current_ = col - 1;
       else
-        current_ = 0;
+        this->current_ = 0;
 
       return *this;
     }
@@ -1038,8 +1038,8 @@
     inline const_col_major_iterator<T> &operator= (const
         const_col_major_iterator &cmi)
     {
-      matrix_ = cmi.matrix_;
-      current_ = cmi.current_;
+      this->matrix_ = cmi.matrix_;
+      this->current_ = cmi.current_;
 
       return *this;
     }
@@ -1047,14 +1047,14 @@
     // Step forward, return new position
     inline const_col_major_iterator<T> &operator++ ()
     {
-      if (current_ >= matrix_->cols() * (matrix_->rows() - 1)) {
-        if (current_ >= matrix_->size() - 1)
-          current_ = matrix_->size();
+      if (this->current_ >= this->matrix_->cols() * (this->matrix_->rows() - 
1)) {
+        if (this->current_ >= this->matrix_->size() - 1)
+          this->current_ = this->matrix_->size();
         else
-          current_ = (current_ + 1) -
-            (matrix_->rows() - 1) * matrix_->cols();
+          this->current_ = (this->current_ + 1) -
+            (this->matrix_->rows() - 1) * this->matrix_->cols();
       } else
-        current_ += matrix_->cols();
+        this->current_ += this->matrix_->cols();
 
       return *this;
     }
@@ -1072,14 +1072,14 @@
     // Step back, return new position
     inline const_col_major_iterator<T> &operator-- ()
     {
-      if (current_ > 0) {
-        if (current_ == matrix_->size())
-          --current_;
-        else if (current_ < matrix_->cols()) {
-          current_ = (current_ - 1) + 
-            (matrix_->rows() - 1) * matrix_->cols();
+      if (this->current_ > 0) {
+        if (this->current_ == this->matrix_->size())
+          --this->current_;
+        else if (this->current_ < this->matrix_->cols()) {
+          this->current_ = (this->current_ - 1) + 
+            (this->matrix_->rows() - 1) * this->matrix_->cols();
         } else
-          current_ -= matrix_->cols();
+          this->current_ -= this->matrix_->cols();
       }
       
       return *this;
@@ -1098,10 +1098,10 @@
     // Provide access to the [nth] element XXX int?
     inline const T &operator[] (const int &n) const
     {
-      int col = (int) (n / matrix_->rows());
-      int row = n - (col * matrix_->rows());
+      int col = (int) (n / this->matrix_->rows());
+      int row = n - (col * this->matrix_->rows());
 
-      return matrix_->data_[row * matrix_->cols_ + col];
+      return this->matrix_->data_[row * this->matrix_->cols_ + col];
     }
 
     // Step n elements
@@ -1109,24 +1109,24 @@
     {
       int cm;
 
-      if (current_ == matrix_->size())
-        cm = current_;
+      if (this->current_ == this->matrix_->size())
+        cm = this->current_;
       else {
-        int row = (int) (current_ / matrix_->cols());
-        int col = current_ - (row * matrix_->cols());
-        cm = col * matrix_->rows() + row;
+        int row = (int) (this->current_ / this->matrix_->cols());
+        int col = this->current_ - (row * this->matrix_->cols());
+        cm = col * this->matrix_->rows() + row;
       }
 
       cm += n;
 
-      if (cm >= matrix_->size())
-        current_ = matrix_->size();
+      if (cm >= this->matrix_->size())
+        this->current_ = this->matrix_->size();
       else if (cm <= 0)
-        current_ = 0;
+        this->current_ = 0;
       else {
-        int col = (int) (cm / matrix_->rows());
-        int row = cm - (col * matrix_->rows());
-        current_ = row * matrix_->cols() + col;
+        int col = (int) (cm / this->matrix_->rows());
+        int row = cm - (col * this->matrix_->rows());
+        this->current_ = row * this->matrix_->cols() + col;
       }
 
       return *this;
@@ -1143,20 +1143,20 @@
       (const const_col_major_iterator<T> &cmi) const
     {
       int cm, bcm;
-      if (current_ == matrix_->size())
-        cm = current_;
+      if (this->current_ == this->matrix_->size())
+        cm = this->current_;
       else {
-        int row = (int) (current_ / matrix_->cols());
-        int col = current_ - (row * matrix_->cols());
-        cm = col * matrix_->rows() + row;
+        int row = (int) (this->current_ / this->matrix_->cols());
+        int col = this->current_ - (row * this->matrix_->cols());
+        cm = col * this->matrix_->rows() + row;
       }
 
-      if (cmi.current_ == matrix_->size())
+      if (cmi.current_ == this->matrix_->size())
         bcm = cmi.current_;
       else {
-        int brow = (int) (cmi.current_ / matrix_->cols());
-        int bcol = cmi.current_ - (brow * matrix_->cols());
-        bcm = bcol * matrix_->rows() + brow;
+        int brow = (int) (cmi.current_ / this->matrix_->cols());
+        int bcol = cmi.current_ - (brow * this->matrix_->cols());
+        bcm = bcol * this->matrix_->rows() + brow;
       }
       
       return cm - bcm;
@@ -1167,36 +1167,36 @@
     // Jump forward the length of a row
     inline const_col_major_iterator<T> &plus_vec ()
     {
-      return (*this += matrix_->rows());
+      return (*this += this->matrix_->rows());
     }
 
     // Jump forward the length of a row n times
     inline const_col_major_iterator<T> &plus_vec (const int &n)
     {
-      return (*this += (n * matrix_->rows()));
+      return (*this += (n * this->matrix_->rows()));
     }
 
     // Jump backward the length of a row
     inline const_col_major_iterator<T> &minus_vec ()
     {
-      return (*this -= matrix_->rows());
+      return (*this -= this->matrix_->rows());
     }
 
     // Jump backward the length of a row n times
     inline const_col_major_iterator<T> &minus_vec (const int &n)
     {
-      return (*this -= (n * matrix_->rows()));
+      return (*this -= (n * this->matrix_->rows()));
     }
 
     // Jump to the beginnin of the next vector
     inline const_col_major_iterator<T> &next_vec ()
     {
-      int col = (int) (current_ - 
-        ((int)(current_ / matrix_->cols()) * matrix_->cols()));
-      if (col + 1 < matrix_->cols())
-          current_ = col + 1;
+      int col = (int) (this->current_ - 
+        ((int)(this->current_ / this->matrix_->cols()) * 
this->matrix_->cols()));
+      if (col + 1 < this->matrix_->cols())
+          this->current_ = col + 1;
       else
-        current_ = matrix_->size();
+        this->current_ = this->matrix_->size();
 
       return *this;
     }
@@ -1204,14 +1204,14 @@
     // Jump to the beginning of the nth next vector
     inline const_col_major_iterator<T> &next_vec (const int &n)
     {
-      int col = (int) (current_ - 
-        ((int)(current_ / matrix_->cols()) * matrix_->cols()));
-      if (col + n >= matrix_->cols())
-        current_ = matrix_->size();
+      int col = (int) (this->current_ - 
+        ((int)(this->current_ / this->matrix_->cols()) * 
this->matrix_->cols()));
+      if (col + n >= this->matrix_->cols())
+        this->current_ = this->matrix_->size();
       else if (col + n <= 0)
-        current_ = 0;
+        this->current_ = 0;
       else
-        current_ = col + n;
+        this->current_ = col + n;
 
       return *this;
     }
@@ -1219,12 +1219,12 @@
     // Jump to the beginnin of the previous vector
     inline const_col_major_iterator<T> &prev_vec ()
     {
-      int col = (int) (current_ - 
-        ((int)(current_ / matrix_->cols()) * matrix_->cols()));
+      int col = (int) (this->current_ - 
+        ((int)(this->current_ / this->matrix_->cols()) * 
this->matrix_->cols()));
       if (col - 1 > 0)
-          current_ = col - 1;
+          this->current_ = col - 1;
       else
-        current_ = 0;
+        this->current_ = 0;
 
       return *this;
     }
@@ -1308,13 +1308,13 @@
     inline row_major_iterator<T> base () const
     {
       row_major_iterator<T> temp = *this;
-      if (current_ == matrix_->size())
-        temp -= matrix_->size();
-      else if (current_ == 0)
-        temp += matrix_->size();
+      if (this->current_ == this->matrix_->size())
+        temp -= this->matrix_->size();
+      else if (this->current_ == 0)
+        temp += this->matrix_->size();
       else {
-        temp += matrix_->size();
-        temp -= current_;
+        temp += this->matrix_->size();
+        temp -= this->current_;
       }
 
       return temp;
@@ -1323,18 +1323,18 @@
     /* Override these to get correct r-iter behavior */
     inline T &operator* () const
     {
-      if (current_ == matrix_->size())
-        return matrix_->data_[matrix_->size()];
+      if (this->current_ == this->matrix_->size())
+        return this->matrix_->data_[this->matrix_->size()];
           
-      return matrix_->data_[matrix_->size() - current_ - 1];
+      return this->matrix_->data_[this->matrix_->size() - this->current_ - 1];
     }
 
     inline T *operator-> () const
     {
-      if (current_ == matrix_->size())
-        return &(matrix_->data_[matrix_->size()]);
+      if (this->current_ == this->matrix_->size())
+        return &(this->matrix_->data_[this->matrix_->size()]);
       
-      return &(matrix_->data_[matrix_->size() - current_ - 1]);
+      return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 
1]);
     }
     
     /* These need overriding cause of the whole off-by-one issue
@@ -1342,34 +1342,34 @@
      */
     int get_row() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->cols());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->cols());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
+      int cur = this->matrix_->size() - this->current_ - 1;
       
-      return (int) (cur / matrix_->cols());
+      return (int) (cur / this->matrix_->cols());
     }
 
     int get_col() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->rows());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->rows());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
-      int row = (int) (cur / matrix_->cols());
-      return (cur - (row * matrix_->cols()));
+      int cur = this->matrix_->size() - this->current_ - 1;
+      int row = (int) (cur / this->matrix_->cols());
+      return (cur - (row * this->matrix_->cols()));
     }
 
     int get_index () const
     {
-      if (current_ == 0)
-        return matrix_->size() - 1;
+      if (this->current_ == 0)
+        return this->matrix_->size() - 1;
       
-      return matrix_->size() - current_ - 1;
+      return this->matrix_->size() - this->current_ - 1;
     }
   };
 
@@ -1403,13 +1403,13 @@
     inline const_row_major_iterator<T> base () const
     {
       const_row_major_iterator<T> temp = *this;
-      if (current_ == matrix_->size())
-        temp -= matrix_->size();
-      else if (current_ == 0)
-        temp += matrix_->size();
+      if (this->current_ == this->matrix_->size())
+        temp -= this->matrix_->size();
+      else if (this->current_ == 0)
+        temp += this->matrix_->size();
       else {
-        temp += matrix_->size();
-        temp -= current_;
+        temp += this->matrix_->size();
+        temp -= this->current_;
       }
 
       return temp;
@@ -1418,18 +1418,18 @@
     /* Override these to get correct r-iter behavior */
     inline T &operator* () const
     {
-      if (current_ == matrix_->size())
-        return matrix_->data_[matrix_->size()];
+      if (this->current_ == this->matrix_->size())
+        return this->matrix_->data_[this->matrix_->size()];
           
-      return matrix_->data_[matrix_->size() - current_ - 1];
+      return this->matrix_->data_[this->matrix_->size() - this->current_ - 1];
     }
 
     inline T *operator-> () const
     {
-      if (current_ == matrix_->size())
-        return &(matrix_->data_[matrix_->size()]);
+      if (this->current_ == this->matrix_->size())
+        return &(this->matrix_->data_[this->matrix_->size()]);
       
-      return &(matrix_->data_[matrix_->size() - current_ - 1]);
+      return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 
1]);
     }
     
     /* These need overriding cause of the whole off-by-one issue
@@ -1437,34 +1437,34 @@
      */
     int get_row() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->cols());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->cols());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
+      int cur = this->matrix_->size() - this->current_ - 1;
       
-      return (int) (cur / matrix_->cols());
+      return (int) (cur / this->matrix_->cols());
     }
 
     int get_col() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->rows());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->rows());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
-      int row = (int) (cur / matrix_->cols());
-      return (cur - (row * matrix_->cols()));
+      int cur = this->matrix_->size() - this->current_ - 1;
+      int row = (int) (cur / this->matrix_->cols());
+      return (cur - (row * this->matrix_->cols()));
     }
 
     int get_index () const
     {
-      if (current_ == 0)
-        return matrix_->size() - 1;
+      if (this->current_ == 0)
+        return this->matrix_->size() - 1;
       
-      return matrix_->size() - current_ - 1;
+      return this->matrix_->size() - this->current_ - 1;
     }
   };
   
@@ -1498,13 +1498,13 @@
     {
       col_major_iterator<T> temp = *this;
       --temp;
-      if (current_ == matrix_->size())
-        temp -= matrix_->size();
-      else if (current_ == 0)
-        temp += matrix_->size();
+      if (this->current_ == this->matrix_->size())
+        temp -= this->matrix_->size();
+      else if (this->current_ == 0)
+        temp += this->matrix_->size();
       else {
-        temp += matrix_->size();
-        temp -= current_;
+        temp += this->matrix_->size();
+        temp -= this->current_;
       }
 
       return temp;
@@ -1513,18 +1513,18 @@
     /* Override these to get correct r-iter behavior */
     inline T &operator* () const
     { 
-      if (current_ == matrix_->size())
-        return matrix_->data_[matrix_->size()];
+      if (this->current_ == this->matrix_->size())
+        return this->matrix_->data_[this->matrix_->size()];
       
-      return matrix_->data_[matrix_->size() - current_ - 1];
+      return this->matrix_->data_[this->matrix_->size() - this->current_ - 1];
     }
 
     inline T *operator-> () const
     {
-      if (current_ == matrix_->size())
-        return &(matrix_->data_[matrix_->size()]);
+      if (this->current_ == this->matrix_->size())
+        return &(this->matrix_->data_[this->matrix_->size()]);
       
-      return &(matrix_->data_[matrix_->size() - current_ - 1]);
+      return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 
1]);
     }
     
     /* These need overriding cause of the whole off-by-one issue
@@ -1532,34 +1532,34 @@
      */
     int get_row() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->cols());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->cols());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
+      int cur = this->matrix_->size() - this->current_ - 1;
       
-      return (int) (cur / matrix_->cols());
+      return (int) (cur / this->matrix_->cols());
     }
 
     int get_col() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->rows());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->rows());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
-      int row = (int) (cur / matrix_->cols());
-      return (cur - (row * matrix_->cols()));
+      int cur = this->matrix_->size() - this->current_ - 1;
+      int row = (int) (cur / this->matrix_->cols());
+      return (cur - (row * this->matrix_->cols()));
     }
 
     int get_index () const
     {
-      if (current_ == 0)
-        return matrix_->size() - 1;
+      if (this->current_ == 0)
+        return this->matrix_->size() - 1;
       
-      return matrix_->size() - current_ - 1;
+      return this->matrix_->size() - this->current_ - 1;
     }
   };
   
@@ -1594,13 +1594,13 @@
     {
       const_col_major_iterator<T> temp = *this;
       --temp;
-      if (current_ == matrix_->size())
-        temp -= matrix_->size();
-      else if (current_ == 0)
-        temp += matrix_->size();
+      if (this->current_ == this->matrix_->size())
+        temp -= this->matrix_->size();
+      else if (this->current_ == 0)
+        temp += this->matrix_->size();
       else {
-        temp += matrix_->size();
-        temp -= current_;
+        temp += this->matrix_->size();
+        temp -= this->current_;
       }
 
       return temp;
@@ -1608,18 +1608,18 @@
 
     inline T &operator* () const
     { 
-      if (current_ == matrix_->size())
-        return matrix_->data_[matrix_->size()];
+      if (this->current_ == this->matrix_->size())
+        return this->matrix_->data_[this->matrix_->size()];
       
-      return matrix_->data_[matrix_->size() - current_ - 1];
+      return this->matrix_->data_[this->matrix_->size() - this->current_ - 1];
     }
 
     inline T *operator-> () const
     {
-      if (current_ == matrix_->size())
-        return &(matrix_->data_[matrix_->size()]);
+      if (this->current_ == this->matrix_->size())
+        return &(this->matrix_->data_[this->matrix_->size()]);
       
-      return &(matrix_->data_[matrix_->size() - current_ - 1]);
+      return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 
1]);
     }
     
     /* These need overriding cause of the whole off-by-one issue
@@ -1627,34 +1627,34 @@
      */
     int get_row() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->cols());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->cols());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
+      int cur = this->matrix_->size() - this->current_ - 1;
       
-      return (int) (cur / matrix_->cols());
+      return (int) (cur / this->matrix_->cols());
     }
 
     int get_col() const
     {
-      if (current_ == 0)
-        return (int) ((matrix_->size() - 1) / matrix_->rows());
-      else if (current_ == matrix_->size())
+      if (this->current_ == 0)
+        return (int) ((this->matrix_->size() - 1) / this->matrix_->rows());
+      else if (this->current_ == this->matrix_->size())
         return 0;
 
-      int cur = matrix_->size() - current_ - 1;
-      int row = (int) (cur / matrix_->cols());
-      return (cur - (row * matrix_->cols()));
+      int cur = this->matrix_->size() - this->current_ - 1;
+      int row = (int) (cur / this->matrix_->cols());
+      return (cur - (row * this->matrix_->cols()));
     }
 
     int get_index () const
     {
-      if (current_ == 0)
-        return matrix_->size() - 1;
+      if (this->current_ == 0)
+        return this->matrix_->size() - 1;
       
-      return matrix_->size() - current_ - 1;
+      return this->matrix_->size() - this->current_ - 1;
     }
   };
 
diff -urN ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Optimize.cc 
./src/Scythe_Optimize.cc
--- ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Optimize.cc   2004-02-04 
17:35:38.000000000 +0100
+++ ./src/Scythe_Optimize.cc    2004-08-13 14:54:49.271128473 +0200
@@ -73,11 +73,11 @@
   namespace {
     template <class T>
     T
-    donothing(const Matrix<T> &x) {return 0.0;};
+    donothing(const Matrix<T> &x) {return 0.0;}
 
     template <class T>
     T
-    donothing(const T &x)  { return 0.0; };
+    donothing(const T &x)  { return 0.0; }
   }
 
 
@@ -610,7 +610,7 @@
       throw scythe_dimension_error (__FILE__, __PRETTY_FUNCTION__,
             __LINE__, "Theta not column vector");
     if (! psi.isColVector())
-      throw scythe_dimension_error (__FILE__, __PRETTY_FUNCTION,
+      throw scythe_dimension_error (__FILE__, __PRETTY_FUNCTION__,
             __LINE__, "Psi not column vector");
 
     Matrix<T> thetastar = theta;

---------------------------------------
Received: (at 265503-done) by bugs.debian.org; 18 Jul 2005 06:18:17 +0000
>From [EMAIL PROTECTED] Sun Jul 17 23:18:17 2005
Return-path: <[EMAIL PROTECTED]>
Received: from smtpauth03.mail.atl.earthlink.net [209.86.89.63] 
        by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
        id 1DuOxF-00041k-00; Sun, 17 Jul 2005 23:18:17 -0700
Received: from [24.206.93.60] (helo=lordsutch.dyndns.org)
        by smtpauth03.mail.atl.earthlink.net with asmtp (Exim 4.34)
        id 1DuOxE-000181-Ef
        for [EMAIL PROTECTED]; Mon, 18 Jul 2005 02:18:16 -0400
Received: from localhost (lordsutch.dyndns.org [127.0.0.1])
        by lordsutch.dyndns.org (Postfix) with ESMTP id B04F1E01349
        for <[EMAIL PROTECTED]>; Mon, 18 Jul 2005 01:18:15 -0500 (CDT)
Received: from lordsutch.dyndns.org ([127.0.0.1])
        by localhost (converse [127.0.0.1]) (amavisd-new, port 10024)
        with ESMTP id 31947-06 for <[EMAIL PROTECTED]>;
        Mon, 18 Jul 2005 01:18:15 -0500 (CDT)
Received: from campbell.lordsutch.dyndns.org (unknown [192.168.1.4])
        by lordsutch.dyndns.org (Postfix) with ESMTP id 7F809E01346
        for <[EMAIL PROTECTED]>; Mon, 18 Jul 2005 01:18:15 -0500 (CDT)
Received: by campbell.lordsutch.dyndns.org (Postfix, from userid 1000)
        id 534CC244F7A0; Mon, 18 Jul 2005 01:18:15 -0500 (CDT)
Date: Mon, 18 Jul 2005 01:18:15 -0500
From: Chris Lawrence <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: Current version builds with gcc-{3.4,4.0}
Message-ID: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Organization: The University of Mississippi (Standard Disclaimer Applies)
X-Operating-System: Linux/x86_64 2.6.13-rc3
X-Debian-Cabal: There is no cabal.
User-Agent: Mutt/1.5.9i
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at lordsutch.dyndns.org
X-ELNK-Trace: 
a6752a4a878d2f2f0e1b13634061d4137e972de0d01da94088f283c0fa73efcadbf2575887679bd7350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c
X-Originating-IP: 24.206.93.60
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-3.0 required=4.0 tests=BAYES_00 autolearn=no 
        version=2.60-bugs.debian.org_2005_01_02

The current upstream version of this package appears to build properly
with both g++ 3.4 and 4.0, so this bug can be closed.


Chris
-- 
Chris Lawrence <[EMAIL PROTECTED]> - http://blog.lordsutch.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to