Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <200007210214.WAA19130@melbourne-city-street.MIT.EDU> X-Sender: trotts AT hesiod (Unverified) X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0.2 Date: Thu, 20 Jul 2000 22:14:03 -0400 To: cygwin AT sourceware DOT cygnus DOT com From: Issac Trotts Subject: bad line in /usr/include/math.h Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" I got a very cryptic error message while compiling a C++ class library called GiNaC (http://www.ginac.de/) that overloads the function log2 because of the following sinister line in /usr/include/math.h: #define log2(x) (log(x) / M_LOG2_E) I first tried to replace the line with inline versions of log2 for float and double but the compiler complained that log2 was being redefined. So I changed the line to #ifdef __cplusplus // Do not define log2 #else #define log2(x) (log(x) / M_LOG2_E) #endif and now the code compiles. Btw, I also put the following code: #ifdef log2 #undef log2 #endif above the line unsigned log2(unsigned n); in the GiNaC header file that originally had the problem, just in case I get another infected math.h file later on. -Issac -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com