diff --git a/BUILD.gn b/BUILD.gn index a9ab6783fa..bc8455ce64 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -5202,6 +5202,7 @@ if (is_component_build) { public_deps = [ ":v8_base", + ":v8_initializers", ":v8_snapshot", ] diff --git a/src/codegen/code-stub-assembler.h b/src/codegen/code-stub-assembler.h index 03af2cc5e2..bb19092c54 100644 --- a/src/codegen/code-stub-assembler.h +++ b/src/codegen/code-stub-assembler.h @@ -301,7 +301,7 @@ enum class PrimitiveType { kBoolean, kNumber, kString, kSymbol }; // it's possible to add JavaScript-specific useful CodeAssembler "macros" // without modifying files in the compiler directory (and requiring a review // from a compiler directory OWNER). -class V8_EXPORT_PRIVATE CodeStubAssembler +class V8_EXPORT CodeStubAssembler : public compiler::CodeAssembler, public TorqueGeneratedExportedMacrosAssembler { public: diff --git a/src/common/globals.h b/src/common/globals.h index d9d502aa51..7495c898fc 100644 --- a/src/common/globals.h +++ b/src/common/globals.h @@ -1348,7 +1348,7 @@ class BinaryOperationFeedback { // This is distinct from BinaryOperationFeedback on purpose, because the // feedback that matters differs greatly as well as the way it is consumed. class CompareOperationFeedback { - enum { + enum : uint32_t { kSignedSmallFlag = 1 << 0, kOtherNumberFlag = 1 << 1, kBooleanFlag = 1 << 2, @@ -1362,7 +1362,7 @@ class CompareOperationFeedback { }; public: - enum Type { + enum Type : uint32_t { kNone = 0, kBoolean = kBooleanFlag, diff --git a/src/compiler/node-cache.h b/src/compiler/node-cache.h index 8e1d3d4eae..c55d8329de 100644 --- a/src/compiler/node-cache.h +++ b/src/compiler/node-cache.h @@ -29,7 +29,7 @@ class Node; // nodes such as constants, parameters, etc. template , typename Pred = std::equal_to > -class EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) NodeCache final { +class V8_EXPORT_PRIVATE NodeCache final { public: explicit NodeCache(Zone* zone) : map_(zone) {} ~NodeCache() = default; diff --git a/src/heap/paged-spaces-inl.h b/src/heap/paged-spaces-inl.h index e135e30efc..0c055247bc 100644 --- a/src/heap/paged-spaces-inl.h +++ b/src/heap/paged-spaces-inl.h @@ -19,7 +19,7 @@ namespace internal { // ----------------------------------------------------------------------------- // PagedSpaceObjectIterator -HeapObject PagedSpaceObjectIterator::Next() { +inline HeapObject PagedSpaceObjectIterator::Next() { do { HeapObject next_obj = FromCurrentPage(); if (!next_obj.is_null()) return next_obj; diff --git a/src/heap/paged-spaces.h b/src/heap/paged-spaces.h index 5168f0f053..ae5c22d1f3 100644 --- a/src/heap/paged-spaces.h +++ b/src/heap/paged-spaces.h @@ -45,7 +45,7 @@ class V8_EXPORT_PRIVATE PagedSpaceObjectIterator : public ObjectIterator { // Advance to the next object, skipping free spaces and other fillers and // skipping the special garbage section of which there is one per space. // Returns nullptr when the iteration has ended. - inline HeapObject Next() override; + HeapObject Next() override; private: // Fast (inlined) path of next(). diff --git a/src/objects/feedback-vector.cc b/src/objects/feedback-vector.cc index a77ea5d265..0cddb92a02 100644 --- a/src/objects/feedback-vector.cc +++ b/src/objects/feedback-vector.cc @@ -114,9 +114,9 @@ Handle FeedbackMetadata::New(LocalIsolate* isolate, return metadata; } -template Handle FeedbackMetadata::New( +template V8_EXPORT Handle FeedbackMetadata::New( Isolate* isolate, const FeedbackVectorSpec* spec); -template Handle FeedbackMetadata::New( +template V8_EXPORT Handle FeedbackMetadata::New( LocalIsolate* isolate, const FeedbackVectorSpec* spec); bool FeedbackMetadata::SpecDiffersFrom( diff --git a/src/objects/fixed-array-inl.h b/src/objects/fixed-array-inl.h index a91f89784f..5ecf7e3372 100644 --- a/src/objects/fixed-array-inl.h +++ b/src/objects/fixed-array-inl.h @@ -88,7 +88,7 @@ bool FixedArray::is_the_hole(Isolate* isolate, int index) { return get(isolate, index).IsTheHole(isolate); } -void FixedArray::set(int index, Smi value) { +inline V8_EXPORT_PRIVATE void FixedArray::set(int index, Smi value) { DCHECK_NE(map(), GetReadOnlyRoots().fixed_cow_array_map()); DCHECK_LT(static_cast(index), static_cast(length())); DCHECK(Object(value).IsSmi()); diff --git a/src/objects/fixed-array.h b/src/objects/fixed-array.h index 53b4cbb22b..8dd24df399 100644 --- a/src/objects/fixed-array.h +++ b/src/objects/fixed-array.h @@ -130,7 +130,7 @@ class FixedArray inline bool is_the_hole(Isolate* isolate, int index); // Setter that doesn't need write barrier. - inline void set(int index, Smi value); + inline V8_EXPORT_PRIVATE void set(int index, Smi value); // Setter with explicit barrier mode. inline void set(int index, Object value, WriteBarrierMode mode); diff --git a/src/runtime/runtime-wasm.cc b/src/runtime/runtime-wasm.cc index 9ba26c23ad..5857bf4c39 100644 --- a/src/runtime/runtime-wasm.cc +++ b/src/runtime/runtime-wasm.cc @@ -570,7 +570,7 @@ RUNTIME_FUNCTION(Runtime_WasmDebugBreak) { DebugScope debug_scope(isolate->debug()); // Check for instrumentation breakpoint. - DCHECK_EQ(script->break_on_entry(), instance->break_on_entry()); + DCHECK_EQ(script->break_on_entry(), static_cast(instance->break_on_entry())); if (script->break_on_entry()) { MaybeHandle maybe_on_entry_breakpoints = WasmScript::CheckBreakPoints( diff --git a/src/snapshot/snapshot-utils.cc b/src/snapshot/snapshot-utils.cc index eb2372372c..7defadb4b1 100644 --- a/src/snapshot/snapshot-utils.cc +++ b/src/snapshot/snapshot-utils.cc @@ -5,7 +5,7 @@ #include "src/snapshot/snapshot-utils.h" #include "src/sanitizer/msan.h" -#include "third_party/zlib/zlib.h" +#include "zlib.h" namespace v8 { namespace internal { diff --git a/src/wasm/function-body-decoder-impl.h b/src/wasm/function-body-decoder-impl.h index 6c9700b100..e3be3c31f5 100644 --- a/src/wasm/function-body-decoder-impl.h +++ b/src/wasm/function-body-decoder-impl.h @@ -2006,7 +2006,7 @@ class WasmDecoder : public Decoder { } // TODO(clemensb): This is only used by the interpreter; move there. - V8_EXPORT_PRIVATE std::pair StackEffect(const byte* pc) { + std::pair StackEffect(const byte* pc) { WasmOpcode opcode = static_cast(*pc); // Handle "simple" opcodes with a fixed signature first. const FunctionSig* sig = WasmOpcodes::Signature(opcode); diff --git a/test/cctest/BUILD.gn b/test/cctest/BUILD.gn index e63fe5ed35..ec48403c42 100644 --- a/test/cctest/BUILD.gn +++ b/test/cctest/BUILD.gn @@ -480,6 +480,10 @@ v8_source_set("cctest_sources") { # C4309: 'static_cast': truncation of constant value cflags += [ "/wd4309" ] + if(!is_clang) { + cflags += [ "/wd4789" ] + } + # MSVS wants this for gay-{precision,shortest}.cc. cflags += [ "/bigobj" ] diff --git a/tools/debug_helper/BUILD.gn b/tools/debug_helper/BUILD.gn index 54cd3b7a4c..9c6666871d 100644 --- a/tools/debug_helper/BUILD.gn +++ b/tools/debug_helper/BUILD.gn @@ -99,10 +99,12 @@ v8_component("v8_debug_helper") { "../..:v8_libbase", "../..:v8_shared_internal_headers", "../..:v8_tracing", + "../..:v8", ] configs = [ ":internal_config" ] if (v8_enable_i18n_support) { + public_deps = [ "//third_party/icu" ] configs += [ "//third_party/icu:icu_config" ] } diff --git a/tools/v8windbg/BUILD.gn b/tools/v8windbg/BUILD.gn index 10d06a127f..d0deb7adca 100644 --- a/tools/v8windbg/BUILD.gn +++ b/tools/v8windbg/BUILD.gn @@ -6,7 +6,7 @@ import("../../gni/v8.gni") config("v8windbg_config") { # Required for successful compilation of SDK header file DbgModel.h. - cflags_cc = [ "/Zc:twoPhase-" ] + cflags_cc = [ "/Zc:twoPhase-", "/std:c++latest" ] include_dirs = [ "../.." ] } diff --git a/tools/v8windbg/base/dbgext.h b/tools/v8windbg/base/dbgext.h index 8b36a8f361..f8d9f0d64e 100644 --- a/tools/v8windbg/base/dbgext.h +++ b/tools/v8windbg/base/dbgext.h @@ -9,6 +9,7 @@ #error Unicode not defined #endif +#include #include #include #include diff --git a/tools/v8windbg/src/v8-debug-helper-interop.h b/tools/v8windbg/src/v8-debug-helper-interop.h index f7d78c5dd3..1c70e54e7a 100644 --- a/tools/v8windbg/src/v8-debug-helper-interop.h +++ b/tools/v8windbg/src/v8-debug-helper-interop.h @@ -5,10 +5,11 @@ #ifndef V8_TOOLS_V8WINDBG_SRC_V8_DEBUG_HELPER_INTEROP_H_ #define V8_TOOLS_V8WINDBG_SRC_V8_DEBUG_HELPER_INTEROP_H_ -#include - +#include +#include #include +#include #include #include #include diff --git a/tools/v8windbg/test/debug-callbacks.h b/tools/v8windbg/test/debug-callbacks.h index 8855d6ffbc..ed2b0f62e9 100644 --- a/tools/v8windbg/test/debug-callbacks.h +++ b/tools/v8windbg/test/debug-callbacks.h @@ -9,6 +9,7 @@ #error Unicode not defined #endif +#include #include #include #include