Would anyone have any advice on how to get torque to see these type definitions? I've attached a longer excerpt of the errors I get, and my "args.gn". I'm building component build under MSVC.
On Tuesday, 19 November 2019 21:28:26 UTC+8, Ben Ernst wrote: > > I'm encountering a very different issue now with a clean build. The > interesting part follows, and I attached a file with a more complete error > message. I get many messages like this, complaining about object > definitions not being available to class-definitions-tq.h. The error > message seems to be legitimate. Can someone tell me, how are these -tq.h > files generated? The answer seems to involve something called "torque". How > would I go about telling "torque" where to find the missing headers? This > problem doesn't seem to have anything to do with MSVC though, so I can't > figure out why clang builds wouldn't be having the same error. > > [exec] C:\Program Files (x86)\Microsoft Visual > Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616): > error C2139: 'v8::internal::Cell': an undefined class is not allowed as an > argument to compiler intrinsic type trait '__is_convertible_to' > [exec] > C:\fd22cbe1\v8\out.gn\x64.release\gen\torque-generated/class-definitions-tq.h(78): > > note: see declaration of 'v8::internal::Cell' > > > > > > > > > > On Tuesday, 19 November 2019 20:10:47 UTC+8, Ben Ernst wrote: >> >> Seth, my output seems to be equivalent to yours. Included here. I'll run >> a clean build and repeat. >> Ben. >> >> include_dirs >> From //build/config/compiler:default_include_dirs >> (Added by //build/config/BUILDCONFIG.gn:429) >> // >> //out.gn/x64.release/gen/ >> From //:internal_config >> (Added by //BUILD.gn:3358) >> // >> //out.gn/x64.release/gen/ >> >> On Tuesday, 19 November 2019 00:57:59 UTC+8, Seth Brenith wrote: >>> >>> Weird, I don't see that behavior on my machine. Could you please run gn >>> desc . //:torque_base --blame in your GN build directory and reply with >>> the include_dirs portion of the output from that command? Mine looks >>> like this (which doesn't include any libc++ dirs): >>> >>> include_dirs >>> From //build/config/compiler:default_include_dirs >>> (Added by //build/config/BUILDCONFIG.gn:429) >>> // >>> //out.gn/msvc/gen/ >>> From //:internal_config >>> (Added by //BUILD.gn:3355) >>> // >>> //out.gn/msvc/gen/ >>> >>> >>> On Sunday, November 17, 2019 at 9:10:23 PM UTC-8, Ben Ernst wrote: >>>> >>>> Thank you Seth for your detailed information. >>>> >>>> When I attempt an MSVC build with "use_custom_libcxx=false", the build >>>> of "torque_base" still includes >>>> "-I../../buildtools/third_party/libc++/trunk/include" in the include path, >>>> which results in other errors. >>>> >>>> I'm having trouble working out where those include paths are >>>> calculated, so I can go about trying to fix it. Can anyone point me in the >>>> right direction? >>>> >>>> >>>> >>>> On Sunday, 17 November 2019 00:15:53 UTC+8, Seth Brenith wrote: >>>>> >>>>> Correction: the flag name is /Zc:dllexportInlines-. >>>>> >>>>> Also, a couple of other things I should mention for completeness: >>>>> - Attempting to link with a shared library that was built with a >>>>> different toolchain is a recipe for maddening runtime errors unless that >>>>> library takes great care to export only ABI-stable things, which V8 does >>>>> not. >>>>> - The errors in your latest post were related to imported functions, >>>>> but problems building without this flag often manifest as the linker >>>>> complaining about unresolved external functions. This is because the >>>>> linker >>>>> is fine with functions being undefined if the function is never called, >>>>> but >>>>> a dllexport function needs a definition. >>>>> >>>> -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/92ed5482-4d46-40e3-ad99-dc5c7ab4c9c7%40googlegroups.com.
[190/841] CXX obj/torque_generated_initializers/exported-macros-assembler-tq.obj
FAILED: obj/torque_generated_initializers/exported-macros-assembler-tq.obj
ninja -t msvc -e environment.x64 -- "C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64/cl.exe"
/nologo /showIncludes -DUSE_AURA=1 -D_HAS_EXCEPTIONS=0 -DCOMPONENT_BUILD
-D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE
-D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS
-DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -D_USING_V110_SDK71_
-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX
-D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_RS2 -D_WIN32_WINNT=0x0A00
-DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_MINOR_MC -DENABLE_HANDLE_ZAPPING
-DV8_USE_EXTERNAL_STARTUP_DATA -DV8_CONCURRENT_MARKING
-DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_EMBEDDED_BUILTINS -DV8_SHARED_RO_HEAP
-DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS
-DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS
-DV8_TARGET_OS_WIN -DDISABLE_UNTRUSTED_CODE_MITIGATIONS -DBUILDING_V8_SHARED
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS
-DV8_IMMINENT_DEPRECATION_WARNINGS -I../.. -Igen -I../.. -Igen /Gy /FS /bigobj
/utf-8 /Zc:sizedDealloc- /wd4117 /D__DATE__= /D__TIME__= /D__TIMESTAMP__= /W4
/wd4091 /wd4127 /wd4251 /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589
/wd4611 /wd4100 /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995
/wd4996 /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245
/wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /Zi /MD
/wd4245 /wd4267 /wd4324 /wd4701 /wd4702 /wd4703 /wd4709 /wd4714 /wd4715 /wd4718
/wd4723 /wd4724 /wd4800 /O2 /Ob2 /Oy- /Zc:inline /Gw /TP /wd4577 /GR- /c
gen/torque-generated/exported-macros-assembler-tq.cc
/Foobj/torque_generated_initializers/exported-macros-assembler-tq.obj
/Fd"obj/torque_generated_initializers_cc.pdb"
C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616):
error C2139: 'v8::internal::Cell': an undefined class is not allowed as an
argument to compiler intrinsic type trait '__is_convertible_to'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\out.gn\x64.release\gen\torque-generated/class-definitions-tq.h(78):
note: see declaration of 'v8::internal::Cell'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/tnode.h(239):
note: see reference to class template instantiation
'std::is_convertible<T,v8::internal::Object>' being compiled
with
[
T=v8::internal::Cell
]
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/code-stub-assembler.h(1713):
note: see reference to class template instantiation
'v8::internal::is_subtype<v8::internal::Cell,v8::internal::Cell>' being compiled
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/objects/objects.h(271):
note: see reference to class template instantiation
'v8::internal::TaggedImpl<v8::internal::HeapObjectReferenceType::STRONG,v8::internal::Address>'
being compiled
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/x64/register-x64.h(153):
note: see reference to class template instantiation
'v8::internal::RegisterBase<v8::internal::XMMRegister,16>' being compiled
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/x64/register-x64.h(53):
note: see reference to class template instantiation
'v8::internal::RegisterBase<v8::internal::Register,16>' being compiled
C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616):
error C2139: 'v8::internal::JSPromise': an undefined class is not allowed as an
argument to compiler intrinsic type trait '__is_convertible_to'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/objects/promise.h(16):
note: see declaration of 'v8::internal::JSPromise'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/tnode.h(239):
note: see reference to class template instantiation
'std::is_convertible<T,v8::internal::Object>' being compiled
with
[
T=v8::internal::JSPromise
]
gen/torque-generated/exported-macros-assembler-tq.cc(217): note: see reference
to class template instantiation
'v8::internal::is_subtype<v8::internal::JSPromise,v8::internal::JSPromise>'
being compiled
C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616):
error C2139: 'v8::internal::RegExpMatchInfo': an undefined class is not allowed
as an argument to compiler intrinsic type trait '__is_convertible_to'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/heap/factory.h(59):
note: see declaration of 'v8::internal::RegExpMatchInfo'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/tnode.h(239):
note: see reference to class template instantiation
'std::is_convertible<T,v8::internal::Object>' being compiled
with
[
T=v8::internal::RegExpMatchInfo
]
gen/torque-generated/exported-macros-assembler-tq.cc(232): note: see reference
to class template instantiation
'v8::internal::is_subtype<v8::internal::RegExpMatchInfo,v8::internal::RegExpMatchInfo>'
being compiled
C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616):
error C2139: 'v8::internal::PrototypeInfo': an undefined class is not allowed
as an argument to compiler intrinsic type trait '__is_convertible_to'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\out.gn\x64.release\gen\torque-generated/class-definitions-tq.h(166):
note: see declaration of 'v8::internal::PrototypeInfo'
D:\Code\Optimatics\optimizer-3rdpartylibs-1.5\src\src\x64\v8-8.0-c\v8\src/codegen/tnode.h(239):
note: see reference to class template instantiation
'std::is_convertible<T,v8::internal::Object>' being compiled
with
[
T=v8::internal::PrototypeInfo
]
gen/torque-generated/exported-macros-assembler-tq.cc(259): note: see reference
to class template instantiation
'v8::internal::is_subtype<v8::internal::PrototypeInfo,v8::internal::PrototypeInfo>'
being compiled
args.gn
Description: Binary data
