Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions libc/src/__support/integer_operations.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion libc/src/assert/__assert_fail.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ namespace __llvm_libc {
// will call fprintf(stderr, ...).
static void writeToStderr(const char *s) {
size_t length = 0;
for (const char *curr = s; *curr; ++curr, ++length);
for (const char *curr = s; *curr; ++curr)
++length;
__llvm_libc::syscall(SYS_write, 2, s, length);
}

Expand Down
12 changes: 6 additions & 6 deletions libc/src/ctype/ctype_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ namespace internal {
// 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
Expand Down
4 changes: 3 additions & 1 deletion libc/src/ctype/isalnum.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ namespace __llvm_libc {

// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isalnum, (int c)) { return internal::isalnum(c); }
LLVM_LIBC_FUNCTION(int, isalnum, (int c)) {
return internal::isalnum(static_cast<unsigned>(c));
}

} // namespace __llvm_libc
4 changes: 3 additions & 1 deletion libc/src/ctype/isalpha.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ namespace __llvm_libc {

// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isalpha, (int c)) { return internal::isalpha(c); }
LLVM_LIBC_FUNCTION(int, isalpha, (int c)) {
return internal::isalpha(static_cast<unsigned>(c));
}

} // namespace __llvm_libc
4 changes: 3 additions & 1 deletion libc/src/ctype/isascii.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

namespace __llvm_libc {

LLVM_LIBC_FUNCTION(int, isascii, (int c)) { return (c & (~0x7f)) == 0; }
LLVM_LIBC_FUNCTION(int, isascii, (int c)) {
return static_cast<unsigned>(c) <= 0x7f;
}

} // namespace __llvm_libc
3 changes: 1 addition & 2 deletions libc/src/ctype/isblank.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isblank, (int c)) {
const unsigned char ch = static_cast<char>(c);
return ch == ' ' || ch == '\t';
return c == ' ' || c == '\t';
}

} // namespace __llvm_libc
2 changes: 1 addition & 1 deletion libc/src/ctype/iscntrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, iscntrl, (int c)) {
const unsigned char ch = static_cast<char>(c);
const unsigned ch = static_cast<unsigned>(c);
return ch < 0x20 || ch == 0x7f;
}

Expand Down
4 changes: 3 additions & 1 deletion libc/src/ctype/isdigit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ namespace __llvm_libc {

// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isdigit, (int c)) { return internal::isdigit(c); }
LLVM_LIBC_FUNCTION(int, isdigit, (int c)) {
return internal::isdigit(static_cast<unsigned>(c));
}

} // namespace __llvm_libc
4 changes: 3 additions & 1 deletion libc/src/ctype/isgraph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ namespace __llvm_libc {

// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isgraph, (int c)) { return internal::isgraph(c); }
LLVM_LIBC_FUNCTION(int, isgraph, (int c)) {
return internal::isgraph(static_cast<unsigned>(c));
}

} // namespace __llvm_libc
4 changes: 3 additions & 1 deletion libc/src/ctype/islower.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ namespace __llvm_libc {

// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, islower, (int c)) { return internal::islower(c); }
LLVM_LIBC_FUNCTION(int, islower, (int c)) {
return internal::islower(static_cast<unsigned>(c));
}

} // namespace __llvm_libc
2 changes: 1 addition & 1 deletion libc/src/ctype/isprint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isprint, (int c)) {
const unsigned ch = c;
const unsigned ch = static_cast<unsigned>(c);
return (ch - ' ') < 95;
}

Expand Down
3 changes: 2 additions & 1 deletion libc/src/ctype/ispunct.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, ispunct, (int c)) {
return !internal::isalnum(c) && internal::isgraph(c);
const unsigned ch = static_cast<unsigned>(c);
return !internal::isalnum(ch) && internal::isgraph(ch);
}

} // namespace __llvm_libc
2 changes: 1 addition & 1 deletion libc/src/ctype/isspace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isspace, (int c)) {
const unsigned ch = c;
const unsigned ch = static_cast<unsigned>(c);
return ch == ' ' || (ch - '\t') < 5;
}

Expand Down
4 changes: 3 additions & 1 deletion libc/src/ctype/isupper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ namespace __llvm_libc {

// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isupper, (int c)) { return internal::isupper(c); }
LLVM_LIBC_FUNCTION(int, isupper, (int c)) {
return internal::isupper(static_cast<unsigned>(c));
}

} // namespace __llvm_libc
2 changes: 1 addition & 1 deletion libc/src/ctype/isxdigit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, isxdigit, (int c)) {
const unsigned ch = c;
const unsigned ch = static_cast<unsigned>(c);
return internal::isdigit(ch) || (ch | 32) - 'a' < 6;
}

