Error in "intl/src/mac" when trying to build Firefox with Apple GCC-3.5-tree-ssa

RESOLVED FIXED

Status

()

Core
Internationalization
--
blocker
RESOLVED FIXED
14 years ago
13 years ago

People

(Reporter: MMx, Assigned: smontagu)

Tracking

Trunk
PowerPC
Mac OS X
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

14 years ago
I tryed to compile Firefox AVIARY_BRANCH (both 0.9.3 and recent source) with
Apple's gcc-3.5-tree-ssa in OS X 10.3.5 and it failed at the following file:

http://lxr.mozilla.org/aviarybranch/source/intl/locale/src/mac/nsCollationMacUC.cpp

The message I got: 
---------------8<----------------
nsCollationMacUC.cpp
c++ -o nsCollationMacUC.o -c -DOSTYPE=\"Darwin7.5.0\" -DOSARCH=\"Darwin\" 
-I../../../../dist/include/xpcom -I../../../../dist/include/string
-I../../../../dist/include/unicharutil -I../../../../dist/include/uconv
-I../../../../dist/include/locale -I../../../../dist/include
-I/Volumes/FW_Jaguar/TEMP/Builds/Firefox/AVIARY_1_0_20040515_BRANCH/mozilla/dist/include/nspr
    -I./.. -I/usr/X11R6/include   -mdynamic-no-pic  -I/usr/X11R6/include
-fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor
-Wno-long-long -fpascal-strings -no-cpp-precomp -fno-common -fshort-wchar
-I/Developer/Headers/FlatCarbon -pipe  -DNDEBUG -DTRIMMED -O2 
-I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../../mozilla-config.h
-Wp,-MD,.deps/nsCollationMacUC.pp nsCollationMacUC.cpp
nsCollationMacUC.cpp: In destructor `nsCollationMacUC::~nsCollationMacUC()':
nsCollationMacUC.cpp:64: warning: unused variable 'err'
nsCollationMacUC.cpp: In member function `virtual nsresult
nsCollationMacUC::CompareString(PRInt32, constnsAString&, constnsAString&,
PRInt32*)':
nsCollationMacUC.cpp:223: error: invalid conversion from `PRInt32*' to `SInt32*'
nsCollationMacUC.cpp:223: error:   initializing argument 7 of `OSStatus
UCCompareText(OpaqueCollatorRef*, const UniChar*, UniCharCount, const UniChar*,
UniCharCount, Boolean*, SInt32*)'
nsCollationMacUC.cpp: In member function `virtual nsresult
nsCollationMacUC::CompareRawSortKey(const PRUint8*, PRUint32, const PRUint8*,
PRUint32, PRInt32*)':
nsCollationMacUC.cpp:244: error: invalid conversion from `PRInt32*' to `SInt32*'
nsCollationMacUC.cpp:244: error:   initializing argument 6 of `OSStatus
UCCompareCollationKeys(const UCCollationValue*, ItemCount, const
UCCollationValue*, ItemCount, Boolean*, SInt32*)'
make[6]: *** [nsCollationMacUC.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [libs] Error 2
make[4]: *** [libs] Error 2
make[3]: *** [libs] Error 2
make[2]: *** [tier_9] Error 2
make[1]: *** [default] Error 2
make: *** [build] Error 2
----------8<------------------------------

I will try it with trunk, too, but I don't expect a different result. With
gcc-3.3 everything works fine.

CCing the people who last changed the lines in question (and still have matches
in the database :| )
(Reporter)

Updated

14 years ago
Flags: blocking-aviary1.0mac?
(Reporter)

Comment 1

14 years ago
I tried with trunk (checked out ~14UTC), same result:
----------8<----------------------------------------
nsCollationMacUC.cpp
c++ -o nsCollationMacUC.o -c -DOSTYPE=\"Darwin7.5.0\" -DOSARCH=\"Darwin\" 
-I../../../../dist/include/xpcom -I../../../../dist/include/string
-I../../../../dist/include/unicharutil -I../../../../dist/include/uconv
-I../../../../dist/include/locale -I../../../../dist/include
-I/Volumes/FW_Jaguar/TEMP/Builds/Firefox/Trunk/mozilla/dist/include/nspr    
-I./.. -I/usr/X11R6/include   -mdynamic-no-pic  -I/usr/X11R6/include -fno-rtti
-fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor
-Wno-long-long -fpascal-strings -no-cpp-precomp -fno-common -fshort-wchar
-I/Developer/Headers/FlatCarbon -pipe  -DNDEBUG -DTRIMMED -O2 
-I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../../mozilla-config.h
-Wp,-MD,.deps/nsCollationMacUC.pp nsCollationMacUC.cpp
nsCollationMacUC.cpp: In destructor `nsCollationMacUC::~nsCollationMacUC()':
nsCollationMacUC.cpp:63: warning: unused variable 'err'
nsCollationMacUC.cpp: In member function `virtual nsresult
nsCollationMacUC::CompareString(PRInt32, constnsAString&, constnsAString&,
PRInt32*)':
nsCollationMacUC.cpp:222: error: invalid conversion from `PRInt32*' to `SInt32*'
nsCollationMacUC.cpp:222: error:   initializing argument 7 of `OSStatus
UCCompareText(OpaqueCollatorRef*, const UniChar*, UniCharCount, const UniChar*,
UniCharCount, Boolean*, SInt32*)'
nsCollationMacUC.cpp: In member function `virtual nsresult
nsCollationMacUC::CompareRawSortKey(const PRUint8*, PRUint32, const PRUint8*,
PRUint32, PRInt32*)':
nsCollationMacUC.cpp:243: error: invalid conversion from `PRInt32*' to `SInt32*'
nsCollationMacUC.cpp:243: error:   initializing argument 6 of `OSStatus
UCCompareCollationKeys(const UCCollationValue*, ItemCount, const
UCCollationValue*, ItemCount, Boolean*, SInt32*)'
make[6]: *** [nsCollationMacUC.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [libs] Error 2
make[4]: *** [libs] Error 2
make[3]: *** [libs] Error 2
make[2]: *** [tier_9] Error 2
make[1]: *** [default] Error 2
make: *** [build] Error 2
--------------------8<---------------------

additional information about my compiler:

Reading specs from /usr/lib/gcc/powerpc-apple-darwin/3.5.0-tree-ssa/specs
Configured with:
/Volumes/FW_Jaguar/TEMP/Builds/GCC/gcc-1765/build/obj/src/configure
--disable-checking --prefix=/usr --disable-libmudflap --mandir=/share/man
--enable-languages=c,objc,c++ --disable-libada
--program-transform-name=/^[cg][^+.-]*$/s/$/-3.5/
--with-gxx-include-dir=/include/gcc/darwin/3.5/c++ --build=powerpc-apple-darwin
--host=powerpc-apple-darwin --target=powerpc-apple-darwin
Thread model: posix
gcc version 3.5.0-tree-ssa 20040321 (merged 20040529) (Apple Computer, Inc.
build 1765)

changing to Trunk and marking as NEW for now.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Version: Other Branch → Trunk
(Reporter)

Comment 2

14 years ago
changing summary because it does not only affect AVIARY branch
Summary: Error when trying to build AVIARY Firefox with Apple GCC-3.5-tree-ssa → Error when trying to build Firefox with Apple GCC-3.5-tree-ssa

Comment 3

14 years ago
It seems gcc changed behaviour, since the Darwin 7.4.0 Clobber tinderbox (which
comes with gcc 3.3 i think) spits out a warning here, so gcc 3.5 to produces a
error instad of a warning here.

Comment 4

14 years ago
Created attachment 157099 [details] [diff] [review]
Patch 1

This patches fixes this build issue, not requesting review for now, since other
build issues might still appear. The Reporter said the patch works, but he
didnt compile further than this file.

Comment 5

14 years ago
Created attachment 157100 [details] [diff] [review]
Patch 1

This patch fixes this build issue, not requesting review for now, since other
build issues might still appear. The Reporter said the patch works, but he
didnt compile further than this file.
(Reporter)

Comment 6

14 years ago
I just got another error, in the file "mozilla/gfx/src/mac/nsImageMac.cpp "
(trunk, expect it to be the same in all live branches)

---------------8<---------------------
nsImageMac.cpp: In member function `virtual nsresult
nsImageMac::Draw(nsIRenderingContext&, nsIDrawingSurface*, PRInt32, PRInt32,
PRInt32, PRInt32, PRInt32, PRInt32, PRInt32, PRInt32)':
nsImageMac.cpp:386: error: invalid conversion from `char*' to `unsigned char*'
nsImageMac.cpp:386: error:   initializing argument 9 of `void
RectStretch(unsigned int, unsigned int, unsigned int, unsigned int, unsigned
int, unsigned int, unsigned int, unsigned int, unsigned char*, unsigned int,
unsigned char*, unsigned int, unsigned int)'
nsImageMac.cpp:386: error: invalid conversion from `char*' to `unsigned char*'
nsImageMac.cpp:386: error:   initializing argument 11 of `void
RectStretch(unsigned int, unsigned int, unsigned int, unsigned int, unsigned
int, unsigned int, unsigned int, unsigned int, unsigned char*, unsigned int,
unsigned char*, unsigned int, unsigned int)'
nsImageMac.cpp:392: error: invalid conversion from `char*' to `unsigned char*'
nsImageMac.cpp:392: error:   initializing argument 9 of `void
RectStretch(unsigned int, unsigned int, unsigned int, unsigned int, unsigned
int, unsigned int, unsigned int, unsigned int, unsigned char*, unsigned int,
unsigned char*, unsigned int, unsigned int)'
nsImageMac.cpp:392: error: invalid conversion from `char*' to `unsigned char*'
nsImageMac.cpp:392: error:   initializing argument 11 of `void
RectStretch(unsigned int, unsigned int, unsigned int, unsigned int, unsigned
int, unsigned int, unsigned int, unsigned int, unsigned char*, unsigned int,
unsigned char*, unsigned int, unsigned int)'
make[5]: *** [nsImageMac.o] Error 1
------------8<-----------------------
(Reporter)

Comment 7

14 years ago
I just filed bug 257096 for the issue in /gfx.
more bugs coming up... :(
(Reporter)

Comment 8

14 years ago
changing summary to make bugs distinguishable
Summary: Error when trying to build Firefox with Apple GCC-3.5-tree-ssa → Error in "intl/src/mac" when trying to build Firefox with Apple GCC-3.5-tree-ssa
(Reporter)

Comment 9

14 years ago
setting dependency on tracker bug
Depends on: 257100
Flags: blocking-aviary1.0mac?
(Reporter)

Updated

14 years ago
Blocks: 257100
No longer depends on: 257100

Updated

14 years ago
Attachment #157100 - Flags: review?(smontagu)
(Assignee)

Updated

14 years ago
Attachment #157100 - Flags: review?(smontagu) → review+

Updated

14 years ago
Attachment #157100 - Flags: superreview?(jshin)

Comment 10

14 years ago
Both SInt32 and PRint32 are signed 32-bit integers, but it seems that one is
typedef'd as 'unsigned long' while the other is typedef'd as 'unsigned int' (I
haven't checked which is which). 

http://developer.apple.com/documentation/Porting/Conceptual/PortingDrivers/unix-model/chapter_2_section_7.html

Updated

14 years ago
Attachment #157100 - Flags: superreview?(jshin) → superreview?(sfraser)

Updated

14 years ago
Attachment #157100 - Flags: superreview?(sfraser) → superreview+

Updated

14 years ago
Attachment #157100 - Flags: approval-aviary?

Comment 11

14 years ago
PRInt32 is typedef'd as 'int' on Mac OS X.

It is very common for people to typedef a 32-bit
signed integer type as 'long' on 32-bit systems
where both 'int' and 'long' are 32-bit.  But
I only found out about this after it's too late
to change PRInt32.
hrm, how does this impact using NSPR in a 64-bit app on Tiger, where int (and
thus PRInt32) is now 64 bits?
ignore my last comment entirely, tiger is a LP64 model. my bad.

Comment 14

14 years ago
(In reply to comment #10)
> Both SInt32 and PRint32 are signed 32-bit integers, but it seems that one is
> typedef'd as 'unsigned long' while the other is typedef'd as 'unsigned int' (I

Oops. I meant 'long' and 'int', respectively. 
Checked in on trunk:
2004-08-30 10:41	timeless%mozdev.org 	mozilla/ intl/ locale/ src/ mac/
nsCollationMacUC.cpp 	1.16 	2/2  	Bug 256994 Error in "intl/src/mac" when trying
to build Firefox with Apple GCC-3.5-tree-ssa
patch by mcsmurf [et] gmx.de r=smontagu sr=smfr
not resolving yet, since patch has pending approval-aviary?

Comment 16

14 years ago
Comment on attachment 157100 [details] [diff] [review]
Patch 1

a=asa for branch checkin.
Attachment #157100 - Flags: approval-aviary? → approval-aviary+

Comment 17

13 years ago
Comment on attachment 157100 [details] [diff] [review]
Patch 1

need re-approval now that we're past 1.0 RC. setting back to request.
Attachment #157100 - Flags: approval-aviary+ → approval-aviary?

Comment 18

13 years ago
Comment on attachment 157100 [details] [diff] [review]
Patch 1

too late for 1.0
Attachment #157100 - Flags: approval-aviary? → approval-aviary-

Updated

13 years ago
Attachment #157100 - Flags: approval1.8b4?

Updated

13 years ago
Attachment #157100 - Flags: approval1.8b4? → approval1.8b4+
eh, what's the point of requesting approval here? The patch was already checked
in into trunk (and 1.8b4+ IS trunk). I think this isn't needed for aviary
anymore and so fixed.
Status: NEW → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.