Closed Bug 391447 Opened 17 years ago Closed 17 years ago

Mingw build error - error: no matching function for call to `nsDerivedSafe<nsICaseConversion>::ToUpper

Categories

(Core :: Spelling checker, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: martijn.martijn, Assigned: mscott)

References

Details

Attachments

(2 files, 2 obsolete files)

After I updated my tree, I get this build error:
-Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -m
ms-bitfields -pipe  -DDEBUG -D_DEBUG -DDEBUG_mw -DTRACING -g   -DMOZILLA_CLIENT
-include ../../../../mozilla-config.h /cygdrive/c/mozilla/mozilla/extensions/spe
llcheck/hunspell/src/suggestmgr.cpp
In file included from c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/sugg
estmgr.hxx:74,
                 from c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/sugg
estmgr.cpp:69:
c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/atypes.hxx:65:30: warning:
 anonymous variadic macros were introduced in C99
csutil.cpp
/cygdrive/c/mozilla/mozilla/build/cygwin-wrapper g++ -mno-cygwin -o csutil.o -c
 -DMOZILLA_INTERNAL_API -DOSTYPE=\"WINNT5.1\" -DOSARCH=WINNT  -I../../../../dist
/include/xpcom -I../../../../dist/include/string -I../../../../dist/include/ucon
v -I../../../../dist/include/unicharutil -I../../../../dist/include/spellchecker
 -I../../../../dist/include/xulapp -I../../../../dist/include   -I../../../../di
st/include/hunspell -I../../../../dist/include/nspr  -DMOZ_PNG_READ -DPNG_NO_MMX
_CODE -DMOZ_PNG_WRITE   -I../../../../dist/sdk/include       -fno-rtti -fno-exce
ptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsy
nth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -mms-b
itfields -pipe  -DDEBUG -D_DEBUG -DDEBUG_mw -DTRACING -g   -DMOZILLA_CLIENT -inc
lude ../../../../mozilla-config.h /cygdrive/c/mozilla/mozilla/extensions/spellch
eck/hunspell/src/csutil.cpp
In file included from c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/csut
il.cpp:68:
c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/atypes.hxx:65:30: warning:
 anonymous variadic macros were introduced in C99
c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/csutil.cpp: In function `s
hort unsigned int unicodetoupper(short unsigned int, int)':
c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/csutil.cpp:5221: error: no
 matching function for call to `nsDerivedSafe<nsICaseConversion>::ToUpper(short
unsigned int&, short unsigned int*)'
../../../../dist/include/unicharutil/nsICaseConversion.h:56: note: candidates ar
e: virtual nsresult nsICaseConversion::ToUpper(PRUnichar, PRUnichar*) <near matc
h>
../../../../dist/include/unicharutil/nsICaseConversion.h:65: note:
   virtual nsresult nsICaseConversion::ToUpper(const PRUnichar*, PRUnichar*, PRU
int32)
c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/csutil.cpp: In function `s
hort unsigned int unicodetolower(short unsigned int, int)':
c:/mozilla/mozilla/extensions/spellcheck/hunspell/src/csutil.cpp:5241: error: no
 matching function for call to `nsDerivedSafe<nsICaseConversion>::ToLower(short
unsigned int&, short unsigned int*)'
../../../../dist/include/unicharutil/nsICaseConversion.h:59: note: candidates ar
e: virtual nsresult nsICaseConversion::ToLower(PRUnichar, PRUnichar*) <near matc
h>
../../../../dist/include/unicharutil/nsICaseConversion.h:68: note:
   virtual nsresult nsICaseConversion::ToLower(const PRUnichar*, PRUnichar*, PRU
int32)
make[6]: *** [csutil.o] Error 1
make[6]: Leaving directory `/cygdrive/c/mozilla/mozilla/extensions/spellcheck/hu
nspell/src'
make[5]: *** [libs] Error 2
make[5]: Leaving directory `/cygdrive/c/mozilla/mozilla/extensions/spellcheck/hu
nspell'
make[4]: *** [libs] Error 2
make[4]: Leaving directory `/cygdrive/c/mozilla/mozilla/extensions/spellcheck'
make[3]: *** [libs_tier_toolkit] Error 2
make[3]: Leaving directory `/cygdrive/c/mozilla/mozilla'
make[2]: *** [tier_toolkit] Error 2
make[2]: Leaving directory `/cygdrive/c/mozilla/mozilla'
make[1]: *** [alldep] Error 2
make[1]: Leaving directory `/cygdrive/c/mozilla/mozilla'
make: *** [alldep] Error 2

I guess this happens because bug 319778 is fixed now.
I don't know, what is the problem. Maybe you did't update or rebuild the full tree, including unicharutil. Warnings about anonymous variadic macros solved in the bug 391147.
Attached patch workaroundSplinter Review
This is how I workaround the build error. So this is the place where the build error occurs.

I think I see in struct cs_info * get_current_cs some code that makes the necessary conversions for mingw, but I'm not sure.
Attached patch patch (obsolete) — Splinter Review
Attachment #277516 - Flags: review?(nemeth)
Martijn, thanks for your patch.
Does type casting work on MinGW? If yes, I will use that:

PRUnichar ch2;
getcaseConv()->ToUpper((PRUnichar) c, &ch2);

(In reply to comment #3)
> Created an attachment (id=277516) [details]
> patch
> 

Attached patch patchv2 (obsolete) — Splinter Review
Yeah, that seems to work fine.
Attachment #277516 - Attachment is obsolete: true
Attachment #277539 - Flags: review?(nemeth)
Attachment #277516 - Flags: review?(nemeth)
Attached patch patchv2Splinter Review
oops, wrong file.
Attachment #277539 - Attachment is obsolete: true
Attachment #277540 - Flags: review?(nemeth)
Attachment #277539 - Flags: review?(nemeth)
Thanks for the quick check and the patch. It seems, it will be good for the other platforms, too.

(In reply to comment #6)
> Created an attachment (id=277540) [details]
> patchv2
> 
> oops, wrong file.
> 
Ok, so what next?
Will this be fixed upstream and fixed in Mozilla as soon as hunspell is updated in Mozilla?
Or should I check the patch already in Mozilla? (as soon as I have the appropriate reviews)
I release Hunspell 1.1.10 with this patch within a hour. Scott?
ryan enjoys porting the latest hunspell releases into the mozilla repository :)
Comment on attachment 277540 [details] [diff] [review]
patchv2

Ok, that's great to hear.
Go, Ryan, go! ;)
Attachment #277540 - Flags: review?(nemeth)
Depends on: 394261
This should be fixed now that bug 394261 landed.
Status: NEW → RESOLVED
Closed: 17 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: