Use _LIBCPP_UNREACHABLE to convince GCC that non-void functions actually always return

llvm-svn: 337519
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 41cdcbeedd761c6b9d349ce868e683cfcfef280f
diff --git a/include/experimental/filesystem b/include/experimental/filesystem
index be73bf1..6481aa6 100644
--- a/include/experimental/filesystem
+++ b/include/experimental/filesystem
@@ -232,6 +232,7 @@
 
 #include <experimental/__config>
 #include <cstddef>
+#include <cstdlib>
 #include <chrono>
 #include <iterator>
 #include <iosfwd>
@@ -2250,6 +2251,7 @@
           __ec->clear();
         return __data_.__type_;
       }
+      _LIBCPP_UNREACHABLE();
     }
 
     _LIBCPP_INLINE_VISIBILITY
@@ -2270,6 +2272,7 @@
         return __data_.__type_;
       }
       }
+      _LIBCPP_UNREACHABLE();
     }
 
     _LIBCPP_INLINE_VISIBILITY
@@ -2284,6 +2287,7 @@
       case _RefreshSymlink:
         return file_status(__get_ft(__ec), __data_.__non_sym_perms_);
       }
+      _LIBCPP_UNREACHABLE();
     }
 
     _LIBCPP_INLINE_VISIBILITY
@@ -2299,6 +2303,7 @@
       case _RefreshSymlinkUnresolved:
         return file_status(__get_sym_ft(__ec), __data_.__sym_perms_);
       }
+      _LIBCPP_UNREACHABLE();
     }
 
 
@@ -2324,6 +2329,7 @@
         return __data_.__size_;
       }
       }
+      _LIBCPP_UNREACHABLE();
     }
 
     _LIBCPP_INLINE_VISIBILITY
@@ -2342,6 +2348,7 @@
         return __data_.__nlink_;
       }
       }
+      _LIBCPP_UNREACHABLE();
     }
 
     _LIBCPP_INLINE_VISIBILITY
@@ -2364,6 +2371,7 @@
         return __data_.__write_time_;
       }
       }
+      _LIBCPP_UNREACHABLE();
     }
 private:
     _Path __p_;