summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2013-07-16 14:04:08 +0000
committerReid Kleckner <reid@kleckner.net>2013-07-16 14:04:08 +0000
commite7ff00846244c73836d8ef2fb7f6ffed3c00b60e (patch)
tree70646943a2d7fd3a10314e652f929bac7c165880
parentf0d0a1681a96f8c896d2ce3b1415c5d567cf5bb1 (diff)
downloadllvm-e7ff00846244c73836d8ef2fb7f6ffed3c00b60e.tar.gz
llvm-e7ff00846244c73836d8ef2fb7f6ffed3c00b60e.tar.bz2
llvm-e7ff00846244c73836d8ef2fb7f6ffed3c00b60e.tar.xz
[Support] Fix some warnings when self-hosting clang on Windows
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186413 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Support/ErrorHandling.cpp5
-rw-r--r--lib/Support/Windows/Path.inc2
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Support/ErrorHandling.cpp b/lib/Support/ErrorHandling.cpp
index f4b591e777..9425445a85 100644
--- a/lib/Support/ErrorHandling.cpp
+++ b/lib/Support/ErrorHandling.cpp
@@ -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
}
diff --git a/lib/Support/Windows/Path.inc b/lib/Support/Windows/Path.inc
index 5787636aa6..5a62a609b8 100644
--- a/lib/Support/Windows/Path.inc
+++ b/lib/Support/Windows/Path.inc
@@ -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,