[Support] Fix some warnings when self-hosting clang on Windows
authorReid Kleckner <reid@kleckner.net>
Tue, 16 Jul 2013 14:04:08 +0000 (14:04 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 16 Jul 2013 14:04:08 +0000 (14:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186413 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/ErrorHandling.cpp
lib/Support/Windows/Path.inc

index f4b591e777eb1f1cf75bc4296ee4279790751dd3..9425445a853a08552746d375dd0886e92e0e88d9 100644 (file)
@@ -96,4 +96,9 @@ void llvm::llvm_unreachable_internal(const char *msg, const char *file,
     dbgs() << " at " << file << ":" << line;
   dbgs() << "!\n";
   abort();
+#ifdef LLVM_BUILTIN_UNREACHABLE
+  // Windows systems and possibly others don't declare abort() to be noreturn,
+  // so use the unreachable builtin to avoid a Clang self-host warning.
+  LLVM_BUILTIN_UNREACHABLE;
+#endif
 }
index 5787636aa687a2b1ae8a91416b70574dc3c43d3d..5a62a609b830145a5a92ee65d70ae55a64b4cb89 100644 (file)
@@ -756,7 +756,6 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
   case readonly:  flprotect = PAGE_READONLY; break;
   case readwrite: flprotect = PAGE_READWRITE; break;
   case priv:      flprotect = PAGE_WRITECOPY; break;
-  default: llvm_unreachable("invalid mapping mode");
   }
 
   FileMappingHandle = ::CreateFileMapping(FileHandle,
@@ -780,7 +779,6 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
   case readonly:  dwDesiredAccess = FILE_MAP_READ; break;
   case readwrite: dwDesiredAccess = FILE_MAP_WRITE; break;
   case priv:      dwDesiredAccess = FILE_MAP_COPY; break;
-  default: llvm_unreachable("invalid mapping mode");
   }
   Mapping = ::MapViewOfFile(FileMappingHandle,
                             dwDesiredAccess,