build error: HP-UX: nsRDFElement.cpp (and DOM macro)

VERIFIED FIXED

Status

()

Core
RDF
P3
normal
VERIFIED FIXED
19 years ago
19 years ago

People

(Reporter: Bruce Mitchener, Assigned: Chris Waterson)

Tracking

Trunk
HP
HP-UX
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

19 years ago
Error 698: "../../../dist/./include/nsIDOMNode.h", line 125 # Error limit
reached; halting compilation.
         D    GetOwnerDocument(nsIDOMDocument** aOwnerDocument) { return
_to##GetOwnerDocument(aOwnerDocument); } \

^^^^^^^^^^^^^^^^^^^^^
NEXT gmake[3]: *** [nsRDFElement.o] Error 2

Each line like that in the macro failed.  This is visible on the HP-UX 10.20
tinderbox on the ports page (eggroll).

nsRDFElement.cpp includes nsXULTreeElement.h and on:
http://lxr.mozilla.org/seamonkey/source/rdf/content/src/nsXULTreeElement.h#43

it calls that macro, passing it mOuter->

and then compile go boom.

cc'ing vidur since the macro was defined in DOM land. assigning to waterson
since the calling of the macro is in RDF/XUL land.
I think the right thing to do is change:
  NS_IMETHOD    GetNodeName(nsString& aNodeName) { return
_to##GetNodeName(aNodeName); } \
to
  NS_IMETHOD    GetNodeName(nsString &aNodeName) { return
_to/**/GetNodeName(aNodeName); } \
and so forth.  I think strict C says that ## can only be used to create a valid
single token, the the latter form will at worst insert a harmless space when the
preprocessor is done with it.
(Assignee)

Comment 2

19 years ago
Created attachment 38 [details] [diff] [review]
recommended patch to XPCOMGen.cpp
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 3

19 years ago
Vidur: I've regenerated the core DOM header files with the above patch for
idlc. Did a full rebuild on Win32: it works fine. I've also spot-checked Mac
and Linux, so it looks like this'll be okay. Give the word and I'll check in
the patch to idlc and the re-generated DOM headers.
(Assignee)

Comment 4

19 years ago
Actually, let me correct the above statement. I regenerated _all_ the DOM
header files (all of mozilla/dom/public/idl).

Comment 5

19 years ago
Go for it, Chris.
(Assignee)

Updated

19 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Assignee)

Comment 6

19 years ago
Changes checked in.
(Reporter)

Updated

19 years ago
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.