Closed
Description
- 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.