Hi Benjamin,
The IntelC 7.1 compiler error is as follows :-
d:/dev/mozilla/xpcom/build/dlldeps.cpp(114): error: expression must be an
lvalue or a function designator
nsIDHashKey::HashKey(&nsID());
My ealier comment concerning "no other compile errors" requires a little
qualification ...
I had "ac_add_options --disable-xul" in my configure script. When I remove
this option, I get a nasty compiler internal error (pasted below). Joy ...
Still, with "ac_add_options --disable-xul" I've managed to sucessfully build
& run winembed. It seems stable so far, but I've only run minimal tests.
As far as performance is concerned, the IntelC compiler has a great many
optimization options that no doubt others will experiment with in the near
future, once we get the compile nasties out of the way.
Clemens - I'm not building on linux at the moment, so others will have to
experiement with that configuration.
Regards,
Steve.
PS. If you have time, could you add a comment to the source along the lines
of your final paragraph for future reference.
Current xul compile issue
nsRDFConInstanceTestNode.cpp
Building deps for
d:/dev/mozilla/content/xul/templates/src/nsRDFConInstanceTestNode.cpp
icl -FonsRDFConInstanceTestNode.obj -c -DOSTYPE=\"WINNT5.0\" -DOSARCH=\"WINN
T\" -Id:/dev/mozilla/content/xul/templates/s
rc/../../../base/src -Id:/dev/mozilla/content/xul/templates/src/../../conten
t/src -I../../../../dist/include/xpcom -I..
/../../../dist/include/string -I../../../../dist/include/js -I../../../../di
st/include/xpconnect -I../../../../dist/incl
ude/caps -I../../../../dist/include/gfx -I../../../../dist/include/htmlparse
r -I../../../../dist/include/layout -I../../
../../dist/include/content -I../../../../dist/include/widget -I../../../../d
ist/include/dom -I../../../../dist/include/r
df -I../../../../dist/include/necko -I../../../../dist/include/locale -I../.
./../../dist/include/unicharutil -I../../../
../dist/include/xul -I../../../../dist/include/xuldoc -I../../../../dist/inc
lude/webshell -I../../../../dist/include/xul
tmpl -I../../../../dist/include -I../../../../dist/include/nspr -T
P -nologo -W3 -nologo -Gy -Fdgkconxultmpl_s.
pdb -DNDEBUG -DTRIMMED -O2 -MD -DX_DISPLAY_MISSING=1 -DHAVE_SNPR
INTF=1 -D_WINDOWS=1 -D_WIN32=1 -DWIN32=1 -DX
P_WIN=1 -DXP_WIN32=1 -DHW_THREADS=1 -DWINVER=0x400 -DSTDC_HEADERS=1 -DNEW_H=
\<new\> -DWIN32_LEAN_AND_MEAN=1 -DNO_X11=1 -
D_X86_=1 -DD_INO=d_ino -DMOZ_DEFAULT_TOOLKIT=\"windows\" -DMOZ_ENABLE_COREXF
ONTS=1 -DOJI=1 -DIBMBIDI=1 -DMOZ_XPINSTALL=1
-DMOZ_JSLOADER=1 -DNS_DISABLE_LOGGING=1 -DMOZ_USER_DIR=\".mozilla\" -DCPP_T
HROW_NEW=throw\(\) -DMOZ_XUL=1 -DMOZ_PROFILE
SHARING=1 -DMOZ_DLL_SUFFIX=\".dll\" -DJS_THREADSAFE=1 -DNS_PRINT_PREVIEW=1 -
DNS_PRINTING=1 -DMOZILLA_VERSION=\"1.4b\" -
D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT
d:/dev/mozilla/content/xul/templates/src/nsRDFConInstanceTestNode.cpp
nsRDFConInstanceTestNode.cpp
../../../../dist/include/xpcom/nsIClassInfo.h(111): warning #68: integer
conversion resulted in a change of sign
enum { RESERVED = 2147483648U };
^
../../../../dist/include/string/nsXPIDLString.h(191): warning #69: integer
conversion resulted in truncation
return (mBuffer->GetImplementationFlags() &
shared_buffer_handle_type::kIsNULL)
^
../../../../dist/include/string/nsXPIDLString.h(303): warning #69: integer
conversion resulted in truncation
return (mBuffer->GetImplementationFlags() &
shared_buffer_handle_type::kIsNULL)
^
../../../../dist/include/string/nsBufferHandle.h(276): warning #69: integer
conversion resulted in truncation
mFlags = (mFlags & kFlagsMask) | aNewRefCount;
^
detected during:
instantiation of "PRUint32={unsigned int}
nsSharedBufferHandle<CharT>::set_refcount(PRUint32={unsigned int})
[with CharT=nsAString::char_type={PRUnichar={wchar_t={unsigned short}}}]"
at line 220
instantiation of "void
nsSharedBufferHandle<CharT>::AcquireReference() const [with
CharT=nsAString::char_typ
e={PRUnichar={wchar_t={unsigned short}}}]" at line 50 of
"../../../../dist/include/string/nsBufferHandleUtils.h"
instantiation of
"nsAutoBufferHandle<CharT>::nsAutoBufferHandle(const
nsAutoBufferHandle<CharT> &) [with Cha
rT=nsAString::char_type={PRUnichar={wchar_t={unsigned short}}}]"
../../../../dist/include/string/nsBufferHandle.h(252): warning #69: integer
conversion resulted in truncation
return mFlags & kImplementationFlagsMask;
^
detected during instantiation of "PRUint32={unsigned int}
nsSharedBufferHandle<CharT>::GetImplementationFlags(
) const [with CharT=nsAString::char_type={PRUnichar={wchar_t={unsigned
short}}}]"
../../../../dist/include/string/nsBufferHandle.h(276): warning #69: integer
conversion resulted in truncation
mFlags = (mFlags & kFlagsMask) | aNewRefCount;
^
detected during:
instantiation of "PRUint32={unsigned int}
nsSharedBufferHandle<CharT>::set_refcount(PRUint32={unsigned int})
[with CharT=nsACString::char_type={char}]" at line 220
instantiation of "void
nsSharedBufferHandle<CharT>::AcquireReference() const [with
CharT=nsACString::char_ty
pe={char}]" at line 50 of
"../../../../dist/include/string/nsBufferHandleUtils.h"
instantiation of
"nsAutoBufferHandle<CharT>::nsAutoBufferHandle(const
nsAutoBufferHandle<CharT> &) [with Cha
rT=nsACString::char_type={char}]"
../../../../dist/include/string/nsBufferHandle.h(252): warning #69: integer
conversion resulted in truncation
return mFlags & kImplementationFlagsMask;
^
detected during instantiation of "PRUint32={unsigned int}
nsSharedBufferHandle<CharT>::GetImplementationFlags(
) const [with CharT=nsACString::char_type={char}]"
(0): internal error: 0_1178
Nice.
"Benjamin Smedberg" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> > File :-
> > mozilla/xpcom/build/dlldeps.cpp
> >
> > Line :-
> > nsIDHashKey::HashKey(&nsID());
> >
> > As this line exists in the function "void XXXNeverCalled()", I'm
> replacing
> > it with :-
> >
> > nsIDHashKey::HashKey(NULL);
> >
> > for now ... Does this function serve any useful purpose at all ???
>
> What compiler error happened with the original line? It's fine to
> replace that (use nsnull instead of NULL) if you need to, but you
> shouldn't. File a bug against me and I will get it checked in.
>
> The dlldeps file is there solely to make sure the the proper symbols are
> exported from the xpcom.dll library. If you don't reference the symbols,
> they can sometimes be stripped out by the linker. So that code never
> actually runs, it's only there to make the linker work.
>
> --Benjamin Smedberg
>