Closed Bug 256994 Opened 20 years ago Closed 19 years ago

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

Categories

(Core :: Internationalization, defect)

PowerPC
macOS
defect
Not set
blocker

Tracking

()

RESOLVED FIXED

People

(Reporter: MMx, Assigned: smontagu)

References

Details

Attachments

(2 files)

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 :| )
Flags: blocking-aviary1.0mac?
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
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
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.
Attached patch Patch 1Splinter Review
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.
Attached patch Patch 1Splinter Review
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.
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<-----------------------
I just filed bug 257096 for the issue in /gfx.
more bugs coming up... :(
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
setting dependency on tracker bug
Depends on: 257100
Flags: blocking-aviary1.0mac?
Blocks: 257100
No longer depends on: 257100
Attachment #157100 - Flags: review?(smontagu)
Attachment #157100 - Flags: review?(smontagu) → review+
Attachment #157100 - Flags: superreview?(jshin)
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
Attachment #157100 - Flags: superreview?(jshin) → superreview?(sfraser)
Attachment #157100 - Flags: superreview?(sfraser) → superreview+
Attachment #157100 - Flags: approval-aviary?
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.
(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 on attachment 157100 [details] [diff] [review]
Patch 1

a=asa for branch checkin.
Attachment #157100 - Flags: approval-aviary? → approval-aviary+
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 on attachment 157100 [details] [diff] [review]
Patch 1

too late for 1.0
Attachment #157100 - Flags: approval-aviary? → approval-aviary-
Attachment #157100 - Flags: approval1.8b4?
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
Closed: 19 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: