• deepak1556's avatar
    DISALLOW_IMPLICIT_CONSTRUCTORS for MacroAssembler · 9e060e47
    deepak1556 authored
    When BUILDING_V8_SHARED in release builds __declspec(dllexport)
    causes generation of implicit constructors in the forwarding class
    while its deleted in TurboAssemblerBase, which leads to compilation
    errors like:
    
    In file included from gen/v8/v8_base_jumbo_6.cc:41:
    In file included from .\../../v8/src/interface-descriptors.cc:7:
    In file included from ../../v8\src/macro-assembler.h:40:
    ../../v8\src/x64/macro-assembler-x64.h(92,9):  error: call to deleted constructor of 'v8::internal::TurboAssemblerBase'
          : TurboAssemblerBase(std::forward<Args>(args)...) {}
            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~
    ../../v8\src/x64/macro-assembler-x64.h(536,25):  note: in instantiation of function template specialization 'v8::internal::TurboAssembler::TurboAssembler<v8::internal::TurboAssembler>' requested here
    class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
                            ^
    ../../v8\src/turbo-assembler.h(127,34):  note: 'TurboAssemblerBase' has been explicitly marked deleted here
      DISALLOW_IMPLICIT_CONSTRUCTORS(TurboAssemblerBase);
                                     ^
    1 error generated.
    
    The original changes were made in https://chromium-review.googlesource.com/c/v8/v8/+/1414913
    
    R=mstarzinger@chromium.org,jgruber@chromium.org,clemensh@chromium.org
    
    Bug: NONE
    Change-Id: I87a5a678b8bae13b3adc6f1c6ac0b9313ed18d85
    Reviewed-on: https://chromium-review.googlesource.com/c/1454676
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59427}
    9e060e47
macro-assembler-ia32.h 29.4 KB