Skip to content

Commit 9df9418

Browse files
committed
Version 7.3.492.1 (cherry-pick)
Merged 42b50b7 Revert "[build][torque] remove workarounds for clang bug" [email protected] Change-Id: Ib398b13fa10b711659aea20d7a4c8abb3c475c79 Reviewed-on: https://chromium-review.googlesource.com/c/1430071 Reviewed-by: Leszek Swirski <[email protected]> Cr-Commit-Position: refs/heads/7.3.492@{v8#2} Cr-Branched-From: be213cf-refs/heads/master@{#59024}
1 parent 21b1ee5 commit 9df9418

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

BUILD.gn

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3050,6 +3050,9 @@ v8_source_set("torque_base") {
30503050
]
30513051

30523052
configs = [ ":internal_config" ]
3053+
if (is_win && is_asan) {
3054+
remove_configs = [ "//build/config/sanitizers:default_sanitizer_flags" ]
3055+
}
30533056
}
30543057

30553058
v8_component("v8_libbase") {
@@ -3413,6 +3416,9 @@ if (current_toolchain == v8_snapshot_toolchain) {
34133416
]
34143417

34153418
configs = [ ":internal_config" ]
3419+
if (is_win && is_asan) {
3420+
remove_configs = [ "//build/config/sanitizers:default_sanitizer_flags" ]
3421+
}
34163422
}
34173423
}
34183424

include/v8-version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#define V8_MAJOR_VERSION 7
1212
#define V8_MINOR_VERSION 3
1313
#define V8_BUILD_NUMBER 492
14-
#define V8_PATCH_LEVEL 0
14+
#define V8_PATCH_LEVEL 1
1515

1616
// Use 1 for candidates and 0 otherwise.
1717
// (Boolean macro values are not supported by all preprocessors.)

src/torque/instructions.h

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,10 @@ struct LoadObjectFieldInstruction : InstructionBase {
207207
TORQUE_INSTRUCTION_BOILERPLATE()
208208
LoadObjectFieldInstruction(const ClassType* class_type,
209209
std::string field_name)
210-
: class_type(class_type), field_name(std::move(field_name)) {}
210+
: class_type(class_type) {
211+
// The normal way to write this triggers a bug in Clang on Windows.
212+
this->field_name = std::move(field_name);
213+
}
211214
const ClassType* class_type;
212215
std::string field_name;
213216
};
@@ -216,7 +219,10 @@ struct StoreObjectFieldInstruction : InstructionBase {
216219
TORQUE_INSTRUCTION_BOILERPLATE()
217220
StoreObjectFieldInstruction(const ClassType* class_type,
218221
std::string field_name)
219-
: class_type(class_type), field_name(std::move(field_name)) {}
222+
: class_type(class_type) {
223+
// The normal way to write this triggers a bug in Clang on Windows.
224+
this->field_name = std::move(field_name);
225+
}
220226
const ClassType* class_type;
221227
std::string field_name;
222228
};
@@ -389,8 +395,10 @@ struct ReturnInstruction : InstructionBase {
389395

390396
struct PrintConstantStringInstruction : InstructionBase {
391397
TORQUE_INSTRUCTION_BOILERPLATE()
392-
explicit PrintConstantStringInstruction(std::string message)
393-
: message(std::move(message)) {}
398+
explicit PrintConstantStringInstruction(std::string message) {
399+
// The normal way to write this triggers a bug in Clang on Windows.
400+
this->message = std::move(message);
401+
}
394402

395403
std::string message;
396404
};
@@ -399,8 +407,10 @@ struct AbortInstruction : InstructionBase {
399407
TORQUE_INSTRUCTION_BOILERPLATE()
400408
enum class Kind { kDebugBreak, kUnreachable, kAssertionFailure };
401409
bool IsBlockTerminator() const override { return kind != Kind::kDebugBreak; }
402-
explicit AbortInstruction(Kind kind, std::string message = "")
403-
: kind(kind), message(std::move(message)) {}
410+
explicit AbortInstruction(Kind kind, std::string message = "") : kind(kind) {
411+
// The normal way to write this triggers a bug in Clang on Windows.
412+
this->message = std::move(message);
413+
}
404414

405415
Kind kind;
406416
std::string message;

0 commit comments

Comments
 (0)