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
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/236c5e3b-9422-4130-a118-f22d23b95633%40googlegroups.com.
     [exec] 
**********************************************************************
     [exec] ** Visual Studio 2017 Developer Command Prompt v15.9.17
     [exec] ** Copyright (c) 2017 Microsoft Corporation
     [exec] 
**********************************************************************
     [exec] [vcvarsall.bat] Environment initialized for: 'x64'
     [exec] ninja: Entering directory `out.gn/x64.release'
     [exec] [1/534] CXX obj/torque_generated_initializers/console-tq-csa.obj
     [exec] FAILED: obj/torque_generated_initializers/console-tq-csa.obj
     [exec] 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_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH 
-DV8_COMPRESS_POINTERS -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_COMPRESS_POINTERS -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/src/builtins/console-tq-csa.cc 
/Foobj/torque_generated_initializers/console-tq-csa.obj 
/Fd"obj/torque_generated_initializers_cc.pdb"
     [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'
     [exec] C:\fd22cbe1\v8\src/codegen/tnode.h(239): note: see reference to 
class template instantiation 'std::is_convertible<T,v8::internal::Object>' 
being compiled
     [exec]         with
     [exec]         [
     [exec]             T=v8::internal::Cell
     [exec]         ]
     [exec] C:\fd22cbe1\v8\src/codegen/code-stub-assembler.h(1714): note: see 
reference to class template instantiation 
'v8::internal::is_subtype<v8::internal::Cell,v8::internal::Cell>' being compiled
     [exec] C:\fd22cbe1\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
     [exec] C:\fd22cbe1\v8\src/codegen/x64/register-x64.h(153): note: see 
reference to class template instantiation 
'v8::internal::RegisterBase<v8::internal::XMMRegister,16>' being compiled
     [exec] C:\fd22cbe1\v8\src/codegen/x64/register-x64.h(53): note: see 
reference to class template instantiation 
'v8::internal::RegisterBase<v8::internal::Register,16>' being compiled

Reply via email to