Closed Bug 489231 Opened 16 years ago Closed 16 years ago

nsStreamTransportService.cpp fails to compile with g++-4.2 -arch x86_64

Categories

(NSPR :: NSPR, defect)

4.7.4
x86_64
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jaas, Assigned: wtc)

References

Details

(Whiteboard: [4.7.5])

Attachments

(1 file, 1 obsolete file)

/Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp: In member function ‘virtual nsresult nsInputStreamTransport::Read(char*, PRUint32, PRUint32*)’: /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: note: candidate 2: operator!=(long long unsigned int, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: note: candidate 2: operator!=(PRFloat64, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: note: candidate 2: operator!=(PRUint32, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:213: note: candidate 2: operator!=(PRInt32, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp: In member function ‘virtual nsresult nsOutputStreamTransport::Write(const char*, PRUint32, PRUint32*)’: /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: note: candidate 2: operator!=(long long unsigned int, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: note: candidate 2: operator!=(PRFloat64, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: note: candidate 2: operator!=(PRUint32, long unsigned int) <built-in> /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ../../../dist/include/xpcom/nsInt64.h:289: note: candidate 1: PRBool nsTInt64<T>::operator!=(T) const [with T = long long unsigned int] /Users/josh/src/mozilla/ff_192_64bit/netwerk/base/src/nsStreamTransportService.cpp:415: note: candidate 2: operator!=(PRInt32, long unsigned int) <built-in> make[6]: *** [nsStreamTransportService.o] Error 1
Sorry, didn't realize the pasted build errors were going to take up so much space :)
Josh, could you please change this ifdef in prlong.h: http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/nsprpub/pr/include/prlong.h&rev=3.15&mark=69#67 to match this ifdef in prtypes.h? http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/nsprpub/pr/include/prtypes.h&rev=3.39&mark=362#356 We should also add a comment to remind ourselves that the ifdef's in these two files need to match. Thanks.
Attached patch fix v1.0 (obsolete) — Splinter Review
That works, thanks!
Attachment #373753 - Flags: superreview?(wtc)
Blocks: 468509
Wan-Teh, any chance you'll be able to push a new nspr with this soon?
Sorry about the delay. I changed the comment to a C comment (/* */), added a corresponding comment to prtypes.h, and checked this in on the NSPR trunk (NSPR 4.8). I will push a new NSPR snapshot to mozilla-central tomorrow or this weekend. Checking in prlong.h; /cvsroot/mozilla/nsprpub/pr/include/prlong.h,v <-- prlong.h new revision: 3.16; previous revision: 3.15 done Checking in prtypes.h; /cvsroot/mozilla/nsprpub/pr/include/prtypes.h,v <-- prtypes.h new revision: 3.40; previous revision: 3.39 done
Attachment #373753 - Attachment is obsolete: true
Attachment #373753 - Flags: superreview?(wtc)
Assignee: nobody → wtc
Status: NEW → ASSIGNED
Component: Networking → NSPR
Product: Core → NSPR
QA Contact: networking → nspr
Target Milestone: --- → 4.8
Version: Trunk → 4.7.4
I pushed changeset 85e6ca56e859, which contains the patch in this bug, to mozilla-central: http://hg.mozilla.org/mozilla-central/rev/85e6ca56e859
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
I backported the patch (attachment 375274 [details] [diff] [review]) to the NSPR_4_7_BRANCH for NSPR 4.7.5. Checking in prlong.h; /cvsroot/mozilla/nsprpub/pr/include/prlong.h,v <-- prlong.h new revision: 3.13.86.1; previous revision: 3.13 done Checking in prtypes.h; /cvsroot/mozilla/nsprpub/pr/include/prtypes.h,v <-- prtypes.h new revision: 3.37.4.2; previous revision: 3.37.4.1 done
Whiteboard: [4.7.5]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: