Issue 79572 - #pragma setlocale("C") needed with localized MS VS .NET compilers
Summary: #pragma setlocale("C") needed with localized MS VS .NET compilers
Status: RESOLVED FIXED
Alias: None
Product: General
Classification: Code
Component: spell checking (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: All Windows XP
: P3 Trivial (vote)
Target Milestone: ---
Assignee: issues@lingucomponent
QA Contact: issues@lingucomponent
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-13 09:40 UTC by zhangxiaofei.ooo
Modified: 2013-02-24 20:42 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description zhangxiaofei.ooo 2007-07-13 09:40:57 UTC
When compiling $SRC_ROOT/lingucomponent/source/spellcheck/hunspell/hunspell.cxx
with Chinese Microsoft Visual Studio .NET Compiler. The following errors occurs:

-----------------------------------------------------
build -- version: 1.155

=============
Building project lingucomponent
=============
/cygdrive/f/OOo/SRC680_m217/lingucomponent/inc
-------------
/cygdrive/f/OOo/SRC680_m217/lingucomponent/source/lingutil
-------------
/cygdrive/f/OOo/SRC680_m217/lingucomponent/source/hyphenator/altlinuxhyph/libhnj
-------------
/cygdrive/f/OOo/SRC680_m217/lingucomponent/source/spellcheck/hunspell
dmake: Executing shell macro: $(FIND) . -name
"{$(subst,$($(WINVERSIONNAMES)_MAJOR),* $(subst,$(UPD)$(DLLPOSTFIX),
$(SHL1TARGET)))}.xml"
------------------------------
Making: ../../../wntmsci10.pro/slo/hunspell.obj
guw.exe /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe  -Zm500 -Zc:forScope
-GR -c -nologo -Gs  -Gy -Ob1 -Oxs -Oy- -Gd  -I. 
-I../../../wntmsci10.pro/inc/hunspell -I../inc -I../../../inc/pch
-I../../../inc/lingucomponent -I../../../inc -I../../../WIN/inc
-I../../../wntmsci10.pro/inc -I.
-I/cygdrive/f/ooo/SRC680_m217/solver/680/wntmsci10.pro/inc/stl
-I/cygdrive/f/ooo/SRC680_m217/solver/680/wntmsci10.pro/inc/external
-I/cygdrive/f/ooo/SRC680_m217/solver/680/wntmsci10.pro/inc
-I/cygdrive/f/ooo/SRC680_m217/solenv/wntmsci10/inc
-I/cygdrive/f/ooo/SRC680_m217/solenv/inc -I/cygdrive/f/ooo/SRC680_m217/res
-I/cygdrive/f/ooo/SRC680_m217/solver/680/wntmsci10.pro/inc/stl
-I/cygdrive/d/OOEnv/J2SDK1~1.2_0/include/win32
-I/cygdrive/d/OOEnv/J2SDK1~1.2_0/include -I/cygdrive/d/OOEnv/PSDK/include
-I/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/include
-I/cygdrive/d/OOEnv/DXSDK2~1/include -I/cygdrive/d/OOEnv/DXSDK2~1/include    
-I/cygdrive/f/ooo/SRC680_m217/solver/680/wntmsci10.pro/inc/offuh -I.
-I../../../res -I. -Wall -wd4061 -wd4063 -wd4127 -wd4191 -wd4217 -wd4250 -wd4251
    -wd4275 -wd4290 -wd4292 -wd4294 -wd4344 -wd4347 -wd4355 -wd4503 -wd4511    
-wd4512 -wd4514 -wd4611 -wd4619 -wd4625 -wd4626 -wd4640 -wd4675 -wd4686    
-wd4710 -wd4711 -wd4786 -wd4800 -wd4820   -DWNT -DWNT -DNT351 -DMSC -DM1310
-DINTEL -D_X86_=1 -DFULL_DESK -DSTLPORT_VERSION=400 -DWINVER=0x400
-D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci -DSUPD=680 -DPRODUCT -DNDEBUG
-DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DCUI -DSOLAR_JAVA -DSRC680=SRC680
  -DSHAREDLIB -D_DLL_ -DWIN32 -D_MT -D_DLL -DWIN32 -D_MT -D_DLL  
