Issue 14280 - beta2 breaks in dtrans
Summary: beta2 breaks in dtrans
Status: CLOSED FIXED
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: OOo 1.1 Beta2
Hardware: Sun Windows NT
: P1 (highest) Trivial (vote)
Target Milestone: OOo 1.1 Beta2
Assignee: tino.rachui
QA Contact: issues@l10n
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-09 13:50 UTC by sander_traveling
Modified: 2003-05-14 12:00 UTC (History)
3 users (show)

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


Attachments
patch not tried with MSVC 6 SP4/5 (6.55 KB, text/plain)
2003-05-13 11:16 UTC, tino.rachui
no flags Details
patch not tried with MSVC 6 SP4/5 (33.47 KB, text/plain)
2003-05-13 11:16 UTC, tino.rachui
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description sander_traveling 2003-05-09 13:50:21 UTC
/cygdrive/c/OOO_11_BETA2/dtrans/source/win32/ftransl
------------------------------
Making:..\..\..\wntmsci7.pro\slo\ftransl.obj
c:\PROGRA~1\MICROS~3\VC98\bin\cl.exe -Zm200 -c -nologo -Gs -Gy  -I.  -I..\..\..\
wntmsci7.pro\inc\light -I..\inc -I..\..\..\inc -I..\..\..\WIN\inc -I..\..\..\wnt
msci7.pro\inc -I. -Ic:\OOO_11_BETA2\solver\644\wntmsci7.pro\inc\stl -Ic:\OOO_11_
BETA2\solver\644\wntmsci7.pro\inc\external -Ic:\OOO_11_BETA2\solver\644\wntmsci7
.pro\inc -Ic:\OOO_11_BETA2\solenv\wntmsci7\inc -Ic:\OOO_11_BETA2\solenv\inc -Ic:
\OOO_11_BETA2\res -Ic:\OOO_11_BETA2\solver\644\wntmsci7.pro\inc\stl -Ic:\jdk1.3.
1\include\win32 -Ic:\jdk1.3.1\include -Ic:\PROGRA~1\MIFD68~1\include -Ic:\progra
~1\micros~3\vc98\include     -I. -I..\..\..\res -I. -Zi -Fd..\..\..\wntmsci7.pro
\misc\_ooo_st_ftransl.PDB -Ob1 -Ox -Gd  -GX   -DWNT -DWNT -DNT351 -DMSC -DMI200
-DINTEL -D_USE_NAMESPACE -D_X86_=1  -DFULL_DESK -DSTLPORT_VERSION=400 -DWINVER=0
x400 -D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci -DSUPD=644 -DBUILD=8600 -DPRODUCT -
DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_ON -DCUI -DSO
LAR_JAVA -DSRX644  -DSHAREDLIB -D_DLL_ -DWIN32 -D_MT -D_DLL -DWIN32 -D_MT -D_DLL
 -DMULTITHREAD  -W3 -Fo..\..\..\wntmsci7.pro\slo\ftransl.obj c:\OOO_11_BETA2\dtr
ans\source\win32\ftransl\ftransl.cxx
c:\PROGRA~1\MICROS~3\VC98\bin\cl.exe @c:\Temp\mk9
ftransl.cxx
c:\OOO_11_BETA2\dtrans\source\win32\ftransl\ftransl.hxx(110) : fatal error C1001
: INTERNAL COMPILER ERROR
        (compiler file 'msc1.cpp', line 1794)
         Please choose the Technical Support command on the Visual C++
         Help menu, or open the Technical Support help file for more information

dmake.exe:  Error code 130, while making '..\..\..\wntmsci7.pro\slo\ftransl.obj'

---*TG_SLO.MK*---

ERROR: Error 65280 occurred while making /cygdrive/c/OOO_11_BETA2/dtrans/source/
win32/ftransl

[c:\ooo_11_beta2\sfx2]
Comment 1 Martin Hollmichel 2003-05-09 13:53:41 UTC
reassigned to Tino
Comment 2 hennes.rohling 2003-05-09 14:26:59 UTC
We had the same problem with .NET compiler. The old compiler didn't
like those global namespace prefixes the new compiler requires them.
Seems as your VC++ 6 compiler behaves like the .NET compiler.

Try the following:

Change dtrans/source/win32/ftransl/ftransl.hxx, Line 109

From

#if (defined(_MSC_VER) && (_MSC_VER < 1300))

To

#if (defined(_MSC_VER) && (_MSC_VER < 1200))


This is not really a fix because other VC 6 compilers (_MSC_VER = 12xx
) need the statement your one stumbles over.

Id need the exact version of your compiler including the service pack
applied. To get the exact version type

cl /?


at the command prompt.
Comment 3 Martin Hollmichel 2003-05-09 14:32:59 UTC
reassigned back to sander
Comment 4 hennes.rohling 2003-05-09 14:53:09 UTC
Digging in the net I found similar reports. Seems as this bug (or
feature, the .NET compiler has the same behaviour) was introduced with
VC++ 6 SP4.
Unfortunately the _MSC_VER macro only reflects the major and minor of
the compiler version. But the change was made with a new micro:

cl.exe of VC++ 6 SP3 -> 12.00.8168
cl.exe of VC++ 6 SP4 -> 12.00.8804 

So a real fix requires changes to configure script - new command line
"--with_vc6_sp4_or_higher" that defines a makefile macro that can be
used in makefile.mk of dtrans/source/win32/ftransl.

For now please build with the suggested workaround but don't commit to
cvs.
Comment 5 hennes.rohling 2003-05-09 15:00:24 UTC
@Tino: Please place a comment in the source file.
Comment 6 sander_traveling 2003-05-09 15:46:28 UTC
version info:

