From 3879fcdb8733075cc5283199b89111d81b1f2d78 Mon Sep 17 00:00:00 2001 From: Jamie Schmeiser Date: Thu, 27 May 2021 10:19:13 -0400 Subject: [PATCH] Reuse temporary files for print-changed=diff Summary: Make the file name and descriptors static so that they are reused by print-changed=diff. This avoids errors about being unable to create temporary files when doing the later comparisons in a large compile. Author: Jamie Schmeiser Reviewed By: aeubanks (Arthur Eubanks) Differential Revision: https://reviews.llvm.org/D100116 --- llvm/lib/Passes/StandardInstrumentations.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Passes/StandardInstrumentations.cpp b/llvm/lib/Passes/StandardInstrumentations.cpp index 0410fdbccc0c..b28f4bab39e3 100644 --- a/llvm/lib/Passes/StandardInstrumentations.cpp +++ b/llvm/lib/Passes/StandardInstrumentations.cpp @@ -132,8 +132,8 @@ std::string doSystemDiff(StringRef Before, StringRef After, // Store the 2 bodies into temporary files and call diff on them // to get the body of the node. const unsigned NumFiles = 3; - std::string FileName[NumFiles]; - int FD[NumFiles]{-1, -1, -1}; + static std::string FileName[NumFiles]; + static int FD[NumFiles]{-1, -1, -1}; for (unsigned I = 0; I < NumFiles; ++I) { if (FD[I] == -1) { SmallVector SV;