changeset 1296:f93b7fa5e113

[project @ 1995-05-01 18:30:08 by jwe]
author jwe
date Mon, 01 May 1995 18:30:08 +0000
parents 34295bf6aac6
children 12ecc2ecf0e3
files liboctave/Array.cc liboctave/Array.h liboctave/Bounds.cc liboctave/Bounds.h liboctave/CColVector.cc liboctave/CColVector.h liboctave/CDiagMatrix.cc liboctave/CDiagMatrix.h liboctave/CMatrix.cc liboctave/CMatrix.h liboctave/CRowVector.cc liboctave/CRowVector.h liboctave/CmplxAEPBAL.cc liboctave/CmplxAEPBAL.h liboctave/CmplxCHOL.cc liboctave/CmplxCHOL.h liboctave/CmplxDET.cc liboctave/CmplxDET.h liboctave/CmplxHESS.cc liboctave/CmplxHESS.h liboctave/CmplxLU.cc liboctave/CmplxLU.h liboctave/CmplxQR.cc liboctave/CmplxQR.h liboctave/CmplxQRP.cc liboctave/CmplxQRP.h liboctave/CmplxSCHUR.cc liboctave/CmplxSCHUR.h liboctave/CmplxSVD.cc liboctave/CmplxSVD.h liboctave/CollocWt.cc liboctave/CollocWt.h liboctave/DAE.h liboctave/DAEFunc.cc liboctave/DAEFunc.h liboctave/DASSL.cc liboctave/EIG.cc liboctave/EIG.h liboctave/FEGrid.cc liboctave/FEGrid.h liboctave/FSQP.cc liboctave/FSQP.h liboctave/LP.cc liboctave/LP.h liboctave/LPsolve.cc liboctave/LPsolve.h liboctave/LSODE.cc liboctave/LinConst.cc liboctave/LinConst.h liboctave/MArray.cc liboctave/MArray.h liboctave/NLConst.cc liboctave/NLConst.h liboctave/NLEqn.cc liboctave/NLEqn.h liboctave/NLFunc.cc liboctave/NLFunc.h liboctave/NLP.h liboctave/NPSOL.cc liboctave/NPSOL.h liboctave/ODE.h liboctave/ODEFunc.cc liboctave/ODEFunc.h liboctave/Objective.cc liboctave/Objective.h liboctave/QLD.cc liboctave/QLD.h liboctave/QP.cc liboctave/QP.h liboctave/QPSOL.cc liboctave/QPSOL.h liboctave/Quad.cc liboctave/Quad.h liboctave/Range.cc liboctave/Range.h liboctave/dColVector.cc liboctave/dColVector.h liboctave/dDiagMatrix.cc liboctave/dDiagMatrix.h liboctave/dMatrix.cc liboctave/dMatrix.h liboctave/dRowVector.cc liboctave/dRowVector.h liboctave/dbleAEPBAL.cc liboctave/dbleAEPBAL.h liboctave/dbleCHOL.cc liboctave/dbleCHOL.h liboctave/dbleDET.cc liboctave/dbleDET.h liboctave/dbleGEPBAL.cc liboctave/dbleGEPBAL.h liboctave/dbleHESS.cc liboctave/dbleHESS.h liboctave/dbleLU.cc liboctave/dbleLU.h liboctave/dbleQR.cc liboctave/dbleQR.h liboctave/dbleQRP.cc liboctave/dbleQRP.h liboctave/dbleSCHUR.cc liboctave/dbleSCHUR.h liboctave/dbleSVD.cc liboctave/dbleSVD.h liboctave/lo-error.h liboctave/sun-utils.h
diffstat 105 files changed, 410 insertions(+), 220 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/Array.cc
+++ b/liboctave/Array.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/Array.h
+++ b/liboctave/Array.h
@@ -24,12 +24,14 @@
 #if !defined (octave_Array_h)
 #define octave_Array_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include <assert.h>
 
 #include "lo-error.h"
 
