From: Dan Bonachea (bonachea_at_cs_dot_berkeley_dot_edu)
Date: Thu May 27 2004 - 14:42:11 PDT
http://mantis.lbl.gov/bugzilla/show_bug.cgi?id=623 bonachea_at_cs_dot_berkeley_dot_edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ---- Additional Comments From bonachea_at_cs_dot_berkeley_dot_edu 2004-05-27 14:56 ---- The root of the problem is that by default the MIPSPro C compiler's preprocessor fails to generate an exit code indicating failure when it hits an #error statement in the code - it foolishly treats this as a warning, which of course breaks most of the autoconf framework (not just for Berkeley UPC, but many autoconf scripts, which rely on the basic behavior of #error causing an error to detect things). MIPSPro C does *not* actually define __DECC, but the lack of a proper exit code on error is giving the impression that it defines all the symbols we ask for, and __DECC just happens to be the last one on the list so that's the one that turns up. (ie note the "warning" that should have been an error when we test for __DECC: 323 cc-1035 cc: WARNING File = configure, Line = 3935 324 #error directive: 325 326 # error 327 ^ ) Temporary workaround is to set CC="cc -diag_error 1035" before running configure. That tells MIPSPro C to behave like a real C preprocessor and treat #error like an error. I'm not sure how to fix this in general because we have a chicken and egg situation - we need this special flag to be applied to MIPSPro C very early in configure in order for anything to work, including the detection that we're using MIPSPro C (and that we need the flag). I'll probably just add a special-case detection for this C preprocessor. ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.