-DEXCEPTIONS_OFF  -Fo../../../wntmsci10.pro/slo/hunspell.obj
/cygdrive/f/OOo/SRC680_m217/lingucomponent/source/spellcheck/hunspell/hunspell.cxx

guw.exe /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe @/tmp/mkjGiCDY
hunspell.cxx
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(338) :
error C2015: too many characters in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(338) :
error C2018: unknown character '0xdf'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(338) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(338) :
error C2143: syntax error : missing ')' before 'constant'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(339) :
error C2143: syntax error : missing ';' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(339) :
warning C4555: expression has no effect; expected expression with side-effect
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(347) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(348) :
error C2297: '*' : illegal, right operand has type 'char *'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(348) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(349) :
error C2143: syntax error : missing ';' before 'if'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(413) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(413) :
error C2015: too many characters in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ';' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
warning C4390: ';' : empty controlled statement found; is this the intent?
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(471) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(471) :
error C2015: too many characters in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(472) :
error C2146: syntax error : missing ')' before identifier 'wl2'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(472) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(472) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(472) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(472) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(475) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(475) :
error C2143: syntax error : missing ';' before ')'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(492) :
error C2059: syntax error : 'if'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(495) :
error C2059: syntax error : 'if'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(495) :
error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(495) :
error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(513) :
error C2059: syntax error : 'if'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(513) :
error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(513) :
error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(519) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(523) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(526) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(528) :
error C2059: syntax error : 'if'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(528) :
error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(528) :
error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(560) :
error C2059: syntax error : '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(560) :
error C2143: syntax error : missing ';' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(560) :
error C2059: syntax error : '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(562) :
error C2059: syntax error : '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(562) :
error C2143: syntax error : missing ';' before '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(562) :
error C2059: syntax error : '}'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(565) :
error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(565) :
error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(742) :
error C2001: newline in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(742) :
error C2015: too many characters in constant
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(743) :
warning C4353: nonstandard extension used: constant 0 as function expression. 
Use '__noop' function intrinsic instead
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(743) :
error C2109: subscript requires array or pointer type
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(743) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(743) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(743) :
error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m217\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(743) :
fatal error C1903: unable to recover from previous error(s); stopping compilation
dmake:  Error code 2, while making '../../../wntmsci10.pro/slo/hunspell.obj'
---* tg_merge.mk *---

ERROR: Error 65280 occurred while making
/cygdrive/f/OOo/SRC680_m217/lingucomponent/source/spellcheck/hunspell
---------------------------------------------------------------------------

This issue is similar to issue 36782.
Adding "#pragma setlocale("C")" to the start of hunspell.cxx would fix the problem.
Comment 1 pavel 2007-07-13 09:45:02 UTC
Uff, there are many non-ascii letters there...
Comment 2 zhangxiaofei.ooo 2007-08-10 08:58:11 UTC
This is a dupe to issue 76970, which is already fixed. Please close this, too.
Comment 3 zhangxiaofei.ooo 2007-08-16 10:07:18 UTC
More non-ascii chars coming up in rev1.7

build -- version: 1.157

