Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / libcxx / include / clocale
blobe2ace355d7b6489a0093ad8610a4b49eeb873c09
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
10 #ifndef _LIBCPP_CLOCALE
11 #define _LIBCPP_CLOCALE
14     clocale synopsis
16 Macros:
18     LC_ALL
19     LC_COLLATE
20     LC_CTYPE
21     LC_MONETARY
22     LC_NUMERIC
23     LC_TIME
24     NULL
26 namespace std
29 struct lconv;
30 char* setlocale(int category, const char* locale);
31 lconv* localeconv();
33 }  // std
37 #include <__assert> // all public C++ headers provide the assertion handler
38 #include <__config>
40 #include <locale.h>
42 #ifndef _LIBCPP_LOCALE_H
43 #   error <clocale> tried including <locale.h> but didn't find libc++'s <locale.h> header. \
44           This usually means that your header search paths are not configured properly. \
45           The header search paths should contain the C++ Standard Library headers before \
46           any C Standard Library, and you are probably using compiler flags that make that \
47           not be the case.
48 #endif
50 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
51 #  pragma GCC system_header
52 #endif
54 _LIBCPP_BEGIN_NAMESPACE_STD
56 using ::lconv _LIBCPP_USING_IF_EXISTS;
57 using ::setlocale _LIBCPP_USING_IF_EXISTS;
58 using ::localeconv _LIBCPP_USING_IF_EXISTS;
60 _LIBCPP_END_NAMESPACE_STD
62 #endif // _LIBCPP_CLOCALE