Closed Bug 555573 Opened 14 years ago Closed 14 years ago

[e10s] IPDL generates code which may not compile on Windows

Categories

(Core :: IPC, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: smaug, Assigned: smaug)

References

Details

Attachments

(1 file, 1 obsolete file)

I'm not quite sure what goes wrong with
typedefs, namespaces, classes and/or usings but Bug 554941
creates code which gives errors on Windows

e:/builds/moz2_slave/electrolysis-win32-debug/build/obj-firefox/ipc/ipdl/PIFrameEmbeddingChild.cpp(329)
: error C2872: 'PContextWrapperChild' : ambiguous symbol
        could be
'e:/builds/moz2_slave/electrolysis-win32-debug/build/obj-firefox/ipc/ipdl/PIFrameEmbeddingChild.cpp(22)
: mozilla::jsipc::PContextWrapperChild PContextWrapperChild'
        or
'e:\builds\moz2_slave\electrolysis-win32-debug\build\obj-firefox\ipc\ipdl\_ipdlheaders\mozilla/jsipc/PContextWrapperChild.h(59)
: mozilla::jsipc::PContextWrapperChild'
e:/builds/moz2_slave/electrolysis-win32-debug/build/obj-firefox/ipc/ipdl/PIFrameEmbeddingChild.cpp(335)
: error C2872: 'PContextWrapperChild' : ambiguous symbol
        could be
'e:/builds/moz2_slave/electrolysis-win32-debug/build/obj-firefox/ipc/ipdl/PIFrameEmbeddingChild.cpp(22)
: mozilla::jsipc::PContextWrapperChild PContextWrapperChild'
        or
'e:\builds\moz2_slave\electrolysis-win32-debug\build\obj-firefox\ipc\ipdl\_ipdlheaders\mozilla/jsipc/PContextWrapperChild.h(59)
: mozilla::jsipc::PContextWrapperChild'
Blocks: 554941
I don't quite understand why the
generated code is like typedef mozilla::jsipc::PContextWrapperChild PContextWrapperChild;
and not perhaps
using mozilla::jsipc::PContextWrapperChild;
That might help with the problem, or might not. I don't have Windows development environment atm to test.
cjones, would be great if you could look at the problem.
I'm hoping to get bug 554941 fixed this Q.
Attached patch wip (obsolete) — Splinter Review
Something like this might help.
Well, at least the code compiles on Linux. Haven't tried on Windows.
Comment on attachment 435578 [details] [diff] [review]
wip

Based on tryserver this works on Windows, well at least everything compiles.
Attachment #435578 - Flags: review?(jones.chris.g)
Comment on attachment 435578 [details] [diff] [review]
wip

>diff --git a/ipc/ipdl/ipdl/cxx/ast.py b/ipc/ipdl/ipdl/cxx/ast.py
>--- a/ipc/ipdl/ipdl/cxx/ast.py
>+++ b/ipc/ipdl/ipdl/cxx/ast.py
>+class Using(Node):
>+    def __init__(self, longtypename):
>+        Node.__init__(self)
>+        self.longtypename = longtypename
>+

Nit: s/longtypename/type/.

I don't really understand this error, or why we haven't seen it before, but this change looks OK if it fixes things.
Attachment #435578 - Flags: review?(jones.chris.g) → review+
Attached patch +commentsSplinter Review
Assignee: nobody → Olli.Pettay
Attachment #435578 - Attachment is obsolete: true
Status: NEW → ASSIGNED
http://hg.mozilla.org/projects/electrolysis/rev/74307b5f672b
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: