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

v15.14.0 proposal #38084

Merged
merged 41 commits into from Apr 6, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
913ec56
deps: cjs-module-lexer: cherry-pick 22093e765f
peZhmanParsaee Mar 24, 2021
5e15ae0
test: add DataView test case for v8 serdes
Trott Mar 28, 2021
570fbce
url: forbid pipe in URL host
RaisinTen Mar 23, 2021
13c3924
doc: add Windows-specific info to subprocess.kill()
joaolucasl Aug 21, 2020
bbdcdad
deps: upgrade openssl sources to 1.1.1k+quic
hassaanp Mar 25, 2021
f0e7714
deps: update archs files for OpenSSL-1.1.1k
hassaanp Mar 25, 2021
f3fabb5
doc: add missing cleanup step in OpenSSL upgrade
tniessen Mar 26, 2021
a57dc06
doc: improve Buffer's encoding documentation
targos Mar 27, 2021
d86aca9
http: optimize debug function correctly
targos Mar 29, 2021
a94cc27
path: refactor to use more primordials
marsonya Mar 24, 2021
4ef102d
deps: update to cjs-module-lexer@1.1.1
guybedford Mar 30, 2021
51e7a33
tools,doc: add "legacy" badge in the TOC
aduh95 Mar 27, 2021
062541a
http2: add specific error code for custom frames
addaleax Mar 26, 2021
8792c7c
doc: add missing events.on metadata
addaleax Mar 29, 2021
669b81c
net,tls: add abort signal support to connect
Linkgoron Mar 12, 2021
a1123f0
readline: add AbortSignal support to interface
Linkgoron Mar 26, 2021
6cc1e15
readline: fix pre-aborted signal question handling
Linkgoron Mar 26, 2021
21e399b
lib: change wording in lib/internal/child_process comment
marsonya Mar 25, 2021
8525231
lib: change wording in lib/domain.js comment
marsonya Mar 26, 2021
ae70aa3
doc: add distinctive color for code elements inside links
aduh95 Mar 27, 2021
a4169ce
net: make net.BlockList cloneable
jasnell Mar 25, 2021
daa8a7b
net: add SocketAddress class
jasnell Mar 25, 2021
0709cbb
net: allow net.BlockList to use net.SocketAddress objects
jasnell Mar 25, 2021
4d50975
test: improve clarity of ALS-enable-disable.js
PhakornKiong Mar 31, 2021
ce14080
doc: move psmarshall to collaborators emeriti
psmarshall Mar 31, 2021
ad7e344
fs: fix chown abort
RaisinTen Mar 31, 2021
6ad0b6f
src: fix error handling for CryptoJob::ToResult
tniessen Apr 1, 2021
6d28a24
tools: update ESLint to 7.23.0
lpinca Mar 30, 2021
0db1a1e
test: deflake test-fs-read-optional-params
lpinca Mar 30, 2021
960c6be
crypto: add buffering to randomInt
tniessen Sep 8, 2020
b02c352
test: fix test-tls-no-sslv3 for OpenSSL 3
richardlau Apr 1, 2021
b40d35d
doc: document how to unref stdin when using readline.Interface
AnupamaP Apr 1, 2021
0243376
test: use faster variant for rss
PoojaDurgad Jan 7, 2021
3ab9619
module: improve error message for invalid data URL
aduh95 Mar 10, 2021
3175559
test: add extra space in test failure output
Ayase-252 Mar 28, 2021
afc6ab2
doc: fix asyncLocalStorage.run() description
PhakornKiong Apr 1, 2021
ac69b95
crypto: use correct webcrypto RSASSA-PKCS1-v1_5 algorithm name
panva Apr 1, 2021
e61cc0b
src: fix typos in crypto comments
tniessen Apr 1, 2021
b6f4901
fs: add support for async iterators to `fsPromises.writeFile`
Feb 21, 2021
629e72e
src: fix typo in node_mutex
tniessen Mar 31, 2021
1a34e9c
2021-04-06, Version 15.14.0 (Current)
MylesBorins Apr 5, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -32,7 +32,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V15.md#15.13.0">15.13.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V15.md#15.14.0">15.14.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.13.0">15.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.12.0">15.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.11.0">15.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.10.0">15.10.0</a><br/>
Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -389,8 +389,6 @@ For information about the governance of the Node.js project, see
**Filip Skokan** &lt;panva.ip@gmail.com&gt;
* [PoojaDurgad](https://github.com/PoojaDurgad) -
**Pooja D P** &lt;Pooja.D.P@ibm.com&gt; (she/her)
* [psmarshall](https://github.com/psmarshall) -
**Peter Marshall** &lt;petermarshall@chromium.org&gt; (he/him)
* [puzpuzpuz](https://github.com/puzpuzpuz) -
**Andrey Pechkurov** &lt;apechkurov@gmail.com&gt; (he/him)
* [Qard](https://github.com/Qard) -
Expand Down Expand Up @@ -550,6 +548,8 @@ For information about the governance of the Node.js project, see
**Minqi Pan** &lt;pmq2001@gmail.com&gt;
* [princejwesley](https://github.com/princejwesley) -
**Prince John Wesley** &lt;princejohnwesley@gmail.com&gt;
* [psmarshall](https://github.com/psmarshall) -
**Peter Marshall** &lt;petermarshall@chromium.org&gt; (he/him)
* [rlidwka](https://github.com/rlidwka) -
**Alex Kocharin** &lt;alex@kocharin.ru&gt;
* [rmg](https://github.com/rmg) -
Expand Down
38 changes: 38 additions & 0 deletions benchmark/crypto/randomInt.js
@@ -0,0 +1,38 @@
'use strict';

const common = require('../common.js');
const { randomInt } = require('crypto');

const bench = common.createBenchmark(main, {
mode: ['sync', 'async-sequential', 'async-parallel'],
min: [-(2 ** 47) + 1, -10_000, -100],
max: [100, 10_000, 2 ** 47],
n: [1e3, 1e5]
});

function main({ mode, min, max, n }) {
if (mode === 'sync') {
bench.start();
for (let i = 0; i < n; i++)
randomInt(min, max);
bench.end(n);
} else if (mode === 'async-sequential') {
bench.start();
(function next(i) {
if (i === n)
return bench.end(n);
randomInt(min, max, () => {
next(i + 1);
});
})(0);
} else {
bench.start();
let done = 0;
for (let i = 0; i < n; i++) {
randomInt(min, max, () => {
if (++done === n)
bench.end(n);
});
}
}
}
4 changes: 4 additions & 0 deletions deps/cjs-module-lexer/CHANGELOG.md
@@ -1,3 +1,7 @@
1.1.1
- Better support for Babel reexport getter function forms (https://github.com/guybedford/cjs-module-lexer/issues/50)
- Support Babel interopRequireWildcard reexports patterns (https://github.com/guybedford/cjs-module-lexer/issues/52)

1.1.0
- Support for Babel reexport conflict filter (https://github.com/guybedford/cjs-module-lexer/issues/36, @nicolo-ribaudo)
- Support trailing commas in getter patterns (https://github.com/guybedford/cjs-module-lexer/issues/31)
Expand Down
8 changes: 4 additions & 4 deletions deps/cjs-module-lexer/README.md
Expand Up @@ -92,15 +92,15 @@ EXPORTS_DEFINE_VALUE: EXPORTS_DEFINE `, {`
(`enumerable: true,`)?
(
`value:` |
`get` (`: function` IDENTIFIER? )? `()` {` return IDENTIFIER (`.` IDENTIFIER | `[` IDENTIFIER_STRING `]`)? `;`? `}` `,`?
`get` (`: function` IDENTIFIER? )? `() {` return IDENTIFIER (`.` IDENTIFIER | `[` IDENTIFIER_STRING `]`)? `;`? `}` `,`?
)
`})`

EXPORTS_LITERAL: MODULE_EXPORTS `=` `{` (EXPORTS_LITERAL_PROP | EXPORTS_SPREAD) `,`)+ `}`

REQUIRE: `require` `(` STRING_LITERAL `)`

EXPORTS_ASSIGN: (`var` | `const` | `let`) IDENTIFIER `=` REQUIRE
EXPORTS_ASSIGN: (`var` | `const` | `let`) IDENTIFIER `=` (`_interopRequireWildcard (`)? REQUIRE

MODULE_EXPORTS_ASSIGN: MODULE_EXPORTS `=` REQUIRE

Expand All @@ -119,7 +119,7 @@ EXPORT_STAR_LIB: `Object.keys(` IDENTIFIER$1 `).forEach(function (` IDENTIFIER$2
)
(
EXPORTS_IDENTIFIER `[` IDENTIFIER$2 `] =` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? |
`Object.defineProperty(` EXPORTS_IDENTIFIER `, ` IDENTIFIER$2 `, { enumerable: true, get: function () { return ` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? `}` `,`? `})` `;`?
`Object.defineProperty(` EXPORTS_IDENTIFIER `, ` IDENTIFIER$2 `, { enumerable: true, get` (`: function` IDENTIFIER? )? `() { return ` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? `}` `,`? `})` `;`?
)
`})`
```
Expand All @@ -129,7 +129,7 @@ Spacing between tokens is taken to be any ECMA-262 whitespace, ECMA-262 block co
* The returned export names are taken to be the combination of:
1. All `IDENTIFIER` and `IDENTIFIER_STRING` slots for `EXPORTS_MEMBER` and `EXPORTS_LITERAL` matches.
2. The first `IDENTIFIER_STRING` slot for all `EXPORTS_DEFINE_VALUE` matches where that same string is not an `EXPORTS_DEFINE` match that is not also an `EXPORTS_DEFINE_VALUE` match.
* The reexport specifiers are taken to be the the combination of:
* The reexport specifiers are taken to be the combination of:
1. The `REQUIRE` matches of the last matched of either `MODULE_EXPORTS_ASSIGN` or `EXPORTS_LITERAL`.
2. All _top-level_ `EXPORT_STAR` `REQUIRE` matches and `EXPORTS_ASSIGN` matches whose `IDENTIFIER` also matches the first `IDENTIFIER` in `EXPORT_STAR_LIB`.

Expand Down
2 changes: 1 addition & 1 deletion deps/cjs-module-lexer/dist/lexer.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions deps/cjs-module-lexer/dist/lexer.mjs

Large diffs are not rendered by default.

30 changes: 23 additions & 7 deletions deps/cjs-module-lexer/lexer.js
Expand Up @@ -97,7 +97,18 @@ function parseSource (cjsSource) {
lastTokenPos = pos;
continue;
case 95/*_*/:
if (source.startsWith('_export', pos + 1) && (keywordStart(pos) || source.charCodeAt(pos - 1) === 46/*.*/)) {
if (source.startsWith('interopRequireWildcard', pos + 1) && (keywordStart(pos) || source.charCodeAt(pos - 1) === 46/*.*/)) {
const startPos = pos;
pos += 23;
if (source.charCodeAt(pos) === 40/*(*/) {
pos++;
openTokenPosStack[openTokenDepth++] = lastTokenPos;
if (tryParseRequire(Import) && keywordStart(startPos)) {
tryBacktrackAddStarExportBinding(startPos - 1);
}
}
}
else if (source.startsWith('_export', pos + 1) && (keywordStart(pos) || source.charCodeAt(pos - 1) === 46/*.*/)) {
pos += 8;
if (source.startsWith('Star', pos))
pos += 4;
Expand Down Expand Up @@ -724,12 +735,17 @@ function tryParseObjectDefineOrKeys (keys) {
if (ch !== 103/*g*/ || !source.startsWith('et', pos + 1)) break;
pos += 3;
ch = commentWhitespace();
if (ch !== 58/*:*/) break;
pos++;
ch = commentWhitespace();
if (ch !== 102/*f*/ || !source.startsWith('unction', pos + 1)) break;
pos += 8;
ch = commentWhitespace();
if (ch === 58/*:*/) {
pos++;
ch = commentWhitespace();
if (ch !== 102/*f*/) break;
if (!source.startsWith('unction', pos + 1)) break;
pos += 8;
let lastPos = pos;
ch = commentWhitespace();
if (ch !== 40 && (lastPos === pos || !identifier())) break;
ch = commentWhitespace();
}
if (ch !== 40/*(*/) break;
pos++;
ch = commentWhitespace();
Expand Down
2 changes: 1 addition & 1 deletion deps/cjs-module-lexer/package.json
@@ -1,6 +1,6 @@
{
"name": "cjs-module-lexer",
"version": "1.1.0",
"version": "1.1.1",
"description": "Lexes CommonJS modules, returning their named exports metadata",
"main": "lexer.js",
"exports": {
Expand Down
4 changes: 2 additions & 2 deletions deps/openssl/config/archs/BSD-x86/asm/configdata.pm
Expand Up @@ -111,8 +111,8 @@ our %config = (
sourcedir => ".",
target => "BSD-x86",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand Down
2 changes: 1 addition & 1 deletion deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: BSD-x86"
#define DATE "built on: Thu Mar 4 14:45:54 2021 UTC"
#define DATE "built on: Thu Mar 25 15:42:28 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
4 changes: 2 additions & 2 deletions deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm
Expand Up @@ -111,8 +111,8 @@ our %config = (
sourcedir => ".",
target => "BSD-x86",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand Down
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: BSD-x86"
#define DATE "built on: Thu Mar 4 14:45:56 2021 UTC"
#define DATE "built on: Thu Mar 25 15:42:31 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
4 changes: 2 additions & 2 deletions deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm
Expand Up @@ -110,8 +110,8 @@ our %config = (
sourcedir => ".",
target => "BSD-x86",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand Down
2 changes: 1 addition & 1 deletion deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: BSD-x86"
#define DATE "built on: Thu Mar 4 14:45:59 2021 UTC"
#define DATE "built on: Thu Mar 25 15:42:33 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
4 changes: 2 additions & 2 deletions deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm
Expand Up @@ -111,8 +111,8 @@ our %config = (
sourcedir => ".",
target => "BSD-x86_64",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand Down
2 changes: 1 addition & 1 deletion deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: BSD-x86_64"
#define DATE "built on: Thu Mar 4 14:46:00 2021 UTC"
#define DATE "built on: Thu Mar 25 15:42:35 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
4 changes: 2 additions & 2 deletions deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm
Expand Up @@ -111,8 +111,8 @@ our %config = (
sourcedir => ".",
target => "BSD-x86_64",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand Down
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: BSD-x86_64"
#define DATE "built on: Thu Mar 4 14:46:08 2021 UTC"
#define DATE "built on: Thu Mar 25 15:42:41 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
4 changes: 2 additions & 2 deletions deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm
Expand Up @@ -110,8 +110,8 @@ our %config = (
sourcedir => ".",
target => "BSD-x86_64",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand Down
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: BSD-x86_64"
#define DATE "built on: Thu Mar 4 14:46:16 2021 UTC"
#define DATE "built on: Thu Mar 25 15:42:47 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
6 changes: 3 additions & 3 deletions deps/openssl/config/archs/VC-WIN32/asm/configdata.pm
Expand Up @@ -115,8 +115,8 @@ our %config = (
sourcedir => ".",
target => "VC-WIN32",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand All @@ -132,7 +132,7 @@ our %target = (
LDFLAGS => "/nologo /debug",
MT => "mt",
MTFLAGS => "-nologo",
RANLIB => "CODE(0x559dac12ef00)",
RANLIB => "CODE(0x55c51430d9f8)",
RC => "rc",
_conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ],
aes_asm_src => "aes_core.c aes_cbc.c vpaes-x86.s aesni-x86.s",
Expand Down
2 changes: 1 addition & 1 deletion deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: "
#define DATE "built on: Thu Mar 4 14:48:58 2021 UTC"
#define DATE "built on: Thu Mar 25 15:45:00 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
6 changes: 3 additions & 3 deletions deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm
Expand Up @@ -115,8 +115,8 @@ our %config = (
sourcedir => ".",
target => "VC-WIN32",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand All @@ -132,7 +132,7 @@ our %target = (
LDFLAGS => "/nologo /debug",
MT => "mt",
MTFLAGS => "-nologo",
RANLIB => "CODE(0x56163e49b440)",
RANLIB => "CODE(0x55ef1e4a36c8)",
RC => "rc",
_conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ],
aes_asm_src => "aes_core.c aes_cbc.c vpaes-x86.s aesni-x86.s",
Expand Down
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: "
#define DATE "built on: Thu Mar 4 14:49:00 2021 UTC"
#define DATE "built on: Thu Mar 25 15:45:03 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
6 changes: 3 additions & 3 deletions deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm
Expand Up @@ -114,8 +114,8 @@ our %config = (
sourcedir => ".",
target => "VC-WIN32",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand All @@ -131,7 +131,7 @@ our %target = (
LDFLAGS => "/nologo /debug",
MT => "mt",
MTFLAGS => "-nologo",
RANLIB => "CODE(0x55c2ede54b90)",
RANLIB => "CODE(0x5643c93df2f8)",
RC => "rc",
_conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ],
aes_asm_src => "aes_core.c aes_cbc.c",
Expand Down
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: "
#define DATE "built on: Thu Mar 4 14:49:02 2021 UTC"
#define DATE "built on: Thu Mar 25 15:45:05 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down
6 changes: 3 additions & 3 deletions deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm
Expand Up @@ -113,8 +113,8 @@ our %config = (
sourcedir => ".",
target => "VC-WIN64-ARM",
tdirs => [ "ossl_shim" ],
version => "1.1.1j+quic",
version_num => "0x101010afL",
version => "1.1.1k+quic",
version_num => "0x101010bfL",
);

our %target = (
Expand All @@ -128,7 +128,7 @@ our %target = (
LDFLAGS => "/nologo /debug",
MT => "mt",
MTFLAGS => "-nologo",
RANLIB => "CODE(0x55ac7827a8e0)",
RANLIB => "CODE(0x564e049cb988)",
RC => "rc",
_conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/50-win-onecore.conf", "Configurations/shared-info.pl" ],
aes_asm_src => "aes_core.c aes_cbc.c",
Expand Down
Expand Up @@ -11,7 +11,7 @@
*/

#define PLATFORM "platform: VC-WIN64-ARM"
#define DATE "built on: Thu Mar 4 14:49:03 2021 UTC"
#define DATE "built on: Thu Mar 25 15:45:06 2021 UTC"

/*
* Generate compiler_flags as an array of individual characters. This is a
Expand Down