[libc][NFC] Add noreturn and constexpr qualifiers where appropriate

These functions make it clear to the compiler and user what the intended
behavior is so llvm can make them go as fast as possible.

Reviewed By: sivachandra

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

GitOrigin-RevId: 640ed21cceb28ddb3a9779fdfa11a4c4d97e29df
diff --git a/src/__support/integer_operations.h b/src/__support/integer_operations.h
index 733fb7e..4c13bb8 100644
--- a/src/__support/integer_operations.h
+++ b/src/__support/integer_operations.h
@@ -14,10 +14,9 @@
 namespace __llvm_libc {
 
 template <typename T>
-static inline cpp::EnableIfType<cpp::IsIntegral<T>::Value, T> integerAbs(T n) {
-  if (n < 0)
-    return -n;
-  return n;
+static constexpr cpp::EnableIfType<cpp::IsIntegral<T>::Value, T>
+integerAbs(T n) {
+  return (n < 0) ? -n : n;
 }
 
 } // namespace __llvm_libc
diff --git a/src/ctype/ctype_utils.h b/src/ctype/ctype_utils.h
index 6238bd3..b845722 100644
--- a/src/ctype/ctype_utils.h
+++ b/src/ctype/ctype_utils.h
@@ -18,17 +18,17 @@
 // of a function call by inlining them.
 // ------------------------------------------------------
 
-static inline int isalpha(unsigned ch) { return (ch | 32) - 'a' < 26; }
+static constexpr int isalpha(unsigned ch) { return (ch | 32) - 'a' < 26; }
 
-static inline int isdigit(unsigned ch) { return (ch - '0') < 10; }
+static constexpr int isdigit(unsigned ch) { return (ch - '0') < 10; }
 
-static inline int isalnum(unsigned ch) { return isalpha(ch) || isdigit(ch); }
+static constexpr int isalnum(unsigned ch) { return isalpha(ch) || isdigit(ch); }
 
-static inline int isgraph(unsigned ch) { return 0x20 < ch && ch < 0x7f; }
+static constexpr int isgraph(unsigned ch) { return 0x20 < ch && ch < 0x7f; }
 
-static inline int islower(unsigned ch) { return (ch - 'a') < 26; }
+static constexpr int islower(unsigned ch) { return (ch - 'a') < 26; }
 
-static inline int isupper(unsigned ch) { return (ch - 'A') < 26; }
+static constexpr int isupper(unsigned ch) { return (ch - 'A') < 26; }
 
 } // namespace internal
 } // namespace __llvm_libc
diff --git a/utils/HdrGen/Command.h b/utils/HdrGen/Command.h
index edc4029..895f472 100644
--- a/utils/HdrGen/Command.h
+++ b/utils/HdrGen/Command.h
@@ -36,7 +36,7 @@
   public:
     ErrorReporter(llvm::SMLoc L, llvm::SourceMgr &SM) : Loc(L), SrcMgr(SM) {}
 
-    void printFatalError(llvm::Twine Msg) const {
+    [[noreturn]] void printFatalError(llvm::Twine Msg) const {
       SrcMgr.PrintMessage(Loc, llvm::SourceMgr::DK_Error, Msg);
       std::exit(1);
     }