Skip to content

Commit bbacdb3

Browse files
joyeecheungtargos
authored andcommitted
deps: V8: cherry-pick 6bb04495264b
Original commit message: [api] qualify std::nullptr_t in public headers for libstdc++ compat The C++ standard only guarantees std::nullptr_t. The unqualified nullptr_t in the global namespace is not guaranteed and may be unavailable when linking with libstdc++. Bug: 348660658 Refs: nodejs#62572 Change-Id: I6b5649274e3cb12dce463d58e49f6eb96f83b14a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7726129 Reviewed-by: Igor Sheludko <[email protected]> Commit-Queue: Joyee Cheung <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Cr-Commit-Position: refs/heads/main@{#106356} Refs: v8/v8@6bb0449
1 parent 6ad3db8 commit bbacdb3

3 files changed

Lines changed: 31 additions & 26 deletions

File tree

common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
# Reset this number to 0 on major V8 upgrades.
4040
# Increment by one for each non-official patch applied to deps/v8.
41-
'v8_embedder_string': '-node.8',
41+
'v8_embedder_string': '-node.9',
4242

4343
##### V8 defaults for Node.js #####
4444

deps/v8/include/v8-object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ class V8_EXPORT Object : public Value {
420420
// is removed.
421421
V8_WARN_UNUSED_RESULT Maybe<bool> SetNativeDataProperty(
422422
Local<Context> context, Local<Name> name,
423-
AccessorNameGetterCallback getter, nullptr_t setter = nullptr,
423+
AccessorNameGetterCallback getter, std::nullptr_t setter = nullptr,
424424
Local<Value> data = Local<Value>(), PropertyAttribute attributes = None,
425425
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
426426
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect) {

deps/v8/include/v8-template.h

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class V8_EXPORT Template : public Data {
117117
// is removed.
118118
void SetNativeDataProperty(
119119
Local<Name> name, AccessorNameGetterCallback getter,
120-
nullptr_t setter = nullptr, Local<Value> data = Local<Value>(),
120+
std::nullptr_t setter = nullptr, Local<Value> data = Local<Value>(),
121121
PropertyAttribute attribute = None,
122122
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
123123
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect) {
@@ -748,7 +748,7 @@ struct NamedPropertyHandlerConfiguration {
748748
PropertyHandlerFlags::kInternalNewCallbacksSignatures));
749749
}
750750

751-
static NamedPropertySetterCallbackV2 ConvertSetter(nullptr_t) {
751+
static NamedPropertySetterCallbackV2 ConvertSetter(std::nullptr_t) {
752752
return nullptr;
753753
}
754754
static NamedPropertySetterCallbackV2 ConvertSetter(
@@ -760,7 +760,7 @@ struct NamedPropertyHandlerConfiguration {
760760
return NamedPropertySetterCallbackV2(value);
761761
}
762762

763-
static NamedPropertyDefinerCallbackV2 ConvertDefiner(nullptr_t) {
763+
static NamedPropertyDefinerCallbackV2 ConvertDefiner(std::nullptr_t) {
764764
return nullptr;
765765
}
766766
static NamedPropertyDefinerCallbackV2 ConvertDefiner(
@@ -775,11 +775,12 @@ struct NamedPropertyHandlerConfiguration {
775775
public:
776776
// TODO(https://crbug.com/348660658): cleanup once migration to
777777
// NamedPropertySetterCallbackV2/NamedPropertyDefinerCallbackV2 is done.
778-
template <typename TSetter = nullptr_t, typename TDefiner = nullptr_t>
779-
requires((std::is_same_v<TSetter, nullptr_t> ||
778+
template <typename TSetter = std::nullptr_t,
779+
typename TDefiner = std::nullptr_t>
780+
requires((std::is_same_v<TSetter, std::nullptr_t> ||
780781
std::is_same_v<TSetter, NamedPropertySetterCallback> ||
781782
std::is_same_v<TSetter, NamedPropertySetterCallbackV2>) &&
782-
(std::is_same_v<TDefiner, nullptr_t> ||
783+
(std::is_same_v<TDefiner, std::nullptr_t> ||
783784
std::is_same_v<TDefiner, NamedPropertyDefinerCallback> ||
784785
std::is_same_v<TDefiner, NamedPropertyDefinerCallbackV2>))
785786
NamedPropertyHandlerConfiguration(
@@ -804,8 +805,8 @@ struct NamedPropertyHandlerConfiguration {
804805

805806
// TODO(https://crbug.com/348660658): cleanup once migration to
806807
// NamedPropertySetterCallbackV2/NamedPropertyDefinerCallbackV2 is done.
807-
template <typename TSetter = nullptr_t>
808-
requires(std::is_same_v<TSetter, nullptr_t> ||
808+
template <typename TSetter = std::nullptr_t>
809+
requires(std::is_same_v<TSetter, std::nullptr_t> ||
809810
std::is_same_v<TSetter, NamedPropertySetterCallback> ||
810811
std::is_same_v<TSetter, NamedPropertySetterCallbackV2>)
811812
explicit NamedPropertyHandlerConfiguration(
@@ -828,11 +829,12 @@ struct NamedPropertyHandlerConfiguration {
828829

829830
// TODO(https://crbug.com/348660658): cleanup once migration to
830831
// NamedPropertySetterCallbackV2/NamedPropertyDefinerCallbackV2 is done.
831-
template <typename TSetter = nullptr_t, typename TDefiner = nullptr_t>
832-
requires((std::is_same_v<TSetter, nullptr_t> ||
832+
template <typename TSetter = std::nullptr_t,
833+
typename TDefiner = std::nullptr_t>
834+
requires((std::is_same_v<TSetter, std::nullptr_t> ||
833835
std::is_same_v<TSetter, NamedPropertySetterCallback> ||
834836
std::is_same_v<TSetter, NamedPropertySetterCallbackV2>) &&
835-
(std::is_same_v<TDefiner, nullptr_t> ||
837+
(std::is_same_v<TDefiner, std::nullptr_t> ||
836838
std::is_same_v<TDefiner, NamedPropertyDefinerCallback> ||
837839
std::is_same_v<TDefiner, NamedPropertyDefinerCallbackV2>))
838840
NamedPropertyHandlerConfiguration(
@@ -875,7 +877,7 @@ struct IndexedPropertyHandlerConfiguration {
875877
PropertyHandlerFlags::kInternalNewCallbacksSignatures));
876878
}
877879

878-
static IndexedPropertySetterCallback ConvertSetter(nullptr_t) {
880+
static IndexedPropertySetterCallback ConvertSetter(std::nullptr_t) {
879881
return nullptr;
880882
}
881883
static IndexedPropertySetterCallback ConvertSetter(
@@ -887,7 +889,7 @@ struct IndexedPropertyHandlerConfiguration {
887889
return IndexedPropertySetterCallback(value);
888890
}
889891

890-
static IndexedPropertyDefinerCallback ConvertDefiner(nullptr_t) {
892+
static IndexedPropertyDefinerCallback ConvertDefiner(std::nullptr_t) {
891893
return nullptr;
892894
}
893895
static IndexedPropertyDefinerCallback ConvertDefiner(
@@ -902,11 +904,12 @@ struct IndexedPropertyHandlerConfiguration {
902904
public:
903905
// TODO(https://crbug.com/348660658): cleanup once migration to
904906
// IndexedPropertySetterCallback/IndexedPropertyDefinerCallback is done.
905-
template <typename TSetter = nullptr_t, typename TDefiner = nullptr_t>
906-
requires((std::is_same_v<TSetter, nullptr_t> ||
907+
template <typename TSetter = std::nullptr_t,
908+
typename TDefiner = std::nullptr_t>
909+
requires((std::is_same_v<TSetter, std::nullptr_t> ||
907910
std::is_same_v<TSetter, IndexedPropertySetterCallback> ||
908911
std::is_same_v<TSetter, IndexedPropertySetterCallbackV2>) &&
909-
(std::is_same_v<TDefiner, nullptr_t> ||
912+
(std::is_same_v<TDefiner, std::nullptr_t> ||
910913
std::is_same_v<TDefiner, IndexedPropertyDefinerCallback> ||
911914
std::is_same_v<TDefiner, IndexedPropertyDefinerCallbackV2>))
912915
IndexedPropertyHandlerConfiguration(
@@ -931,8 +934,8 @@ struct IndexedPropertyHandlerConfiguration {
931934

932935
// TODO(https://crbug.com/348660658): cleanup once migration to
933936
// IndexedPropertySetterCallback/IndexedPropertyDefinerCallback is done.
934-
template <typename TSetter = nullptr_t>
935-
requires(std::is_same_v<TSetter, nullptr_t> ||
937+
template <typename TSetter = std::nullptr_t>
938+
requires(std::is_same_v<TSetter, std::nullptr_t> ||
936939
std::is_same_v<TSetter, IndexedPropertySetterCallback> ||
937940
std::is_same_v<TSetter, IndexedPropertySetterCallbackV2>)
938941
explicit IndexedPropertyHandlerConfiguration(
@@ -955,11 +958,12 @@ struct IndexedPropertyHandlerConfiguration {
955958

956959
// TODO(https://crbug.com/348660658): cleanup once migration to
957960
// IndexedPropertySetterCallback/IndexedPropertyDefinerCallback is done.
958-
template <typename TSetter = nullptr_t, typename TDefiner = nullptr_t>
959-
requires((std::is_same_v<TSetter, nullptr_t> ||
961+
template <typename TSetter = std::nullptr_t,
962+
typename TDefiner = std::nullptr_t>
963+
requires((std::is_same_v<TSetter, std::nullptr_t> ||
960964
std::is_same_v<TSetter, IndexedPropertySetterCallback> ||
961965
std::is_same_v<TSetter, IndexedPropertySetterCallbackV2>) &&
962-
(std::is_same_v<TDefiner, nullptr_t> ||
966+
(std::is_same_v<TDefiner, std::nullptr_t> ||
963967
std::is_same_v<TDefiner, IndexedPropertyDefinerCallback> ||
964968
std::is_same_v<TDefiner, IndexedPropertyDefinerCallbackV2>))
965969
IndexedPropertyHandlerConfiguration(
@@ -983,11 +987,12 @@ struct IndexedPropertyHandlerConfiguration {
983987

984988
// TODO(https://crbug.com/348660658): cleanup once migration to
985989
// IndexedPropertySetterCallback/IndexedPropertyDefinerCallback is done.
986-
template <typename TSetter = nullptr_t, typename TDefiner = nullptr_t>
987-
requires((std::is_same_v<TSetter, nullptr_t> ||
990+
template <typename TSetter = std::nullptr_t,
991+
typename TDefiner = std::nullptr_t>
992+
requires((std::is_same_v<TSetter, std::nullptr_t> ||
988993
std::is_same_v<TSetter, IndexedPropertySetterCallback> ||
989994
std::is_same_v<TSetter, IndexedPropertySetterCallbackV2>) &&
990-
(std::is_same_v<TDefiner, nullptr_t> ||
995+
(std::is_same_v<TDefiner, std::nullptr_t> ||
991996
std::is_same_v<TDefiner, IndexedPropertyDefinerCallback> ||
992997
std::is_same_v<TDefiner, IndexedPropertyDefinerCallbackV2>))
993998
IndexedPropertyHandlerConfiguration(

0 commit comments

Comments
 (0)