-extern "C++" {
-
 // Classes we declare.
 
 template <class T> class ArrayRep;
@@ -362,8 +364,6 @@
   void resize (int n, int m, const T& val);
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/Bounds.cc
+++ b/liboctave/Bounds.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/Bounds.h
+++ b/liboctave/Bounds.h
@@ -24,12 +24,14 @@
 #if !defined (octave_Bounds_h)
 #define octave_Bounds_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dColVector.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -84,8 +86,6 @@
 
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CColVector.cc
+++ b/liboctave/CColVector.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CColVector.h
+++ b/liboctave/CColVector.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexColumnVector_h)
 #define octave_ComplexColumnVector_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "MArray.h"
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class ComplexColumnVector : public MArray<Complex>
 {
 friend class ComplexMatrix;
@@ -187,8 +189,6 @@
   ComplexColumnVector (Complex *d, int l) : MArray<Complex> (d, l) { }
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CDiagMatrix.cc
+++ b/liboctave/CDiagMatrix.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CDiagMatrix.h
+++ b/liboctave/CDiagMatrix.h
@@ -24,6 +24,10 @@
 #if !defined (octave_ComplexDiagMatrix_h)
 #define octave_ComplexDiagMatrix_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "MArray.h"
 
 #include "dRowVector.h"
@@ -33,8 +37,6 @@
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class ComplexDiagMatrix : public MDiagArray<Complex>
 {
 public:
@@ -160,8 +162,6 @@
     : MDiagArray<Complex> (d, nr, nc) { }
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CMatrix.cc
+++ b/liboctave/CMatrix.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CMatrix.h
+++ b/liboctave/CMatrix.h
@@ -24,14 +24,16 @@
 #if !defined (octave_ComplexMatrix_h)
 #define octave_ComplexMatrix_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include <Complex.h>
 
 #include "MArray.h"
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class ComplexMatrix : public MArray2<Complex>
 {
 friend class Matrix;
@@ -345,8 +347,6 @@
   ComplexMatrix (Complex *d, int r, int c) : MArray2<Complex> (d, r, c) { }
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CRowVector.cc
+++ b/liboctave/CRowVector.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CRowVector.h
+++ b/liboctave/CRowVector.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexRowVector_h)
 #define octave_ComplexRowVector_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "MArray.h"
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class ComplexRowVector : public MArray<Complex>
 {
 friend class ComplexColumnVector;
@@ -164,8 +166,6 @@
 
 ComplexRowVector linspace (const Complex& x1, const Complex& x2, int n);
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxAEPBAL.cc
+++ b/liboctave/CmplxAEPBAL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxAEPBAL.h
+++ b/liboctave/CmplxAEPBAL.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexAEPBALANCE_h)
 #define octave_ComplexAEPBALANCE_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "CMatrix.h"
 
-extern "C++" {
-
 class ComplexAEPBALANCE
 {
 friend class ComplexMatrix;
@@ -84,8 +86,6 @@
   return balancing_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxCHOL.cc
+++ b/liboctave/CmplxCHOL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxCHOL.h
+++ b/liboctave/CmplxCHOL.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexCHOL_h)
 #define octave_ComplexCHOL_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "CMatrix.h"
 
-extern "C++" {
-
 class ComplexCHOL
 {
 friend class ComplexMatrix;
@@ -80,8 +82,6 @@
   return chol_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxDET.cc
+++ b/liboctave/CmplxDET.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxDET.h
+++ b/liboctave/CmplxDET.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexDET_h)
 #define octave_ComplexDET_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include <Complex.h>
 
-extern "C++" {
-
 class ComplexDET
 {
   friend class ComplexMatrix;
@@ -80,8 +82,6 @@
   det[1] = d[1];
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxHESS.cc
+++ b/liboctave/CmplxHESS.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxHESS.h
+++ b/liboctave/CmplxHESS.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexHESS_h)
 #define octave_ComplexHESS_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "CMatrix.h"
 
-extern "C++" {
-
 class ComplexHESS
 {
 friend class ComplexMatrix;
@@ -89,8 +91,6 @@
   return unitary_hess_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxLU.cc
+++ b/liboctave/CmplxLU.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxLU.h
+++ b/liboctave/CmplxLU.h
@@ -24,13 +24,15 @@
 #if !defined (octave_ComplexLU_h)
 #define octave_Complex_LU_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 #include "CMatrix.h"
 
-extern "C++" {
-
 class ComplexLU
 {
 friend class ComplexMatrix;
@@ -88,8 +90,6 @@
   return p;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxQR.cc
+++ b/liboctave/CmplxQR.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxQR.h
+++ b/liboctave/CmplxQR.h
@@ -24,13 +24,15 @@
 #if !defined (octave_ComplexQR_h)
 #define octave_ComplexQR_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "CMatrix.h"
 #include "dbleQR.h"
 
-extern "C++" {
-
 class ComplexQR
 {
 public:
@@ -77,8 +79,6 @@
   return r;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxQRP.cc
+++ b/liboctave/CmplxQRP.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxQRP.h
+++ b/liboctave/CmplxQRP.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexQRP_h)
 #define octave_ComplexQRP_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "CmplxQR.h"
 
-extern "C++" {
-
 class ComplexQRP : public ComplexQR
 {
 public:
@@ -68,8 +70,6 @@
   return p;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxSCHUR.cc
+++ b/liboctave/CmplxSCHUR.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxSCHUR.h
+++ b/liboctave/CmplxSCHUR.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ComplexSCHUR_h)
 #define octave_ComplexSCHUR_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "CMatrix.h"
 
-extern "C++" {
-
 class ComplexSCHUR
 {
 friend class ComplexMatrix;
@@ -94,8 +96,6 @@
   return unitary_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CmplxSVD.cc
+++ b/liboctave/CmplxSVD.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CmplxSVD.h
+++ b/liboctave/CmplxSVD.h
@@ -24,14 +24,16 @@
 #if !defined (octave_ComplexSVD_h)
 #define octave_ComplexSVD_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dDiagMatrix.h"
 #include "CMatrix.h"
 #include "dbleSVD.h"
 
-extern "C++" {
-
 class ComplexSVD
 {
 friend class ComplexMatrix;
@@ -106,8 +108,6 @@
   return right_sm;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/CollocWt.cc
+++ b/liboctave/CollocWt.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/CollocWt.h
+++ b/liboctave/CollocWt.h
@@ -24,13 +24,15 @@
 #if !defined (octave_CollocWt_h)
 #define octave_CollocWt_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 #include "dColVector.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -141,8 +143,6 @@
 inline Matrix CollocWt::second (void)
   { if (!initialized) init (); return B; }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/DAE.h
+++ b/liboctave/DAE.h
@@ -24,12 +24,14 @@
 #if !defined (octave_DAE_h)
 #define octave_DAE_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "dColVector.h"
 #include "ODE.h"
 #include "DAEFunc.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -87,8 +89,6 @@
 
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/DAEFunc.cc
+++ b/liboctave/DAEFunc.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/DAEFunc.h
+++ b/liboctave/DAEFunc.h
@@ -24,11 +24,13 @@
 #if !defined (octave_DAEFunc_h)
 #define octave_DAEFunc_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class Matrix;
 class ColumnVector;
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -77,8 +79,6 @@
   DAEJacFunc jac;
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/DASSL.cc
+++ b/liboctave/DASSL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/EIG.cc
+++ b/liboctave/EIG.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/EIG.h
+++ b/liboctave/EIG.h
@@ -24,14 +24,16 @@
 #if !defined (octave_EIG_h)
 #define octave_EIG_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 #include "CMatrix.h"
 #include "CColVector.h"
 
-extern "C++" {
-
 class EIG
 {
 friend class Matrix;
@@ -108,8 +110,6 @@
   return v;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/FEGrid.cc
+++ b/liboctave/FEGrid.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/FEGrid.h
+++ b/liboctave/FEGrid.h
@@ -24,12 +24,14 @@
 #if !defined (octave_FEGrid_h)
 #define octave_FEGrid_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dColVector.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -83,8 +85,6 @@
 inline Vector FEGrid::element_boundaries (void) const
   { return elem; }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/FSQP.cc
+++ b/liboctave/FSQP.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/FSQP.h
+++ b/liboctave/FSQP.h
@@ -24,12 +24,14 @@
 #if !defined (octave_FSQP_h)
 #define octave_FSQP_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #ifndef FSQP_MISSING
 
 #include "NLP.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -40,8 +42,6 @@
  private:
 };
 
-} // extern "C++"
-
 #endif /* FSQP_MISSING */
 
 #endif
--- a/liboctave/LP.cc
+++ b/liboctave/LP.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/LP.h
+++ b/liboctave/LP.h
@@ -24,12 +24,14 @@
 #if !defined (octave_LP_h)
 #define octave_LP_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "dColVector.h"
 #include "Bounds.h"
 #include "LinConst.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -56,8 +58,6 @@
   LinConst lc;
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/LPsolve.cc
+++ b/liboctave/LPsolve.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/LPsolve.h
+++ b/liboctave/LPsolve.h
@@ -24,12 +24,14 @@
 #if !defined (octave_LPsolve_h)
 #define octave_LPsolve_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ColumnVector;
 
 #include "LP.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -60,8 +62,6 @@
   void set_default_options (void);
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/LSODE.cc
+++ b/liboctave/LSODE.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/LinConst.cc
+++ b/liboctave/LinConst.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/LinConst.h
+++ b/liboctave/LinConst.h
@@ -24,6 +24,10 @@
 #if !defined (octave_LinConst_h)
 #define octave_LinConst_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 class ColumnVector;
@@ -33,8 +37,6 @@
 #include "dMatrix.h"
 #include "Bounds.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -127,8 +129,6 @@
   return *this;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/MArray.cc
+++ b/liboctave/MArray.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/MArray.h
+++ b/liboctave/MArray.h
@@ -21,11 +21,13 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #if !defined (octave_MArray_h)
 #define octave_MArray_h 1
 
-extern "C++" {
-
 #include "Array.h"
 
 // Classes we declare.
@@ -218,8 +220,6 @@
   friend MDiagArray<T> operator - (const MDiagArray<T>& a);
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/NLConst.cc
+++ b/liboctave/NLConst.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/NLConst.h
+++ b/liboctave/NLConst.h
@@ -24,13 +24,15 @@
 #if !defined (octave_NLConst_h)
 #define octave_NLConst_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ColumnVector;
 
 #include "Bounds.h"
 #include "NLFunc.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -52,8 +54,6 @@
 
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/NLEqn.cc
+++ b/liboctave/NLEqn.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/NLEqn.h
+++ b/liboctave/NLEqn.h
@@ -24,11 +24,13 @@
 #if !defined (octave_NLEqn_h)
 #define octave_NLEqn_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "dColVector.h"
 #include "NLFunc.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -91,8 +93,6 @@
   void error (const char* msg);
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/NLFunc.cc
+++ b/liboctave/NLFunc.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/NLFunc.h
+++ b/liboctave/NLFunc.h
@@ -24,11 +24,13 @@
 #if !defined (octave_NLFunc_h)
 #define octave_NLFunc_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ColumnVector;
 class Matrix;
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -62,8 +64,6 @@
   jacobian_fcn jac;
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/NLP.h
+++ b/liboctave/NLP.h
@@ -30,8 +30,6 @@
 #include "LinConst.h"
 #include "NLConst.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -130,8 +128,6 @@
   return x.capacity ();
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/NPSOL.cc
+++ b/liboctave/NPSOL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/NPSOL.h
+++ b/liboctave/NPSOL.h
@@ -24,13 +24,15 @@
 #if !defined (octave_NPSOL_h)
 #define octave_NPSOL_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #ifndef NPSOL_MISSING
 
 #include "dColVector.h"
 #include "NLP.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -188,8 +190,6 @@
 inline NPSOL::NPSOL (const NPSOL& a) : NLP (a.x, a.phi, a.bnds, a.lc, a.nlc)
   { }
 
-} // extern "C++"
-
 #endif /* NPSOL_MISSING */
 
 #endif
--- a/liboctave/ODE.h
+++ b/liboctave/ODE.h
@@ -24,14 +24,16 @@
 #if !defined (octave_ODE_h)
 #define octave_ODE_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 #include "dColVector.h"
 #include "ODEFunc.h"
 
-extern "C++" {
-
 class ODE_options
 {
  public:
@@ -132,8 +134,6 @@
 
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/ODEFunc.cc
+++ b/liboctave/ODEFunc.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/ODEFunc.h
+++ b/liboctave/ODEFunc.h
@@ -24,11 +24,13 @@
 #if !defined (octave_ODEFunc_h)
 #define octave_ODEFunc_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class Matrix;
 class ColumnVector;
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -63,8 +65,6 @@
   ODEJacFunc jac;
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/Objective.cc
+++ b/liboctave/Objective.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/Objective.h
+++ b/liboctave/Objective.h
@@ -24,9 +24,11 @@
 #if !defined (octave_Objective_h)
 #define octave_Objective_h 1
 
-#include "dColVector.h"
+#if defined (__GNUG__)
+#pragma interface
+#endif
 
-extern "C++" {
+#include "dColVector.h"
 
 #ifndef Vector
 #define Vector ColumnVector
@@ -62,8 +64,6 @@
 
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/QLD.cc
+++ b/liboctave/QLD.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/QLD.h
+++ b/liboctave/QLD.h
@@ -24,13 +24,15 @@
 #if !defined (octave_QLD_h)
 #define octave_QLD_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class Matrix;
 class ColumnVector;
 
 #include "QP.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -93,8 +95,6 @@
   return *this;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/QP.cc
+++ b/liboctave/QP.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/QP.h
+++ b/liboctave/QP.h
@@ -24,13 +24,15 @@
 #if !defined (octave_QP_h)
 #define octave_QP_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "dMatrix.h"
 #include "dColVector.h"
 #include "Bounds.h"
 #include "LinConst.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -74,8 +76,6 @@
   Matrix make_h_symmetric (void);
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/QPSOL.cc
+++ b/liboctave/QPSOL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/QPSOL.h
+++ b/liboctave/QPSOL.h
@@ -24,14 +24,16 @@
 #if !defined (octave_QPSOL_h)
 #define octave_QPSOL_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #ifndef QPSOL_MISSING
 
 #include "dMatrix.h"
 #include "dColVector.h"
 #include "QP.h"
 
-extern "C++" {
-
 #ifndef Vector
 #define Vector ColumnVector
 #endif
@@ -123,8 +125,6 @@
   return *this;
 }
 
-} // extern "C++"
-
 #endif /* QPSOL_MISSING */
 
 #endif
--- a/liboctave/Quad.cc
+++ b/liboctave/Quad.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/Quad.h
+++ b/liboctave/Quad.h
@@ -24,9 +24,11 @@
 #if !defined (octave_Quad_h)
 #define octave_Quad_h 1
 
-#include "dColVector.h"
+#if defined (__GNUG__)
+#pragma interface
+#endif
 
-extern "C++" {
+#include "dColVector.h"
 
 #ifndef Vector
 #define Vector ColumnVector
@@ -134,8 +136,6 @@
   IntegralType type;
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/Range.cc
+++ b/liboctave/Range.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/Range.h
+++ b/liboctave/Range.h
@@ -24,7 +24,9 @@
 #if !defined (octave_Range_h)
 #define octave_Range_h 1
 
-extern "C++" {
+#if defined (__GNUG__)
+#pragma interface
+#endif
 
 class istream;
 class ostream;
@@ -113,8 +115,6 @@
 inline void Range::set_limit (double l) { rng_limit = l; }
 inline void Range::set_inc (double i) { rng_inc = i;   }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dColVector.cc
+++ b/liboctave/dColVector.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dColVector.h
+++ b/liboctave/dColVector.h
@@ -24,12 +24,14 @@
 #if !defined (octave_ColumnVector_h)
 #define octave_ColumnVector_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "MArray.h"
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class ColumnVector : public MArray<double>
 {
 friend class Matrix;
@@ -102,8 +104,6 @@
   ColumnVector (double *d, int l) : MArray<double> (d, l) { }
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dDiagMatrix.cc
+++ b/liboctave/dDiagMatrix.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dDiagMatrix.h
+++ b/liboctave/dDiagMatrix.h
@@ -24,6 +24,10 @@
 #if !defined (octave_DiagMatrix_h)
 #define octave_DiagMatrix_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "MArray.h"
 
 #include "dRowVector.h"
@@ -31,8 +35,6 @@
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class DiagMatrix : public MDiagArray<double>
 {
 friend class SVD;
@@ -111,8 +113,6 @@
   DiagMatrix (double *d, int nr, int nc) : MDiagArray<double> (d, nr, nc) { }
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dMatrix.cc
+++ b/liboctave/dMatrix.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dMatrix.h
+++ b/liboctave/dMatrix.h
@@ -24,6 +24,10 @@
 #if !defined (octave_Matrix_int_h)
 #define octave_Matrix_int_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 // For FILE...
 #include <stdio.h>
 
@@ -31,8 +35,6 @@
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class Matrix : public MArray2<double>
 {
 friend class ComplexMatrix;
@@ -238,8 +240,6 @@
   Matrix (double *d, int r, int c) : MArray2<double> (d, r, c) { }
 };
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dRowVector.cc
+++ b/liboctave/dRowVector.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dRowVector.h
+++ b/liboctave/dRowVector.h
@@ -24,12 +24,14 @@
 #if !defined (octave_RowVector_h)
 #define octave_RowVector_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 #include "MArray.h"
 
 #include "mx-defs.h"
 
-extern "C++" {
-
 class RowVector : public MArray<double>
 {
 friend class ColumnVector;
@@ -107,8 +109,6 @@
 
 RowVector linspace (double x1, double x2, int n);
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleAEPBAL.cc
+++ b/liboctave/dbleAEPBAL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleAEPBAL.h
+++ b/liboctave/dbleAEPBAL.h
@@ -24,12 +24,14 @@
 #if !defined (octave_AEPBALANCE_h)
 #define octave_AEPBALANCE_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class AEPBALANCE
 {
 friend class Matrix;
@@ -85,8 +87,6 @@
   return balancing_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleCHOL.cc
+++ b/liboctave/dbleCHOL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleCHOL.h
+++ b/liboctave/dbleCHOL.h
@@ -24,12 +24,14 @@
 #if !defined (octave_CHOL_h)
 #define octave_CHOL_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class CHOL
 {
 friend class Matrix;
@@ -82,8 +84,6 @@
   return chol_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleDET.cc
+++ b/liboctave/dbleDET.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleDET.h
+++ b/liboctave/dbleDET.h
@@ -24,9 +24,11 @@
 #if !defined (octave_DET_h)
 #define octave_DET_h 1
 
-class ostream;
+#if defined (__GNUG__)
+#pragma interface
+#endif
 
-extern "C++" {
+class ostream;
 
 class DET
 {
@@ -78,8 +80,6 @@
   det[1] = d[1];
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleGEPBAL.cc
+++ b/liboctave/dbleGEPBAL.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleGEPBAL.h
+++ b/liboctave/dbleGEPBAL.h
@@ -24,12 +24,14 @@
 #if !defined (octave_GEPBALANCE_h)
 #define octave_GEPBALANCE_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class GEPBALANCE
 {
 friend class Matrix;
@@ -104,8 +106,6 @@
   return right_balancing_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleHESS.cc
+++ b/liboctave/dbleHESS.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleHESS.h
+++ b/liboctave/dbleHESS.h
@@ -24,12 +24,14 @@
 #if !defined (octave_HESS_h)
 #define octave_HESS_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class HESS
 {
 friend class Matrix;
@@ -91,8 +93,6 @@
   return unitary_hess_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleLU.cc
+++ b/liboctave/dbleLU.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleLU.h
+++ b/liboctave/dbleLU.h
@@ -24,12 +24,14 @@
 #if !defined (octave_LU_h)
 #define octave_LU_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class LU
 {
 friend class Matrix;
@@ -87,8 +89,6 @@
   return p;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleQR.cc
+++ b/liboctave/dbleQR.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleQR.h
+++ b/liboctave/dbleQR.h
@@ -24,12 +24,14 @@
 #if !defined (octave_QR_h)
 #define octave_QR_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class QR
 {
 public:
@@ -83,8 +85,6 @@
   return r;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleQRP.cc
+++ b/liboctave/dbleQRP.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleQRP.h
+++ b/liboctave/dbleQRP.h
@@ -24,12 +24,14 @@
 #if !defined (octave_QRP_h)
 #define octave_QRP_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dbleQR.h"
 
-extern "C++" {
-
 class QRP : public QR
 {
 public:
@@ -68,8 +70,6 @@
   return p;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleSCHUR.cc
+++ b/liboctave/dbleSCHUR.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleSCHUR.h
+++ b/liboctave/dbleSCHUR.h
@@ -24,12 +24,14 @@
 #if !defined (octave_SCHUR_h)
 #define octave_SCHUR_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dMatrix.h"
 
-extern "C++" {
-
 class SCHUR
 {
 friend class Matrix;
@@ -93,8 +95,6 @@
   return unitary_mat;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/dbleSVD.cc
+++ b/liboctave/dbleSVD.cc
@@ -21,6 +21,10 @@
 
 */
 
+#if defined (__GNUG__)
+#pragma implementation
+#endif
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
--- a/liboctave/dbleSVD.h
+++ b/liboctave/dbleSVD.h
@@ -24,13 +24,15 @@
 #if !defined (octave_SVD_h)
 #define octave_SVD_h 1
 
+#if defined (__GNUG__)
+#pragma interface
+#endif
+
 class ostream;
 
 #include "dDiagMatrix.h"
 #include "dMatrix.h"
 
-extern "C++" {
-
 class SVD
 {
 friend class Matrix;
@@ -109,8 +111,6 @@
   return right_sm;
 }
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/lo-error.h
+++ b/liboctave/lo-error.h
@@ -24,11 +24,9 @@
 #if !defined (octave_liboctave_error_h)
 #define octave_liboctave_error_h 1
 
-extern "C++" {
-
 // Tell g++ that fatal doesn't return;
 
-#ifdef __GNUG__
+#if defined (__GNUG__)
 typedef void v_fcn_cpc_x (const char *, ...);
 volatile v_fcn_cpc_x fatal;
 #endif
@@ -43,8 +41,6 @@
 
 extern void set_liboctave_error_handler (liboctave_error_handler f);
 
-} // extern "C++"
-
 #endif
 
 /*
--- a/liboctave/sun-utils.h
+++ b/liboctave/sun-utils.h
@@ -24,9 +24,7 @@
 #if !defined (octave_sun_utils_h)
 #define octave_sun_utils_h 1
 
-extern "C++" {
-
-#ifdef sun
+#if defined (sun)
 
 /*
  * I think that this is really only needed if linking to Fortran
@@ -44,7 +42,7 @@
  * boundaries.
  */
 
-#ifdef __GNUC__
+#if defined (__GNUC__)
 
 inline double
 access_double (double *unaligned_ptr)
@@ -74,13 +72,9 @@
 }
 
 #endif
-
 #endif
-
 #endif
 
-} // extern "C++"
-
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***