Fix with GCC4. From http://bugs.gentoo.org/show_bug.cgi?id=140987 --- hexcalc.c.orig Sun May 15 11:30:39 2011 +++ hexcalc.c Sun May 15 11:34:23 2011 @@ -37,6 +37,7 @@ static char *sccsid = "@(#)hexcalc.c 1.11 11/21/89"; #endif #include +#include #include #include #include @@ -509,14 +510,16 @@ caddr_t data; switch(topOp) { case '+' : - ac = PopArg() + PopArg(); + temp = PopArg(); + ac = PopArg() + temp; break; case '-' : temp = PopArg(); ac = PopArg() - temp; break; case '*' : - ac = PopArg() * PopArg(); + temp = PopArg(); + ac = temp * PopArg(); break; case '/' : temp = PopArg(); @@ -528,15 +531,18 @@ caddr_t data; break; case '|' : - ac = PopArg() | PopArg(); + temp = PopArg(); + ac = temp | PopArg(); break; case '&' : - ac = PopArg() & PopArg(); + temp = PopArg(); + ac = temp & PopArg(); break; case '^' : - ac = PopArg() ^ PopArg(); + temp = PopArg(); + ac = temp ^ PopArg(); break; case '<' :