Skip to content

deps/v8/src/objects.h:3263:46: error: invalid use of incomplete type ‘class v8::internal::Heap #10388

Closed
@octoploid

Description

@octoploid
  • Version:
  • Platform:
  • Subsystem:

Compilation fails with gcc-7:

 % g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_I18N_SUPPORT' -I../deps/v8 -I../. -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -m64 -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/markus/tmp/node/out/Release/.deps//home/markus/tmp/node/out/Release/obj.target/v8_nosnapshot/gen/libraries.o.d.raw -c -o /home/markus/tmp/node/out/Release/obj.target/v8_nosnapshot/gen/libraries.o /home/markus/tmp/node/out/Release/obj/gen/libraries.cc

In file included from ../deps/v8/src/snapshot/natives.h:8:0,
                 from /home/markus/tmp/node/out/Release/obj/gen/libraries.cc:8:
../deps/v8/src/objects.h: In member function ‘uint32_t v8::internal::HashTable<Derived, Shape, Key>::Hash(Key)’:
../deps/v8/src/objects.h:3263:46: error: invalid use of incomplete type ‘class v8::internal::Heap’
       return Shape::SeededHash(key, GetHeap()->HashSeed());
                                              ^~
In file included from ../deps/v8/src/v8.h:8:0,
                 from /home/markus/tmp/node/out/Release/obj/gen/libraries.cc:7:
../deps/v8/include/v8.h:149:7: note: forward declaration of ‘class v8::internal::Heap’
 class Heap;
       ^~~~
In file included from ../deps/v8/src/snapshot/natives.h:8:0,
                 from /home/markus/tmp/node/out/Release/obj/gen/libraries.cc:8:
../deps/v8/src/objects.h: In member function ‘uint32_t v8::internal::HashTable<Derived, Shape, Key>::HashForObject(Key, v8::internal::Object*)’:
../deps/v8/src/objects.h:3271:55: error: invalid use of incomplete type ‘class v8::internal::Heap’
       return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
                                                       ^~
In file included from ../deps/v8/src/v8.h:8:0,
                 from /home/markus/tmp/node/out/Release/obj/gen/libraries.cc:7:
../deps/v8/include/v8.h:149:7: note: forward declaration of ‘class v8::internal::Heap’
 class Heap;
       ^~~~

The code is ill formed (no diagnostic required) according the C++ standard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to build files or the CI.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions