Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

ICC build firefox

Folin_J_
Beginner
1,191 Views

when I compile firefox using lastest Intel C++ Compiler, I get such errors. VS2012 works fine.

../../dist/include/mozilla/dom/BindingUtils.h(1664): error: template instantiati
on resulted in unexpected function type of "char (&(char (*)[1]))[1]" (the meani
ng of a name may have changed since the template declaration -- the type of the
template is "char (&(char (*)

  • ))[1]")
      HAS_MEMBER(JSBindingFinalized)
      ^
              detected during:
    compilation aborted for d:/develop/mozilla/ICC/obj-vca/dom/bindings/AnalyserNode
    Binding.cpp (code 2)
                instantiation of "mozilla::dom::HasJSBindingFinalizedMember<T>::Chec
    k [with T=mozilla::dom::AnalyserNode]" based on template argument <mozilla::dom:
    :AnalyserNode> at line 1664
                instantiation of class "mozilla::dom::HasJSBindingFinalizedMember<T>
     [with T=mozilla::dom::AnalyserNode]" at line 1666
                processing of template argument list for "mozilla::dom::JSBindingFin
    alized" based on template argument <mozilla::dom::AnalyserNode> at line 453 of "
    d:/develop/mozilla/ICC/obj-vca/dom/bindings/AnalyserNodeBinding.cpp"
  • 0 Kudos
    14 Replies
    SergeyKostrov
    Valued Contributor II
    1,191 Views
    >>...../../dist/include/mozilla/dom/BindingUtils.h( 1664 )... There is absolutely No need to create so many threads with description of the same error on line 1664 in BindingUtils.h. Could you post that header file ( just once! ) as soon as you have time?
    0 Kudos
    Folin_J_
    Beginner
    1,191 Views

    sorry for so many threads. At that time, I can't find my threads, so I repeatedly open new one.

    0 Kudos
    SergeyKostrov
    Valued Contributor II
    1,191 Views
    Thanks for the BindingUtils.h header file and I'll take a look.
    0 Kudos
    SergeyKostrov
    Valued Contributor II
    1,191 Views
    Try to comment out js::GetObjectClass(obj)->construct; part in the following block: [ Before ] ... #ifdef DEBUG inline bool HasConstructor( JSObject* obj ) { return JS_IsNativeFunction( obj, Constructor ) || js::GetObjectClass( obj )->construct; } #endif ... [ After ] ... #ifdef DEBUG inline bool HasConstructor( JSObject* obj ) { return JS_IsNativeFunction( obj, Constructor ); } #endif ... Something is wrong with js::GetObjectClass(obj)->construct; attribute and try to find a header file with its declaration.
    0 Kudos
    Folin_J_
    Beginner
    1,191 Views

    still get the same error.

    0 Kudos
    JenniferJ
    Moderator
    1,191 Views

    two questions:

    1. which version of ICL do you use
    2. please post the cmd line (should include the .cpp).

    Jennifer

    0 Kudos
    SergeyKostrov
    Valued Contributor II
    1,191 Views
    Your last compilation error log didn't help to understand what is wrong with compilation. What else did you do when trying to understand the problem?
    0 Kudos
    Folin_J_
    Beginner
    1,191 Views
    Intel(R) C++ Compiler XE for applications running on IA-32, Version 13.1.1.171 I hope this one is enough.
    0 Kudos
    JenniferJ
    Moderator
    1,191 Views

    My version of Firefox might be old, there is no "AnalyserNodeBinding.cpp" file.

    Could you attach a .i file? Just in your cywin window, run the cmd below (added -EP -P options). thanks!

    icl -c -D_HAS_EXCEPTIONS=0 -I../../dist/stl_wrappers  -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES  -DNO_NSPR_10_SUPPORT -DEXCLUDE_SKIA_DEPENDENCIES  -DUNICODE -D_UNICODE -DNOMINMAX -D_CRT_RAND_S -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -D_SECURE_ATL -DCHROMIUM_BUILD -DU_STATIC_IMPLEMENTATION -DOS_WIN=1 -DWIN32 -D_WIN32 -D_WINDOWS -DWIN32_LEAN_AND_MEAN  -DCOMPILER_MSVC -D_IMPL_NS_LAYOUT -Id:/develop/mozilla/ICC/ipc/chromium/src -Id:/develop/mozilla/ICC/ipc/glue -I../../ipc/ipdl/_ipdlheaders  -Id:/develop/mozilla/ICC/dom/base -Id:/develop/mozilla/ICC/dom/battery -Id:/develop/mozilla/ICC/dom/encoding -Id:/develop/mozilla/ICC/dom/file -Id:/develop/mozilla/ICC/dom/power -Id:/develop/mozilla/ICC/dom/push -Id:/develop/mozilla/ICC/dom/quota -Id:/develop/mozilla/ICC/dom/media -Id:/develop/mozilla/ICC/dom/network/src -Id:/develop/mozilla/ICC/dom/phonenumberutils -Id:/develop/mozilla/ICC/dom/alarm -Id:/develop/mozilla/ICC/dom/src/events -Id:/develop/mozilla/ICC/dom/src/storage -Id:/develop/mozilla/ICC/dom/src/offline -Id:/develop/mozilla/ICC/dom/src/geolocation -Id:/develop/mozilla/ICC/dom/src/notification -Id:/develop/mozilla/ICC/dom/workers -Id:/develop/mozilla/ICC/dom/time -Id:/develop/mozilla/ICC/content/xbl/src -Id:/develop/mozilla/ICC/content/xul/document/src -Id:/develop/mozilla/ICC/content/events/src -Id:/develop/mozilla/ICC/content/base/src -Id:/develop/mozilla/ICC/content/html/content/src -Id:/develop/mozilla/ICC/content/html/document/src -Id:/develop/mozilla/ICC/content/media/webaudio -Id:/develop/mozilla/ICC/content/svg/content/src -Id:/develop/mozilla/ICC/layout/generic -Id:/develop/mozilla/ICC/layout/style -Id:/develop/mozilla/ICC/layout/xul/base/src -Id:/develop/mozilla/ICC/layout/xul/tree -Id:/develop/mozilla/ICC/dom/camera -Id:/develop/mozilla/ICC/content/media/webspeech -Id:/develop/mozilla/ICC/js/xpconnect/src -Id:/develop/mozilla/ICC/js/xpconnect/wrappers -Id:/develop/mozilla/ICC/content/canvas/src -Id:/develop/mozilla/ICC/content/html/content/src -Id:/develop/mozilla/ICC/media/webrtc/signaling/src/peerconnection -Id:/develop/mozilla/ICC/dom/base -Id:/develop/mozilla/ICC/dom/battery -Id:/develop/mozilla/ICC/dom/indexedDB -Id:/develop/mozilla/ICC/content/xslt/src/base -Id:/develop/mozilla/ICC/content/xslt/src/xpath -Id:/develop/mozilla/ICC/content/xml/content/src -Id:/develop/mozilla/ICC/content/xul/content/src -Id:/develop/mozilla/ICC/content/xul/document/src -Id:/develop/mozilla/ICC/content/media/webspeech/recognition  -Id:/develop/mozilla/ICC/dom/bindings -I. -I../../dist/include  -Id:/develop/mozilla/ICC/obj-vca/dist/include/nspr -Id:/develop/mozilla/ICC/obj-vca/dist/include/nss        -wd4099 -TP -nologo -w -Gy -Fdgenerated.pdb -wd4251 -wd4244 -wd4345 -wd4351 -wd4482 -wd4800 -wd4819 -we4553 -GR-  -DNDEBUG -DTRIMMED -Oy-  -MD            -FI ../../dist/include/mozilla-config.h -DMOZILLA_CLIENT  -EP -P d:/develop/mozilla/ICC/obj-vca/dom/bindings/AnalyserNodeBinding.cpp

    0 Kudos
    Folin_J_
    Beginner
    1,191 Views

    attached

    0 Kudos
    Folin_J_
    Beginner
    1,191 Views
    AnalyserNodeBinding.zip
    0 Kudos
    JenniferJ
    Moderator
    1,191 Views

    Folin J. wrote:

    AnalyserNodeBinding.zip

    Thanks for attaching the file. which VC do you use? is it building this file ok? I got some errors from VC2010.

    Jennifer

    0 Kudos
    JenniferJ
    Moderator
    1,191 Views

    VC's error msg:

    D:\Jennifer\Issues\U390553>cl /c /Od /Zc:forScope,auto,trigraphs /TP AnalyserNodeBinding.i
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
    Copyright (C) Microsoft Corporation.  All rights reserved.

    AnalyserNodeBinding.i
    AnalyserNodeBinding.i(9637) : error C2275: '_Ty' : illegal use of this type as an expression
            AnalyserNodeBinding.i(9639) : see reference to class template instantiation 'std::is_standard_layout<_Ty>' being
     compiled
    AnalyserNodeBinding.i(9637) : error C3861: '__is_standard_layout': identifier not found
    AnalyserNodeBinding.i(9638) : error C2955: 'std::_Cat_base' : use of class template requires template argument list
            AnalyserNodeBinding.i(5709) : see declaration of 'std::_Cat_base'
    AnalyserNodeBinding.i(9643) : error C2275: '_Ty' : illegal use of this type as an expression
            AnalyserNodeBinding.i(9645) : see reference to class template instantiation 'std::is_literal_type<_Ty>' being co
    mpiled
    AnalyserNodeBinding.i(9643) : error C3861: '__is_literal_type': identifier not found
    AnalyserNodeBinding.i(9644) : error C2955: 'std::_Cat_base' : use of class template requires template argument list
            AnalyserNodeBinding.i(5709) : see declaration of 'std::_Cat_base'
    AnalyserNodeBinding.i(9649) : error C2275: '_Ty' : illegal use of this type as an expression
            AnalyserNodeBinding.i(9651) : see reference to class template instantiation 'std::is_trivial<_Ty>' being compile
    d
    AnalyserNodeBinding.i(9649) : error C3861: '__is_trivial': identifier not found
    AnalyserNodeBinding.i(9650) : error C2955: 'std::_Cat_base' : use of class template requires template argument list
            AnalyserNodeBinding.i(5709) : see declaration of 'std::_Cat_base'
    AnalyserNodeBinding.i(9814) : warning C4346: 'std::is_array<_Ty>::value' : dependent name is not a type
            prefix with 'typename' to indicate a type
            AnalyserNodeBinding.i(9817) : see reference to class template instantiation 'std::is_trivially_constructible<_Ty
    ,_Ty,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>' being compiled
    AnalyserNodeBinding.i(9814) : error C2144: syntax error : 'std::remove_reference<_Ty>::type' should be preceded by ')'
    AnalyserNodeBinding.i(9814) : error C3861: '__is_trivially_copyable': identifier not found
    AnalyserNodeBinding.i(9816) : error C2143: syntax error : missing ';' before '{'
    AnalyserNodeBinding.i(9817) : error C2143: syntax error : missing ';' before '}'
    AnalyserNodeBinding.i(9817) : fatal error C1004: unexpected end-of-file found

     

    0 Kudos
    Folin_J_
    Beginner
    1,191 Views
    Jennifer J. (Intel) wrote:

    Quote:

    Folin J. wrote:

    AnalyserNodeBinding.zip

    Thanks for attaching the file. which VC do you use? is it building this file ok? I got some errors from VC2010.

    Jennifer

    I use vs2012. It works fine. mozilla building system will deal with some macro to use different compiler, for example the C++11 .
    0 Kudos
    Reply