Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-125607

QtWebEngine build failed with error C2275 and C2672 in MSVC

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 6.7.0
    • WebEngine
    • None
    • Windows

    Description

      Hello, I'm a member of Microsoft VCPKG, when I built QtWebEngine in an internal version of Visual Studio, it failed with following errors:

       
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc(878): error C2275: 'v8::internal::compiler::InstructionSelectorT<v8::internal::compiler::TurboshaftAdapter>::CachedStateValues': expected an expression instead of a type
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc(878): note: the template instantiation context (the oldest one first) is
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc(858): note: while compiling class 'v8::internal::compiler::InstructionSelectorT<v8::internal::compiler::TurboshaftAdapter>::CachedStateValuesBuilder'
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc(875): note: while compiling class template member function 'v8::internal::compiler::InstructionSelectorT<v8::internal::compiler::TurboshaftAdapter>::CachedStateValues *v8::internal::compiler::InstructionSelectorT<v8::internal::compiler::TurboshaftAdapter>::CachedStateValuesBuilder::Build(v8::internal::Zone *)'
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc(878): error C2672: 'v8::internal::Zone::New': no matching overloaded function found
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8\src/zone/zone.h(112): note: could be 'T *v8::internal::Zone::New(Args ...)'
      E:/l/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc(878): note: 'v8::internal::Zone::New': invalid template argument for 'T', type expected

       

      This error is missing a 'typename' keyword, it could be fixed by change the following codes in instruction-selector.cc line 875-880:

        InstructionSelectorT<Adapter>::CachedStateValues* Build(Zone* zone)

      {     DCHECK(CanCache());     DCHECK(values_->nested_count() == nested_start_);     return zone->New<InstructionSelectorT<Adapter>::CachedStateValues>(         zone, values_, values_start_, inputs_, inputs_start_);   }

      Changed to:

        InstructionSelectorT<Adapter>::CachedStateValues* Build(Zone* zone)

      {     DCHECK(CanCache());     DCHECK(values_->nested_count() == nested_start_);     return zone->New<typename InstructionSelectorT<Adapter>::CachedStateValues>(         zone, values_, values_start_, inputs_, inputs_start_);   }

       

      Could you please fix this problem? If you need any information, please contact me directly. Thanks in advance.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            lilywang Wang Lily
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes