Closed Bug 4755 Opened 26 years ago Closed 26 years ago

SGI/native compiler errors on expat/xmlparse/xmlparse.c

Categories

(Core :: XML, defect, P3)

SGI
IRIX
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: tor, Assigned: nisheeth_mozilla)

Details

Attachments

(1 file)

Compiling on an SGI with the native compiler (MIPSpro 7.2.1.3m), the compile stops in expat with the following errors: --------------------------------------------- "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 938: error(1131): expected a field name int tok = XmlContentTok(encoding, start, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 938: error(1131): expected a field name int tok = XmlContentTok(encoding, start, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 969: error(1131): expected a field name int tok = XmlContentTok(encoding, start, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 969: error(1131): expected a field name int tok = XmlContentTok(encoding, start, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 1935: error(1131): expected a field name int tok = XmlPrologTok(encoding, s, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 1935: error(1131): expected a field name int tok = XmlPrologTok(encoding, s, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2242: error(1131): expected a field name int tok = XmlPrologTok(encoding, s, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2242: error(1131): expected a field name int tok = XmlPrologTok(encoding, s, end, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2363: warning(1110): statement is unreachable break; ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2445: error(1131): expected a field name int tok = XmlEntityValueTok(encoding, entityTextPtr, entityTextEnd, &next); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2445: error(1131): expected a field name int tok = XmlEntityValueTok(encoding, entityTextPtr, entityTextEnd, &next); ^ --------------------------------------------- Expanding the macros, here's a better picture of what's causing problems: --------------------------------------------- "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 938: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[1])((((Parser *)parser)->(((Parser *)parser)->encoding)), start, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 938: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[1])((((Parser *)parser)->(((Parser *)parser)->encoding)), start, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 969: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[1])((((Parser *)parser)->(((Parser *)parser)->encoding)), start, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 969: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[1])((((Parser *)parser)->(((Parser *)parser)->encoding)), start, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 1935: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[0])((((Parser *)parser)->(((Parser *)parser)->encoding)), s, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 1935: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[0])((((Parser *)parser)->(((Parser *)parser)->encoding)), s, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2242: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[0])((((Parser *)parser)->(((Parser *)parser)->encoding)), s, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2242: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->scanners[0])((((Parser *)parser)->(((Parser *)parser)->encoding)), s, end, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2363: warning(1110): statement is unreachable break; ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2445: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->literalScanners[1])((((Parser *)parser)->(((Parser *)parser)->encoding)), entityTextPtr, entityTextEnd, &next)); ^ "/cs/src/mozilla/mozilla/expat/xmlparse/xmlparse.c", line 2445: error(1131): expected a field name int tok = ((((((Parser *)parser)->(((Parser *)parser)->encoding)))->literalScanners[1])((((Parser *)parser)->(((Parser *)parser)->encoding)), entityTextPtr, entityTextEnd, &next)); ^ ---------------------------------------------
Status: NEW → ASSIGNED
Tor, I don't have easy access to an IRIX box out here. Can you create a login for me so that I can debug this problem? Please send me email if that sounds feasible.
Sorry, I don't have the ability to create accounts here.
It appears to be a bug in the preprocessor of the MIPSpro compilers. The problem code reduces to the following: ----CUT-HERE-------------- #define bar(x) (x) #define foo(x) bar(x) #define foobar (blech->foobar) foo(foobar); ----CUT-HERE-------------- On gcc, SUNWspro, and xlc, running this fragment through the preprocessor ("-E") results in the following (+/- whitespace): ( ( blech -> foobar ) ); MIPSpro appears to take two passes over the fragment, resulting in this mess: ((blech->(blech->foobar))); The problem macro in the expat code is "encoding".
SGI claims that this bug is fixed in the 7.3 compilers, which should be out sometime this summer. Probably a good idea to install the fix (see attachment) in the meantime.
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Thanks a lot for the patch, Tim. I just checked it in. I'll also email Jim Clark about making this fix to the expat codebase maintained by him. There is no need to do QA for this bug, so I'll mark it verified myself.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: