[gnu.g++] Help! Weird error compiling 1.34.0 lib w/1.34.1....

rang@cpsin3.cps.msu.edu (Anton Rang) (04/04/89)

I don't know C++, so there may be an obvious solution to this.  I am
using G++ 1.34.1 on a Sun-3/280.  When I try to build the libraries
(1.34.0), I get an error message about "odd" and "even" being
overloaded even though they are declared not to be, or something like
that.  What gives?  Help!!!  (Does going to 1.34.2 help?)
  Many thanks for any help anybody can give me!

+---------------------------+------------------------+----------------------+
| Anton Rang (grad student) | "VMS Forever!"         | "Do worry...be SAD!" |
| Michigan State University | rang@cpswh.cps.msu.edu |                      |
+---------------------------+------------------------+----------------------+

schmidt@glacier.ics.uci.edu (Doug Schmidt) (04/04/89)

In article <2351@cps3xx.UUCP> rang@cpswh.cps.msu.edu (Anton Rang) writes:
++ I don't know C++, so there may be an obvious solution to this.  I am
++ using G++ 1.34.1 on a Sun-3/280.  When I try to build the libraries
++ (1.34.0), I get an error message about "odd" and "even" being
++ overloaded even though they are declared not to be, or something like
++ that.  What gives?  Help!!!  (Does going to 1.34.2 help?)
++   Many thanks for any help anybody can give me!

Going to 1.34.2 is a good idea, but the fix here is to modify
builtin.h so that `odd' and `even' are declared as overloaded, i.e.

// ........ builtin.h stuff omitted for brevity

#ifndef _builtin_h
#define _builtin_h 1


overload clearbit;
overload dec;
overload gcd;
overload hex;
overload lcm;
overload lg;
overload oct;
overload setbit;
overload sign;
overload sqr;
overload testbit;
overload odd; // add these two
overload even; // guys here!

// more stuff omitted



Hope this solves your problem.

Doug
--
On a clear day, under blue skies, there is no need to seek.
And asking about Buddha                +------------------------+
Is like proclaiming innocence,         | schmidt@ics.uci.edu    |
With loot in your pocket.              | office: (714) 856-4043 |