1diff --git a/gn/src/gn/rsp_target_writer.cc b/gn/src/gn/rsp_target_writer.cc
2index 6c1c687e99d..097b84b317e 100644
3--- a/src/3rdparty/gn/src/gn/rsp_target_writer.cc
4+++ b/src/3rdparty/gn/src/gn/rsp_target_writer.cc
5@@ -117,8 +117,7 @@ void RspTargetWriter::Run() {
6 PathOutput path_output(settings->build_settings()->build_dir(),
7 settings->build_settings()->root_path_utf8(),
8 ESCAPE_NONE);
9- std::vector<SourceFile> object_files;
10- object_files.reserve(target_->sources().size());
11+ std::set<SourceFile> object_files;
12
13 for (const auto& source : target_->sources()) {
14 const char* tool_type = nullptr;
15@@ -128,7 +127,7 @@ void RspTargetWriter::Run() {
16 other_files.push_back(source);
17 continue; // No output for this source.
18 }
19- object_files.push_back(
20+ object_files.insert(
21 tool_outputs[0].AsSourceFile(settings->build_settings()));
22 }
23 if (target_->config_values().has_precompiled_headers()) {
24@@ -137,7 +136,7 @@ void RspTargetWriter::Run() {
25 if (tool_cxx && tool_cxx->precompiled_header_type() == CTool::PCH_MSVC) {
26 GetPCHOutputFiles(target_, CTool::kCToolCxx, &tool_outputs);
27 if (!tool_outputs.empty())
28- object_files.push_back(
29+ object_files.insert(
30 tool_outputs[0].AsSourceFile(settings->build_settings()));
31 }
32 }