]> granicus.if.org Git - clang/commitdiff
Fix for PR5568.
authorEdward O'Callaghan <eocallaghan@auroraux.org>
Tue, 24 Nov 2009 15:23:21 +0000 (15:23 +0000)
committerEdward O'Callaghan <eocallaghan@auroraux.org>
Tue, 24 Nov 2009 15:23:21 +0000 (15:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89766 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Compilation.cpp

index ffa627ad2810863d2cb20b624a693414ceaf31cb..81b2cc5f372ed3306d65e3c874fefc0610528558 100644 (file)
@@ -85,9 +85,16 @@ bool Compilation::CleanupFileList(const ArgStringList &Files,
 
   for (ArgStringList::const_iterator
          it = Files.begin(), ie = Files.end(); it != ie; ++it) {
+
     llvm::sys::Path P(*it);
     std::string Error;
 
+    if (P.isSpecialFile()) {
+      // If we have a special file in our list, i.e. /dev/null
+      //  then don't call eraseFromDisk() and just continue.
+      continue;
+    }
+
     if (P.eraseFromDisk(false, &Error)) {
       // Failure is only failure if the file doesn't exist. There is a
       // race condition here due to the limited interface of