[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Octave .oct files, egcs, and GCC...
From: |
Braddock Gaskill |
Subject: |
Octave .oct files, egcs, and GCC... |
Date: |
Mon, 21 May 2001 18:20:36 -0400 |
Hi folks,
I just got to the bottom of something that has been mystifying me for
some time.
The include files <octave/oct.h> for a .oct file do not seem to parse
cleanly with GCC, although they do with with EGCS (aka kgcc). I've
noticed for months that my .oct files were compiling with a LOT of
warnings using g++. However I just upgraded to Mandrake 8 with
octave-2.0.16-8mdk, and now the <octave/oct.h> included headers won't
compile at ALL with g++ (gcc vers 2.96). They compile with no warnings
using kgcc (which is egcs-2.91.66) using all the same flags.
Knowing how crappy GCC C++ support is, I assume this is a bug with gcc
rather than the octave code. Still, it would definitely be worth a
note in the FAQ or the info files.
And to think I thought GCC and EGCS had already completed merging ages
ago... :/
-Braddock
Here is the raw shit:
$ g++ --version
2.96
$ g++ -g -I. -I./oct -I/usr/include -I/usr/include/octave -c oct2c.cc -o oct2c.o
In file included from /usr/include/g++-3/complex:7,
from /usr/include/octave/oct-cmplx.h:26,
from /usr/include/octave/mx-defs.h:72,
from /usr/include/octave/chMatrix.h:37,
from /usr/include/octave/mx-base.h:28,
from /usr/include/octave/ov.h:38,
from /usr/include/octave/variables.h:38,
from /usr/include/octave/defun-int.h:26,
from /usr/include/octave/defun-dld.h:30,
from /usr/include/octave/oct.h:33,
from oct2c.h:6,
from oct2c.cc:5:
/usr/include/g++-3/std/complext.h:314: declaration of `double hypot
(double, double)' throws different exceptions
/usr/include/bits/mathcalls.h:150: than previous declaration `double
hypot (double, double) throw ()'
In file included from /usr/include/octave/ov.h:43,
from /usr/include/octave/variables.h:38,
from /usr/include/octave/defun-int.h:26,
from /usr/include/octave/defun-dld.h:30,
from /usr/include/octave/oct.h:33,
from oct2c.h:6,
from oct2c.cc:5:
/usr/include/octave/pt-exp.h:138: parse error before `not'
/usr/include/octave/pt-exp.h:143: missing ';' before right brace
/usr/include/octave/pt-exp.h:145: parse error before `int'
/usr/include/octave/pt-exp.h:148: parse error before `*'
/usr/include/octave/pt-exp.h:153: destructors must be member functions
/usr/include/octave/pt-exp.h: In function `void tree_unary_expression
()':
/usr/include/octave/pt-exp.h:153: `op' undeclared (first use this
function)
/usr/include/octave/pt-exp.h:153: (Each undeclared identifier is
reported only once for each function it appears in.)
/usr/include/octave/pt-exp.h: At top level:
/usr/include/octave/pt-exp.h:159: non-member function `oper ()' cannot
have `const' method qualifier
/usr/include/octave/pt-exp.h: In function `bool is_prefix_op ()':
/usr/include/octave/pt-exp.h:161: `etype' undeclared (first use this
function)
/usr/include/octave/pt-exp.h:161: parse error before `||'
/usr/include/octave/pt-exp.h: At top level:
/usr/include/octave/pt-exp.h:167: parse error before `private'
/usr/include/octave/pt-exp.h:173: syntax error before `;'
/usr/include/octave/pt-exp.h:202: parse error before `and'
/usr/include/octave/pt-exp.h:204: missing ';' before right brace
/usr/include/octave/pt-exp.h:206: parse error before `int'
/usr/include/octave/pt-exp.h:209: parse error before `*'
/usr/include/octave/pt-exp.h:214: destructors must be member functions
/usr/include/octave/pt-exp.h: In function `void tree_binary_expression
()':
/usr/include/octave/pt-exp.h:215: `op_lhs' undeclared (first use this
function)
/usr/include/octave/pt-exp.h:216: `op_rhs' undeclared (first use this
function)
/usr/include/octave/pt-exp.h: At top level:
/usr/include/octave/pt-exp.h:223: non-member function `oper ()' cannot
have `const' method qualifier
/usr/include/octave/pt-exp.h:230: parse error before `protected'
/usr/include/octave/pt-exp.h:234: `tree_expression *op_rhs' used prior
to declaration
/usr/include/octave/pt-exp.h:236: parse error before `private'
/usr/include/octave/pt-exp.h:252: parse error before `and'
/usr/include/octave/pt-exp.h:254: missing ';' before right brace
/usr/include/octave/pt-exp.h:256: parse error before `int'
/usr/include/octave/pt-exp.h:259: parse error before `*'
/usr/include/octave/pt-exp.h:263: destructors must be member functions
/usr/include/octave/pt-exp.h:267: non-member function `oper ()' cannot
have `const' method qualifier
/usr/include/octave/pt-exp.h:269: parse error before `private'
In file included from /usr/include/octave/variables.h:38,
from /usr/include/octave/defun-int.h:26,
from /usr/include/octave/defun-dld.h:30,
from /usr/include/octave/oct.h:33,
from oct2c.h:6,
from oct2c.cc:5:
/usr/include/octave/ov.h:330: declaration does not declare anything
/usr/include/octave/ov.h:330: virtual outside class declaration
/usr/include/octave/ov.h:330: parse error before `not'
/usr/include/octave/ov.h: In method `octave_value::octave_value (const
octave_value &)':
/usr/include/octave/ov.h:138: `rep' undeclared (first use this
function)
/usr/include/octave/ov.h:138: `class octave_value' has no member named
`rep'
/usr/include/octave/ov.h: In function `void *octave_value::operator new
(unsigned int)':
/usr/include/octave/ov.h:162: use of class template `template <_Tp>
class allocator' as expression
/usr/include/octave/ov.h:162: calling type `alloc' like a method
/usr/include/octave/ov.h: In function `void octave_value::operator
delete (void *, unsigned int)':
/usr/include/octave/ov.h:165: use of class template `template <_Tp>
class allocator' as expression
/usr/include/octave/ov.h: In method `octave_value
&octave_value::operator= (const octave_value &)':
/usr/include/octave/ov.h:171: `class octave_value' has no member named
`rep'
/usr/include/octave/ov.h:176: `class octave_value' has no member named
`rep'
/usr/include/octave/ov.h: At top level:
/usr/include/octave/ov.h:332: ISO C++ forbids defining types within
return type
/usr/include/octave/ov.h:332: syntax error before `('
/usr/include/octave/ov.h:334: virtual outside class declaration
/usr/include/octave/ov.h:334: non-member function `transpose ()' cannot
have `const' method qualifier
/usr/include/octave/ov.h:334: semicolon missing after declaration of
`class octave_value'
/usr/include/octave/ov.h:336: virtual outside class declaration
/usr/include/octave/ov.h:336: non-member function `hermitian ()' cannot
have `const' method qualifier
/usr/include/octave/ov.h:339: virtual outside class declaration
/usr/include/octave/ov.h: In function `void increment ()':
/usr/include/octave/ov.h:340: `make_unique' undeclared (first use this
function)
/usr/include/octave/ov.h: At top level:
/usr/include/octave/ov.h:345: virtual outside class declaration
/usr/include/octave/ov.h:351: non-member function `vector_value (bool,
bool)' cannot have `const' method qualifier
/usr/include/octave/ov.h:355: non-member function `complex_vector_value
(bool, bool)' cannot have `const' method qualifier
/usr/include/octave/ov.h:362: virtual outside class declaration
/usr/include/octave/ov.h:362: non-member function `convert_to_str ()'
cannot have `const' method qualifier
/usr/include/octave/ov.h:365: virtual outside class declaration
/usr/include/octave/ov.h:370: virtual outside class declaration
/usr/include/octave/ov.h:377: virtual outside class declaration
/usr/include/octave/ov.h:377: non-member function `type_id ()' cannot
have `const' method qualifier
/usr/include/octave/ov.h:379: virtual outside class declaration
/usr/include/octave/ov.h:379: non-member function `type_name ()' cannot
have `const' method qualifier
/usr/include/octave/ov.h:385: friend declaration not in class
definition
/usr/include/octave/ov.h:391: parse error before `protected'
/usr/include/octave/ov.h:403: namespace-scope anonymous aggregates must
be static
/usr/include/octave/ov.h:413: parse error before `}'
make: *** [oct2c.o] Error 1
pgpZZTA8KQiF0.pgp
Description: PGP signature
- Octave .oct files, egcs, and GCC...,
Braddock Gaskill <=