[LIBC][NFC] Rename errno and assert files to match other files with functions

Rename the files containing the `__errno_location` function
to `__errno_location.h/cpp` to match the other files and move
the `llvmlibc_errno` macro to its own file.

Split assert.h into `__assert_fail.h` (contains the function prototype)
and assert.h (contains the assert macro).

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D90653

GitOrigin-RevId: 5080840d280d4adaab93a88fa6033849f0589737
diff --git a/src/assert/CMakeLists.txt b/src/assert/CMakeLists.txt
index 69c54b5..36123cc 100644
--- a/src/assert/CMakeLists.txt
+++ b/src/assert/CMakeLists.txt
@@ -3,6 +3,7 @@
   SRCS
     __assert_fail.cpp
   HDRS
+    __assert_fail.h
     assert.h
   DEPENDS
     # These two dependencies are temporary and should be replaced by fprintf
diff --git a/src/assert/__assert_fail.cpp b/src/assert/__assert_fail.cpp
index 8b75a3b..114a368 100644
--- a/src/assert/__assert_fail.cpp
+++ b/src/assert/__assert_fail.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "src/assert/assert.h"
+#include "src/assert/__assert_fail.h"
 #include "src/stdlib/abort.h"
 
 // These includes are temporary.
diff --git a/src/assert/__assert_fail.h b/src/assert/__assert_fail.h
new file mode 100644
index 0000000..3ad2400
--- /dev/null
+++ b/src/assert/__assert_fail.h
@@ -0,0 +1,21 @@
+//===-- Internal header for __assert_fail -----------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_ASSERT_ASSERT_FAIL_H
+#define LLVM_LIBC_SRC_ASSERT_ASSERT_FAIL_H
+
+#include <stddef.h>
+
+namespace __llvm_libc {
+
+[[noreturn]] void __assert_fail(const char *assertion, const char *file,
+                                unsigned line, const char *function);
+
+} // namespace __llvm_libc
+
+#endif // LLVM_LIBC_SRC_ASSERT_ASSERT_FAIL_H
diff --git a/src/assert/assert.h b/src/assert/assert.h
index 4c9a15d..46cfe3b 100644
--- a/src/assert/assert.h
+++ b/src/assert/assert.h
@@ -6,19 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_SRC_ASSERT_ASSERT_H
-#define LLVM_LIBC_SRC_ASSERT_ASSERT_H
+#include "src/assert/__assert_fail.h"
 
-#include <stddef.h>
-
-namespace __llvm_libc {
-
-[[noreturn]] void __assert_fail(const char *assertion, const char *file, unsigned line,
-                  const char *function);
-
-} // namespace __llvm_libc
-
-#endif // LLVM_LIBC_SRC_ASSERT_ASSERT_H
+// There is no header guard here since assert is intended to be able to be
+// able to be included multiple times with NDEBUG defined differently, causing
+// different behavior.
 
 #undef assert
 
diff --git a/src/errno/CMakeLists.txt b/src/errno/CMakeLists.txt
index 9f24490..e13aa1d 100644
--- a/src/errno/CMakeLists.txt
+++ b/src/errno/CMakeLists.txt
@@ -1,7 +1,8 @@
 add_entrypoint_object(
   __errno_location
   SRCS
-    errno_location.cpp
+    __errno_location.cpp
   HDRS
+    __errno_location.h
     llvmlibc_errno.h
 )
diff --git a/src/errno/errno_location.cpp b/src/errno/__errno_location.cpp
similarity index 94%
rename from src/errno/errno_location.cpp
rename to src/errno/__errno_location.cpp
index 1d3e2b7..3e7c769 100644
--- a/src/errno/errno_location.cpp
+++ b/src/errno/__errno_location.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "src/errno/llvmlibc_errno.h"
+#include "src/errno/__errno_location.h"
 
 #include "src/__support/common.h"
 
diff --git a/src/errno/__errno_location.h b/src/errno/__errno_location.h
new file mode 100644
index 0000000..20be3fc
--- /dev/null
+++ b/src/errno/__errno_location.h
@@ -0,0 +1,18 @@
+//===-- Implementation header for __errno_location --------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC_ERRNO_ERRNO_LOCATION_H
+#define LLVM_LIBC_SRC_ERRNO_ERRNO_LOCATION_H
+
+namespace __llvm_libc {
+
+int *__errno_location();
+
+} // namespace __llvm_libc
+
+#endif // LLVM_LIBC_SRC_ERRNO_ERRNO_LOCATION_H
diff --git a/src/errno/llvmlibc_errno.h b/src/errno/llvmlibc_errno.h
index 8702056..d1032a4 100644
--- a/src/errno/llvmlibc_errno.h
+++ b/src/errno/llvmlibc_errno.h
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/errno/__errno_location.h"
+
 #ifndef LLVM_LIBC_SRC_ERRNO_LLVMLIBC_ERRNO_H
 #define LLVM_LIBC_SRC_ERRNO_LLVMLIBC_ERRNO_H
 
@@ -13,10 +15,4 @@
 // public header.
 #define llvmlibc_errno (*__llvm_libc::__errno_location())
 
-namespace __llvm_libc {
-
-int *__errno_location();
-
-} // namespace __llvm_libc
-
 #endif // LLVM_LIBC_SRC_ERRNO_LLVMLIBC_ERRNO_H