| // { dg-do compile { target *-*-linux* *-*-gnu* } } |
| // { dg-add-options no_pch } |
| |
| // Copyright (C) 2011-2023 Free Software Foundation, Inc. |
| // |
| // This file is part of the GNU ISO C++ Library. This library is free |
| // software; you can redistribute it and/or modify it under the |
| // terms of the GNU General Public License as published by the |
| // Free Software Foundation; either version 3, or (at your option) |
| // any later version. |
| |
| // This library is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| // GNU General Public License for more details. |
| |
| // You should have received a copy of the GNU General Public License along |
| // with this library; see the file COPYING3. If not see |
| // <http://www.gnu.org/licenses/>. |
| |
| // libstdc++/49745 |
| // error: 'int truncate' redeclared as different kind of symbol |
| |
| // This tests that no libstdc++ headers include <unistd.h>. |
| // However, as discussed in PR libstdc++/100117 we cannot guarantee that |
| // no libc headers include it indirectly, so only include the C++ headers. |
| // That means we can't use <bits/stdc++.h> because that includes <cstdio> etc. |
| // so we list the C++ headers explicitly here. This list is unfortunately |
| // doomed to get out of date as new headers are added to the library. |
| |
| #include <algorithm> |
| #include <bitset> |
| #include <complex> |
| #include <deque> |
| #include <exception> |
| #include <fstream> |
| #include <functional> |
| #include <iomanip> |
| #include <ios> |
| #include <iosfwd> |
| #include <iostream> |
| #include <istream> |
| #include <iterator> |
| #include <limits> |
| #include <list> |
| #include <locale> |
| #include <map> |
| #include <memory> |
| #include <new> |
| #include <numeric> |
| #include <ostream> |
| #include <queue> |
| #include <set> |
| #include <sstream> |
| #include <stack> |
| #include <stdexcept> |
| #include <streambuf> |
| #include <string> |
| #include <typeinfo> |
| #include <utility> |
| #include <valarray> |
| #include <vector> |
| |
| #if __cplusplus >= 201103L |
| #include <array> |
| #include <atomic> |
| #include <chrono> |
| #include <codecvt> |
| #include <condition_variable> |
| #include <forward_list> |
| #include <future> |
| #include <initializer_list> |
| #include <mutex> |
| #include <random> |
| #include <ratio> |
| #include <regex> |
| #include <scoped_allocator> |
| #include <system_error> |
| #include <thread> |
| #include <tuple> |
| #include <typeindex> |
| #include <type_traits> |
| #include <unordered_map> |
| #include <unordered_set> |
| #endif |
| |
| #if __cplusplus >= 201402L |
| #include <shared_mutex> |
| #endif |
| |
| #if __cplusplus >= 201703L |
| #include <any> |
| #include <charconv> |
| // #include <execution> |
| #include <filesystem> |
| #include <optional> |
| #include <memory_resource> |
| #include <string_view> |
| #include <variant> |
| #endif |
| |
| #if __cplusplus >= 202002L |
| #include <barrier> |
| #include <bit> |
| #include <compare> |
| #include <concepts> |
| #if __cpp_impl_coroutine |
| # include <coroutine> |
| #endif |
| #if __has_include (<format>) |
| # include <format> |
| #endif |
| #include <latch> |
| #include <numbers> |
| #include <ranges> |
| #include <span> |
| #include <stop_token> |
| #include <semaphore> |
| #include <source_location> |
| #include <syncstream> |
| #include <version> |
| #endif |
| |
| #if __cplusplus > 202002L |
| #if __has_include(<spanstream>) |
| # include <spanstream> |
| #endif |
| #if __has_include(<stacktrace>) |
| # include <stacktrace> |
| #endif |
| #endif |
| |
| int truncate = 0; |
| |
| // { dg-xfail-if "PR libstdc++/99995" { c++20 } } |