1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib/Support
Alexandre Ganea cab08adb50 [Support] Fix 'keeping' temporary files on Windows 7
As reported here: https://bugs.llvm.org/show_bug.cgi?id=48378#c0
and here: https://github.com/rust-lang/rust/issues/81051
since 79657e2339b58bc01fe1b85a448bb073d57d90bb, some programs such as llvm-ar
don't work properly on Windows 7.

The issue is shown in the snippet by Oleksandr Prodan:
https://pastebin.com/v51m3uBU

In essence, once the 'DeleteFile' flag has been set on FILE_DISPOSITION_INFO,
the file path can't be queried anymore with GetFinalPathNameByHandleW. This
however works on Windows 10, GetFinalPathNameByHandleW would return sucessfully.

To workaround the issue, we simply reset the 'DeleteFile' flag before even
checking if we're dealing with a network file.

Tested with `llvm-ar r empty.a a.obj` ran on a network mount. At the moment, we
cannot specifically add a test coverage for this, since it requres mounting a
network drive.
2021-03-24 12:47:08 -04:00
..
Unix [libsupport] Silence a bogus valgrind warning. 2021-03-18 09:09:20 -07:00
Windows [Support] Fix 'keeping' temporary files on Windows 7 2021-03-24 12:47:08 -04:00
AArch64TargetParser.cpp [AArch64] Add +flagm archictecture option, allowing the v8.4a flag modification extension. 2021-01-08 13:21:12 +00:00
ABIBreak.cpp
Allocator.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
AMDGPUMetadata.cpp [AMDGPU] HSAMD::fromString - replace std::string arg with StringRef. NFCI. 2021-01-26 16:09:39 +00:00
APFixedPoint.cpp [Fixed Point] Add floating point methods to APFixedPoint. 2020-10-09 10:27:42 +02:00
APFloat.cpp Revert rGce587529ad8b5 - "[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI." 2021-02-01 16:15:23 +00:00
APInt.cpp [APInt] Add the truncOrSelf resizing operator to APInt 2020-11-23 11:27:30 +00:00
APSInt.cpp ADT: Fix that APSInt's string constructor claims it requires 5 bits to store a zero 2020-06-10 16:36:33 +02:00
ARMAttributeParser.cpp [ARMAttributeParser] Correctly parse and print Tag_THUMB_ISA_use=3 2020-11-28 12:28:22 -08:00
ARMBuildAttrs.cpp
ARMTargetParser.cpp [ARM] Adding v8.7-A command-line support for the ARM target 2020-12-17 13:48:54 +00:00
ARMWinEH.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
Atomic.cpp
BinaryStreamError.cpp
BinaryStreamReader.cpp
BinaryStreamRef.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
BinaryStreamWriter.cpp
BlockFrequency.cpp
BranchProbability.cpp Revert "[BranchProbability] move options for 'likely' and 'unlikely'" 2021-03-21 22:50:21 +03:00
BuryPointer.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
CachePruning.cpp [ThinLTO] Also prune Thin-* files from the ThinLTO cache 2021-01-19 14:43:49 +01:00
Chrono.cpp
circular_raw_ostream.cpp
CMakeLists.txt [llvm/Support] Add SHA256 implementation 2021-02-14 19:01:01 +00:00
CodeGenCoverage.cpp
COM.cpp
CommandLine.cpp [Support] Indent multi-line descr of enum cli options. 2021-02-04 10:14:44 +01:00
Compression.cpp [CMake] Simplify CMake handling for zlib 2020-08-11 20:22:11 -07:00
ConvertUTF.cpp
ConvertUTFWrapper.cpp Reland "[Support][unittests] Enforce alignment in ConvertUTFTest" 2020-10-14 12:02:27 +02:00
COPYRIGHT.regex
CrashRecoveryContext.cpp Revert "Make gCrashRecoveryEnabled thread local" 2021-02-10 13:36:56 -08:00
CRC.cpp [CMake] Simplify CMake handling for zlib 2020-08-11 20:22:11 -07:00
DAGDeltaAlgorithm.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
DataExtractor.cpp [Support] Make DataExtractor error messages more clear 2020-06-02 12:57:51 +02:00
Debug.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
DebugCounter.cpp [llvm] Use llvm::sort (NFC) 2021-01-17 10:39:45 -08:00
DeltaAlgorithm.cpp
DJB.cpp
DynamicLibrary.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
ELFAttributeParser.cpp [llvm-readobj, libSupport] - Refine the implementation of the code that dumps build attributes. 2020-12-02 13:51:32 +03:00
ELFAttributes.cpp
Errno.cpp
Error.cpp [Support] Add a C-API function to create a StringError instance. 2020-10-19 01:59:04 -07:00
ErrorHandling.cpp Remove -Wunused-result and -Wpedantic warnings from GCC. NFC. 2020-12-02 10:53:59 -05:00
ExtensibleRTTI.cpp
FileCollector.cpp [FileCollector] Fix that the file system case-sensitivity check was inverted 2021-02-16 20:21:32 +01:00
FileOutputBuffer.cpp [llvm-objcopy][NFC] Move ownership keeping code into restoreStatOnFile(). 2021-03-17 17:27:00 +03:00
FileUtilities.cpp std::isspace -> llvm::isSpace (where locale should be ignored) 2020-05-02 15:36:04 +02:00
FoldingSet.cpp [Support] FoldingSetNodeID::AddString(): reserve memory 2020-06-08 23:26:54 +03:00
FormattedStream.cpp [Support] Fix signed/unsigned comparison warning 2020-07-08 11:26:10 +01:00
FormatVariadic.cpp [NFC] Simplify splitLiteralAndReplacement function 2020-07-22 15:32:32 -07:00
GlobPattern.cpp Revert rGca18ce1a00cd8b7cb7ce0e130440f5ae1ffe86ee "GlobPattern.h - remove unnecessary BitVector.h/StringRef.h includes. NFC" 2020-05-17 18:51:21 +01:00
GraphWriter.cpp Fix SelectionDAG Graph Printing on Windows 2020-05-05 17:01:05 -07:00
Hashing.cpp
Host.cpp [llvm] Fix thinko in getVendorSignature(), where expected values of ECX and EDX were flipped for the AMD case. 2021-03-10 21:39:19 -05:00
InitLLVM.cpp [InitLLVM] Ensure SIGPIPE handler installed before sigaction() 2021-01-08 15:13:04 -08:00
InstructionCost.cpp [Support] Introduce a new InstructionCost class 2020-12-11 08:12:54 +00:00
IntEqClasses.cpp
IntervalMap.cpp
ItaniumManglingCanonicalizer.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
JSON.cpp ADT: Stop peeking inside AlignedCharArrayUnion, NFC 2020-12-04 11:07:42 -08:00
KnownBits.cpp [KnownBits] Add knownbits analysis for mulhs/mulu 'multiply high' instructions 2021-03-19 08:56:06 +00:00
LEB128.cpp
LineIterator.cpp Support: Allow use of MemoryBufferRef with line_iterator 2020-10-13 16:43:49 -04:00
Locale.cpp
LockFileManager.cpp
LowLevelType.cpp [SVE] Make ElementCount and TypeSize use a new PolySize class 2020-10-12 08:23:38 +01:00
ManagedStatic.cpp Fix for memory leak reported by Valgrind 2021-03-16 11:01:31 -07:00
MathExtras.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
MD5.cpp
MemAlloc.cpp Replicate attributes on definition to make MSVC less noisy 2020-04-25 02:02:00 +02:00
Memory.cpp
MemoryBuffer.cpp [SystemZ][z/OS] Distinguish between text and binary files on z/OS 2021-03-19 08:09:57 -04:00
MemoryBufferRef.cpp Support: Add operator== for MemoryBufferRef and split out MemoryBufferRef.h 2020-10-13 16:42:24 -04:00
NativeFormatting.cpp NativeFormatting.h - reduce raw_ostream.h include to forward declaration. NFC. 2020-05-09 13:32:14 +01:00
OptimizedStructLayout.cpp
Optional.cpp
Parallel.cpp [Support] Define llvm::parallel::strategy for -DLLVM_ENABLE_THREADS=off builds after D76885 2020-07-08 10:51:20 -07:00
Path.cpp [SystemZ][z/OS] Distinguish between text and binary files on z/OS 2021-03-19 08:09:57 -04:00
PluginLoader.cpp
PrettyStackTrace.cpp [Support] Add some missing namespace closure comments. NFCI. 2021-01-28 11:21:35 +00:00
Process.cpp [LLD] Fix include following 45b8a741fbbf271e0fb71294cb7cdce3ad4b9bf3 2020-11-12 08:32:16 -05:00
Program.cpp Re-land [Support] On Windows, take the affinity mask into account 2021-01-14 17:03:22 -05:00
RandomNumberGenerator.cpp
raw_os_ostream.cpp
raw_ostream.cpp [llvm-objcopy][Support] move writeToOutput helper function to Support. 2021-03-22 15:41:10 +03:00
regcomp.c
regengine.inc
regerror.c
regex2.h
regex_impl.h
Regex.cpp [ASTMatchers] Enhanced support for matchers taking Regex arguments 2020-07-02 14:52:25 +01:00
regexec.c
regfree.c
regstrlcpy.c
regutils.h
RISCVAttributeParser.cpp
RISCVAttributes.cpp
RWMutex.cpp
ScaledNumber.cpp
ScopedPrinter.cpp [Support] Drop unnecessary const from return types (NFC) 2021-02-03 20:41:16 -08:00
SHA1.cpp [llvm] Use static_assert instead of assert (NFC) 2021-01-22 23:25:05 -08:00
SHA256.cpp [Support] Use static_assert instead of assert (NFC) 2021-02-18 22:46:41 -08:00
Signals.cpp Add support for setting the path to llvm-symbolizer through an environment variable 2020-09-24 19:14:04 +00:00
Signposts.cpp [llvm] Check availability for os_signpost 2021-02-24 16:27:31 -08:00
SmallPtrSet.cpp
SmallVector.cpp ADT: Fix reference invalidation in SmallVector::emplace_back and assign(N,V) 2021-01-21 12:11:41 -08:00
SourceMgr.cpp [llvm] Use llvm::any_of (NFC) 2021-01-04 11:42:47 -08:00
SpecialCaseList.cpp As part of using inclusive language within the llvm project, 2020-06-20 00:24:57 -07:00
Statistic.cpp Fix "Statistics are disabled" 2020-06-03 16:10:09 -07:00
StringExtras.cpp
StringMap.cpp Revert "Use the default seed value for djb hash for StringMap" 2021-03-01 14:00:39 +01:00
StringRef.cpp [StringRef] Use some trickery to avoid initializing the std::string returned by upper()/lower() 2020-05-21 16:03:09 +02:00
StringSaver.cpp Temporarily Revert "[Support] Make UniqueStringSaver wrap a StringSet" 2020-05-14 19:18:20 -07:00
SuffixTree.cpp [SuffixTree][MachOpt] Factoring out Suffix Tree and adding Unit Tests 2020-06-08 12:44:18 -07:00
SymbolRemappingReader.cpp
SystemUtils.cpp [opt] Remove obsolete --quiet option 2020-07-08 13:21:20 -07:00
TargetParser.cpp [AMDGPU] gfx90a support 2021-02-17 16:01:32 -08:00
TargetRegistry.cpp
TarWriter.cpp Reland D78945 TarWriter: Only use 137 of the 155 prefix bytes. 2020-04-27 10:37:23 -07:00
Threading.cpp [llvm-cov] Prevent llvm-cov from using too many threads 2020-04-24 15:28:25 -04:00
ThreadLocal.cpp
ThreadPool.cpp [Support] Simplify and optimize ThreadPool 2020-04-28 12:20:42 -07:00
TimeProfiler.cpp [TimeProfiler] Emit clock synchronization point 2020-04-23 01:09:31 +03:00
Timer.cpp [Timer] On macOS count number of executed instructions 2021-02-11 17:26:37 +01:00
ToolOutputFile.cpp [SystemZ][z/OS] Distinguish between text and binary files on z/OS 2021-03-19 08:09:57 -04:00
TrigramIndex.cpp [Support] TrigramIndex::insert - pass std::String argument by const reference. NFCI. 2021-01-23 11:04:00 +00:00
Triple.cpp [M68k](3/8) Skeleton and target description files 2021-03-08 12:30:57 -08:00
Twine.cpp
Unicode.cpp Speedup some unicode rendering 2020-12-03 20:11:11 +01:00
UnicodeCaseFold.cpp
Valgrind.cpp
VersionTuple.cpp VersionTuple.h - reduce includes to forward declarations. NFC. 2020-06-08 11:08:44 +01:00
VirtualFileSystem.cpp [VFS] Add support to RedirectingFileSystem for mapping a virtual directory to one in the external FS. 2021-02-02 14:56:17 +10:00
Watchdog.cpp
WithColor.cpp WithColor.h - reduce CommandLine.h include to forward declaration. NFC. 2020-06-23 17:07:53 +01:00
X86TargetParser.cpp [X86] Refine "Support -march=alderlake" 2021-03-08 13:17:18 +08:00
xxhash.cpp
YAMLParser.cpp [llvm] Use isAlpha/isAlnum (NFC) 2021-01-22 23:25:03 -08:00
YAMLTraits.cpp [YAML I/O] Fix bug in emission of empty sequence 2021-01-25 13:35:36 -08:00
Z3Solver.cpp [llvm][Z3][NFC] Improve mkBitvector performance 2020-06-30 12:26:50 +02:00