
The fix changes the way the validation script determines the qualified name of a declaration. Inline namespaces without a reserved name are now always part of the name. The Clang code only does this when the names are ambigious. This method is often used for the operator""foo for UDLs. Adjusted the newly flagged issue and removed a work-around in the test code that is no longer required. Fixes https://github.com/llvm/llvm-project/issues/72427
77 lines
1.9 KiB
C++
77 lines
1.9 KiB
C++
// -*- 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
export namespace std {
|
|
// [char.traits], character traits
|
|
using std::char_traits;
|
|
|
|
// [basic.string], basic_string
|
|
using std::basic_string;
|
|
|
|
using std::operator+;
|
|
using std::operator==;
|
|
using std::operator<=>;
|
|
|
|
// [string.special], swap
|
|
using std::swap;
|
|
|
|
// [string.io], inserters and extractors
|
|
using std::operator>>;
|
|
using std::operator<<;
|
|
using std::getline;
|
|
|
|
// [string.erasure], erasure
|
|
using std::erase;
|
|
using std::erase_if;
|
|
|
|
// basic_string typedef-names
|
|
using std::string;
|
|
using std::u16string;
|
|
using std::u32string;
|
|
using std::u8string;
|
|
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
|
|
using std::wstring;
|
|
#endif
|
|
|
|
// [string.conversions], numeric conversions
|
|
using std::stod;
|
|
using std::stof;
|
|
using std::stoi;
|
|
using std::stol;
|
|
using std::stold;
|
|
using std::stoll;
|
|
using std::stoul;
|
|
using std::stoull;
|
|
using std::to_string;
|
|
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
|
|
using std::to_wstring;
|
|
#endif
|
|
|
|
namespace pmr {
|
|
using std::pmr::basic_string;
|
|
using std::pmr::string;
|
|
using std::pmr::u16string;
|
|
using std::pmr::u32string;
|
|
using std::pmr::u8string;
|
|
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
|
|
using std::pmr::wstring;
|
|
#endif
|
|
} // namespace pmr
|
|
|
|
// [basic.string.hash], hash support
|
|
using std::hash;
|
|
|
|
inline namespace literals {
|
|
inline namespace string_literals {
|
|
// [basic.string.literals], suffix for basic_string literals
|
|
using std::literals::string_literals::operator""s;
|
|
} // namespace string_literals
|
|
} // namespace literals
|
|
} // namespace std
|