help-octave
[Top][All Lists]
Advanced

[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




Attachment: pgpZZTA8KQiF0.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]