=============
Building project lingucomponent
=============
/cygdrive/f/OOo/SRC680_m225/lingucomponent/inc
-------------
/cygdrive/f/OOo/SRC680_m225/lingucomponent/source/lingutil
-------------
/cygdrive/f/OOo/SRC680_m225/lingucomponent/source/hyphenator/altlinuxhyph/libhnj
-------------
/cygdrive/f/OOo/SRC680_m225/lingucomponent/source/spellcheck/hunspell
------------------------------
Making: ../../../wntmsci10.pro/slo/hunspell.obj
guw.exe /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe  -Zm500 -Zc:forScope
-GR -c -nologo -Gs  -Gy -Ob1 -Oxs -Oy- -Gd  -I. 
-I../../../wntmsci10.pro/inc/hunspell -I../inc -I../../../inc/pch -I../../../inc
-I../../../WIN/inc -I../../../wntmsci10.pro/inc -I.
-I/cygdrive/f/OOo/SRC680_m225/solver/680/wntmsci10.pro/inc/stl
-I/cygdrive/f/OOo/SRC680_m225/solver/680/wntmsci10.pro/inc/external
-I/cygdrive/f/OOo/SRC680_m225/solver/680/wntmsci10.pro/inc
-I/cygdrive/f/OOo/SRC680_m225/solenv/wntmsci10/inc
-I/cygdrive/f/OOo/SRC680_m225/solenv/inc -I/cygdrive/f/OOo/SRC680_m225/res
-I/cygdrive/f/OOo/SRC680_m225/solver/680/wntmsci10.pro/inc/stl
-I/cygdrive/d/OOEnv/J2SDK1~1.2_0/include/win32
-I/cygdrive/d/OOEnv/J2SDK1~1.2_0/include -I/cygdrive/d/OOEnv/PSDK/include
-I/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/include
-I/cygdrive/d/OOEnv/DXSDK2~1/include -I/cygdrive/d/OOEnv/DXSDK2~1/include    
-I/cygdrive/f/OOo/SRC680_m225/solver/680/wntmsci10.pro/inc/offuh -I.
-I../../../res -I. -Wall -wd4061 -wd4063 -wd4127 -wd4191 -wd4217 -wd4250 -wd4251
    -wd4275 -wd4290 -wd4292 -wd4294 -wd4344 -wd4347 -wd4355 -wd4503 -wd4511    
-wd4512 -wd4514 -wd4611 -wd4619 -wd4625 -wd4626 -wd4640 -wd4675 -wd4686    
-wd4710 -wd4711 -wd4786 -wd4800 -wd4820   -DWNT -DWNT -DNT351 -DMSC -DM1310
-DINTEL -D_X86_=1 -DFULL_DESK -DSTLPORT_VERSION=400 -DWINVER=0x400
-D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci -DSUPD=680 -DPRODUCT -DNDEBUG
-DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DCUI -DSOLAR_JAVA -DSRC680=SRC680
  -DSHAREDLIB -D_DLL_ -DWIN32 -D_MT -D_DLL -DWIN32 -D_MT -D_DLL  
-DEXCEPTIONS_OFF  -Fo../../../wntmsci10.pro/slo/hunspell.obj
/cygdrive/f/OOo/SRC680_m225/lingucomponent/source/spellcheck/hunspell/hunspell.cxx

guw.exe /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe @/tmp/mkhF1JnZ
hunspell.cxx
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(413) :
error C2001: newline in constant
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(413) :
error C2015: too many characters in constant
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ')' before '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
error C2143: syntax error : missing ';' before '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(414) :
warning C4390: ';' : empty controlled statement found; is this the intent?
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1269)
: error C2001: newline in constant
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1269)
: error C2015: too many characters in constant
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1270)
: error C2146: syntax error : missing ')' before identifier 'strcat'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1270)
: error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1270)
: error C2143: syntax error : missing ')' before ';'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1272)
: error C2143: syntax error : missing ')' before '{'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1272)
: error C2143: syntax error : missing ';' before ')'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1272)
: warning C4390: ';' : empty controlled statement found; is this the intent?
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1272)
: error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1278)
: error C2181: illegal else without matching if
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1299)
: error C2059: syntax error : 'switch'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1299)
: error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1299)
: error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1422)
: error C2059: syntax error : 'if'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1422)
: error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1422)
: error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1434)
: error C2059: syntax error : 'if'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1434)
: error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1434)
: error C2447: '{' : missing function header (old-style formal list?)
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1506)
: error C2059: syntax error : 'return'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1507)
: error C2059: syntax error : '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1507)
: error C2143: syntax error : missing ';' before '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1507)
: error C2059: syntax error : '}'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1511)
: error C2143: syntax error : missing ';' before '{'
f:\OOo\SRC680_m225\lingucomponent\source\spellcheck\hunspell\hunspell.cxx(1511)
: error C2447: '{' : missing function header (old-style formal list?)
dmake:  Error code 2, while making '../../../wntmsci10.pro/slo/hunspell.obj'
---* tg_merge.mk *---

ERROR: Error 65280 occurred while making
/cygdrive/f/OOo/SRC680_m225/lingucomponent/source/spellcheck/hunspell
Comment 4 oliver.bolte 2007-08-17 12:03:46 UTC
fixed as master fix for SRC680 m226 and OOG680 m2.