[c:\ooo_11_beta2\dtrans]cl /?
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for
80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.


doing the change from 1300 to 1200 gives: 


Making:..\..\..\wntmsci7.pro\slo\ftransl.obj
c:\PROGRA~1\MICROS~3\VC98\bin\cl.exe -Zm200 -c -nologo -Gs -Gy  -I. 
-I..\..\..\
wntmsci7.pro\inc\light -I..\inc -I..\..\..\inc -I..\..\..\WIN\inc
-I..\..\..\wnt
msci7.pro\inc -I. -Ic:\OOO_11_BETA2\solver\644\wntmsci7.pro\inc\stl
-Ic:\OOO_11_
BETA2\solver\644\wntmsci7.pro\inc\external
-Ic:\OOO_11_BETA2\solver\644\wntmsci7
.pro\inc -Ic:\OOO_11_BETA2\solenv\wntmsci7\inc
-Ic:\OOO_11_BETA2\solenv\inc -Ic:
\OOO_11_BETA2\res -Ic:\OOO_11_BETA2\solver\644\wntmsci7.pro\inc\stl
-Ic:\jdk1.3.
1\include\win32 -Ic:\jdk1.3.1\include -Ic:\PROGRA~1\MIFD68~1\include
-Ic:\progra
~1\micros~3\vc98\include     -I. -I..\..\..\res -I. -Zi
-Fd..\..\..\wntmsci7.pro
\misc\_ooo_st_ftransl.PDB -Ob1 -Ox -Gd  -GX   -DWNT -DWNT -DNT351
-DMSC -DMI200
-DINTEL -D_USE_NAMESPACE -D_X86_=1  -DFULL_DESK -DSTLPORT_VERSION=400
-DWINVER=0
x400 -D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci -DSUPD=644 -DBUILD=8600
-DPRODUCT -
DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_ON
-DCUI -DSO
LAR_JAVA -DSRX644  -DSHAREDLIB -D_DLL_ -DWIN32 -D_MT -D_DLL -DWIN32
-D_MT -D_DLL
 -DMULTITHREAD  -W3 -Fo..\..\..\wntmsci7.pro\slo\ftransl.obj
c:\OOO_11_BETA2\dtr
ans\source\win32\ftransl\ftransl.cxx
c:\PROGRA~1\MICROS~3\VC98\bin\cl.exe @c:\Temp\mk9
ftransl.cxx
c:\OOO_11_BETA2\dtrans\source\win32\ftransl\ftransl.hxx(118) : error
C2039: '`gl
obal namespace'' : is not a member of '`global namespace''
dmake.exe:  Error code 130, while making
'..\..\..\wntmsci7.pro\slo\ftransl.obj'

---*TG_SLO.MK*---

ERROR: Error 65280 occurred while making
/cygdrive/c/OOO_11_BETA2/dtrans/source/
win32/ftransl
Comment 7 quetschke 2003-05-09 17:59:56 UTC
> So a real fix requires changes to configure script - new command line
> "--with_vc6_sp4_or_higher" that defines a makefile macro that can be
> used in makefile.mk of dtrans/source/win32/ftransl.

Arghhhhh! Did I say we should bump the build requirements?
Comment 8 hennes.rohling 2003-05-12 17:27:39 UTC
Shit, looking at the output from Sander seems like VC6 SP4 does not
compile any version of the construct neither with global namespace nor
without.

Possible solutions:

1. Perhaps VC6 SP5 can manage at least one of the constructs. If so
this would require a change to configure (as I mentioned) or a change
to the build requirements.
2. Never user a VC6 SP higher than SP 3. Not really an option.
3. Submit a bug to M$ :-)
4. Tino should remove the default values from the declaration of
FormatEntry constructor along with aligning all the occurences.

Think 4. is the only really option we have.

Comment 9 hennes.rohling 2003-05-12 17:30:22 UTC
@Sander: Please try out VC6 SP5 first, maybe VC6 SP4 is the only
version that produces rubbish in any cases.
Comment 10 sander_traveling 2003-05-12 18:48:34 UTC
I'm downloading SP5 now.
Comment 11 sander_traveling 2003-05-12 20:38:22 UTC
ok, its no help, revresiong the 1300 -> 1200 makes it again an
internal error and removal of optimisation options does not help 8-(

any more suggestions/workarounds? 
Comment 12 tino.rachui 2003-05-13 11:16:11 UTC
Created attachment 6176 [details]
patch not tried with MSVC 6 SP4/5
Comment 13 tino.rachui 2003-05-13 11:16:50 UTC
Created attachment 6177 [details]
patch not tried with MSVC 6 SP4/5
Comment 14 tino.rachui 2003-05-13 11:21:22 UTC
See attachment.
Seems that this is an inline/non-inline problem. The provided patch
works for MSVC 6 < SP4/5 and MSVC .Net.
Maybe somebody is able to try the patch before it will be checked in.

Kind Regards,
Tino
Comment 15 sander_traveling 2003-05-13 15:35:32 UTC
Unfortunately, no help 8-(
Comment 16 hennes.rohling 2003-05-13 17:04:43 UTC
In addition to Tino's changes I removed the default parameters from
the declaration and changed every FormatEntry constructor usage to
specify all arguments.
Now compiles on .NET and VC6 SP3 and on Sanders machine with VC6 SP5. 
Files were checked in to cws_srx644_ooo11beta2 brach.
Comment 17 tino.rachui 2003-05-14 12:00:09 UTC
Thanks Hennes.