Expand Down
2 changes: 1 addition & 1 deletion libc/src/ctype/tolower.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, tolower, (int c)) {
if (internal::isupper(c))
if (internal::isupper(static_cast<unsigned>(c)))
return c + 'a' - 'A';
return c;
}
Expand Down
2 changes: 1 addition & 1 deletion libc/src/ctype/toupper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace __llvm_libc {
// TODO: Currently restricted to default locale.
// These should be extended using locale information.
LLVM_LIBC_FUNCTION(int, toupper, (int c)) {
if (internal::islower(c))
if (internal::islower(static_cast<unsigned>(c)))
return c + 'A' - 'a';
return c;
}
Expand Down
6 changes: 3 additions & 3 deletions libc/utils/FPUtil/x86_64/FEnvImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static constexpr uint16_t MXCSRExceptionContolBitPoistion = 7;

// Exception flags are individual bits in the corresponding registers.
// So, we just OR the bit values to get the full set of exceptions.
static inline uint16_t getStatusValueForExcept(int excepts) {
static constexpr uint16_t getStatusValueForExcept(int excepts) {
// We will make use of the fact that exception control bits are single
// bit flags in the control registers.
return (excepts & FE_INVALID ? ExceptionFlags::Invalid : 0) |
Expand All @@ -74,7 +74,7 @@ static inline uint16_t getStatusValueForExcept(int excepts) {
(excepts & FE_INEXACT ? ExceptionFlags::Inexact : 0);
}

static inline int exceptionStatusToMacro(uint16_t status) {
static constexpr int exceptionStatusToMacro(uint16_t status) {
return (status & ExceptionFlags::Invalid ? FE_INVALID : 0) |
#ifdef __FE_DENORM
(status & ExceptionFlags::Denormal ? __FE_DENORM : 0) |
Expand Down Expand Up @@ -251,7 +251,7 @@ static inline int raiseExcept(int excepts) {
// ensure that the writes by the exception handler are maintained
// when raising the next exception.

auto raiseHelper = [](uint16_t singleExceptFlag) {
auto raiseHelper = [](uint16_t singleExceptFlag) {
internal::X87StateDescriptor state;
internal::getX87StateDescriptor(state);
state.StatusWord |= singleExceptFlag;
Expand Down
2 changes: 1 addition & 1 deletion libc/utils/HdrGen/Command.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class Command {
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);
}
Expand Down
4 changes: 3 additions & 1 deletion llvm/include/llvm/Support/Compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,10 @@
#define LLVM_ATTRIBUTE_NORETURN __attribute__((noreturn))
#elif defined(_MSC_VER)
#define LLVM_ATTRIBUTE_NORETURN __declspec(noreturn)
#elif __cplusplus
#define LLVM_ATTRIBUTE_NORETURN [[noreturn]]
#else
#define LLVM_ATTRIBUTE_NORETURN
#define LLVM_ATTRIBUTE_NORETURN _Noreturn
#endif

#if __has_attribute(returns_nonnull) || LLVM_GNUC_PREREQ(4, 9, 0)
Expand Down
10 changes: 4 additions & 6 deletions llvm/lib/TableGen/Error.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
//
//===----------------------------------------------------------------------===//

#include "llvm/TableGen/Error.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Signals.h"
#include "llvm/Support/WithColor.h"
#include "llvm/TableGen/Error.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Record.h"
#include <cstdlib>

Expand All @@ -42,9 +42,7 @@ static void PrintMessage(ArrayRef<SMLoc> Loc, SourceMgr::DiagKind Kind,

// Functions to print notes.

void PrintNote(const Twine &Msg) {
WithColor::note() << Msg << "\n";
}
void PrintNote(const Twine &Msg) { WithColor::note() << Msg << "\n"; }

void PrintNote(ArrayRef<SMLoc> NoteLoc, const Twine &Msg) {
PrintMessage(NoteLoc, SourceMgr::DK_Note, Msg);
Expand Down Expand Up @@ -158,7 +156,7 @@ void PrintFatalError(const RecordVal *RecVal, const Twine &Msg) {
// If not, print a nonfatal error along with the message.
void CheckAssert(SMLoc Loc, Init *Condition, Init *Message) {
auto *CondValue = dyn_cast_or_null<IntInit>(
Condition->convertInitializerTo(IntRecTy::get()));
Condition->convertInitializerTo(IntRecTy::get()));
if (!CondValue)
PrintError(Loc, "assert condition must of type bit, bits, or int.");
else if (!CondValue->getValue()) {
Expand Down