1e2d4bf6cScgyurgyik //===-- Implementation of isupper------------------------------------------===//
2e2d4bf6cScgyurgyik //
3e2d4bf6cScgyurgyik // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4e2d4bf6cScgyurgyik // See https://llvm.org/LICENSE.txt for license information.
5e2d4bf6cScgyurgyik // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6e2d4bf6cScgyurgyik //
7e2d4bf6cScgyurgyik //===----------------------------------------------------------------------===//
8e2d4bf6cScgyurgyik 
9e2d4bf6cScgyurgyik #include "src/ctype/isupper.h"
10c120edc7SMichael Jones #include "src/__support/ctype_utils.h"
11e2d4bf6cScgyurgyik 
12e2d4bf6cScgyurgyik #include "src/__support/common.h"
13e2d4bf6cScgyurgyik 
14e2d4bf6cScgyurgyik namespace __llvm_libc {
15e2d4bf6cScgyurgyik 
16e2d4bf6cScgyurgyik // TODO: Currently restricted to default locale.
17e2d4bf6cScgyurgyik // These should be extended using locale information.
18*9cdd4ea0SAlfonso Gregory LLVM_LIBC_FUNCTION(int, isupper, (int c)) {
19*9cdd4ea0SAlfonso Gregory   return static_cast<int>(internal::isupper(static_cast<unsigned>(c)));
20*9cdd4ea0SAlfonso Gregory }
21e2d4bf6cScgyurgyik 
22e2d4bf6cScgyurgyik } // namespace __llvm_libc
23