Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: compile addons with --gnu++17 #36369

Merged
merged 1 commit into from Nov 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions patches/node/.patches
Expand Up @@ -51,3 +51,4 @@ fixup_for_wc_98-compat-extra-semi.patch
drop_deserializerequest_move_constructor_for_c_20_compat.patch
fix_parallel_test-v8-stats.patch
fix_expose_the_built-in_electron_module_via_the_esm_loader.patch
chore_enable_c_17_for_native_modules.patch
54 changes: 54 additions & 0 deletions patches/node/chore_enable_c_17_for_native_modules.patch
@@ -0,0 +1,54 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Wed, 16 Nov 2022 13:18:23 +0900
Subject: chore: enable c++17 for native modules

V8 headers shipped since 10.4 use C++17 featuers, update the compile flags
correspondinly for native addons. C++ version in this file should be updated
following the version bump in upstream.

Next update: crbug.com/1284275

diff --git a/common.gypi b/common.gypi
index 8441a5270212af7e4643e6b4ee100a22f8e6f51c..37908fc70c6e95970ef7bd4ee83799710397a450 100644
--- a/common.gypi
+++ b/common.gypi
@@ -306,7 +306,10 @@
],
'msvs_settings': {
'VCCLCompilerTool': {
- 'AdditionalOptions': ['/Zc:__cplusplus'],
+ 'AdditionalOptions': [
+ '/Zc:__cplusplus',
+ '-std:c++17',
+ ],
'BufferSecurityCheck': 'true',
'target_conditions': [
['_toolset=="target"', {
@@ -438,7 +441,7 @@
}],
[ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', {
'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
- 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++14' ],
+ 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++17' ],
'defines': [ '__STDC_FORMAT_MACROS' ],
'ldflags': [ '-rdynamic' ],
'target_conditions': [
@@ -578,7 +581,7 @@
['clang==1', {
'xcode_settings': {
'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
- 'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++14', # -std=gnu++14
+ 'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++17', # -std=gnu++17
'CLANG_CXX_LIBRARY': 'libc++',
},
}],
@@ -651,7 +654,7 @@
'-qASM',
],
'cflags_cc': [
- '-qxclang=-std=c++14',
+ '-qxclang=-std=c++17',
],
'ldflags': [
'-q64',