[Build]Fix build error on g++ 10.0.1

About https://chromium-review.googlesource.com/c/v8/v8/+/2557988
   On https://chromium-review.googlesource.com/c/v8/v8/+/2557988/7/src/objects/string.h#476
   It add a template, but not define it on https://chromium-review.googlesource.com/c/v8/v8/+/2557988/7/src/objects/string.h#576
   It lead to build failed on g++ 10.0.1.
   https://bugs.chromium.org/p/v8/issues/detail?id=11228

Bug: v8:11228
Change-Id: I81103143a995cc5225a990672094adaa7a3a934d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573643
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71634}
This commit is contained in:
Yahan Lu 2020-12-05 10:29:50 +08:00 committed by Commit Bot
parent 924b07783c
commit 59a6636a60
3 changed files with 13 additions and 0 deletions

View File

@ -135,6 +135,7 @@ Kevin Gibbons <bakkot@gmail.com>
Kris Selden <kris.selden@gmail.com>
Kyounga Ra <kyounga@alticast.com>
Loo Rong Jie <loorongjie@gmail.com>
Lu Yahan <yahan@iscas.ac.cn>
Luis Reis <luis.m.reis@gmail.com>
Luke Zarko <lukezarko@gmail.com>
Maciej Małecki <me@mmalecki.com>

View File

@ -1702,6 +1702,12 @@ template EXPORT_TEMPLATE_DEFINE(V8_EXPORT_PRIVATE) void String::WriteToFlat(
String source, uint16_t* sink, int from, int to);
template EXPORT_TEMPLATE_DEFINE(V8_EXPORT_PRIVATE) void String::WriteToFlat(
String source, uint8_t* sink, int from, int to);
template EXPORT_TEMPLATE_DEFINE(V8_EXPORT_PRIVATE) void String::WriteToFlat(
String source, uint16_t* sink, int from, int to,
const SharedStringAccessGuardIfNeeded&);
template EXPORT_TEMPLATE_DEFINE(V8_EXPORT_PRIVATE) void String::WriteToFlat(
String source, uint8_t* sink, int from, int to,
const SharedStringAccessGuardIfNeeded&);
namespace {
// Check that the constants defined in src/objects/instance-type.h coincides

View File

@ -561,6 +561,12 @@ extern template EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE)
void String::WriteToFlat(String source, uint8_t* sink, int from, int to);
extern template EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE)
void String::WriteToFlat(String source, uint16_t* sink, int from, int to);
extern template EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE)
void String::WriteToFlat(String source, uint8_t* sink, int from, int to ,
const SharedStringAccessGuardIfNeeded&);
extern template EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE)
void String::WriteToFlat(String source, uint16_t* sink, int from, int to,
const SharedStringAccessGuardIfNeeded&);
// clang-format on
class SubStringRange {