P0754R2 <version> header
* include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/c++config: Change doxygen comment to suggest <version> instead of <iosfwd>. * include/precompiled/stdc++.h: Include <cwchar> and <cwctype> unconditionally. Add C++17 and C++20 headers. * include/std/version: New header. * testsuite/17_intro/headers/c++2017/all_attributes.cc: New. * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: New. * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: New. * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: New. * testsuite/17_intro/headers/c++2017/operator_names.cc: New. * testsuite/17_intro/headers/c++2017/stdc++.cc: New. * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: New. * testsuite/17_intro/headers/c++2020/all_attributes.cc: New. * testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: New. * testsuite/17_intro/headers/c++2020/all_no_rtti.cc: New. * testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: New. * testsuite/17_intro/headers/c++2020/operator_names.cc: New. * testsuite/17_intro/headers/c++2020/stdc++.cc: New. * testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: New. * testsuite/18_support/headers/version/macros.cc: New. * testsuite/18_support/headers/version/macros.cc: New. From-SVN: r261706
This commit is contained in:
parent
781ff3d80e
commit
410fb7d7b0
@ -1,5 +1,32 @@
|
||||
2018-06-18 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
P0754R2 <version> header
|
||||
* include/Makefile.am: Add new header.
|
||||
* include/Makefile.in: Regenerate.
|
||||
* include/bits/c++config: Change doxygen comment to suggest <version>
|
||||
instead of <iosfwd>.
|
||||
* include/precompiled/stdc++.h: Include <cwchar> and <cwctype>
|
||||
unconditionally. Add C++17 and C++20 headers.
|
||||
* include/std/version: New header.
|
||||
* testsuite/17_intro/headers/c++2017/all_attributes.cc: New.
|
||||
* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: New.
|
||||
* testsuite/17_intro/headers/c++2017/all_no_rtti.cc: New.
|
||||
* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: New.
|
||||
* testsuite/17_intro/headers/c++2017/operator_names.cc: New.
|
||||
* testsuite/17_intro/headers/c++2017/stdc++.cc: New.
|
||||
* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
|
||||
New.
|
||||
* testsuite/17_intro/headers/c++2020/all_attributes.cc: New.
|
||||
* testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: New.
|
||||
* testsuite/17_intro/headers/c++2020/all_no_rtti.cc: New.
|
||||
* testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: New.
|
||||
* testsuite/17_intro/headers/c++2020/operator_names.cc: New.
|
||||
* testsuite/17_intro/headers/c++2020/stdc++.cc: New.
|
||||
* testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc:
|
||||
New.
|
||||
* testsuite/18_support/headers/version/macros.cc: New.
|
||||
* testsuite/18_support/headers/version/macros.cc: New.
|
||||
|
||||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Only check when
|
||||
enable_libstdcxx_filesystem_ts = yes. Check for link, readlink and
|
||||
symlink.
|
||||
|
@ -80,7 +80,8 @@ std_headers = \
|
||||
${std_srcdir}/utility \
|
||||
${std_srcdir}/valarray \
|
||||
${std_srcdir}/variant \
|
||||
${std_srcdir}/vector
|
||||
${std_srcdir}/vector \
|
||||
${std_srcdir}/version
|
||||
|
||||
bits_srcdir = ${glibcxx_srcdir}/include/bits
|
||||
bits_builddir = ./bits
|
||||
|
@ -374,7 +374,8 @@ std_headers = \
|
||||
${std_srcdir}/utility \
|
||||
${std_srcdir}/valarray \
|
||||
${std_srcdir}/variant \
|
||||
${std_srcdir}/vector
|
||||
${std_srcdir}/vector \
|
||||
${std_srcdir}/version
|
||||
|
||||
bits_srcdir = ${glibcxx_srcdir}/include/bits
|
||||
bits_builddir = ./bits
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
/** @file bits/c++config.h
|
||||
* This is an internal header file, included by other library headers.
|
||||
* Do not attempt to use it directly. @headername{iosfwd}
|
||||
* Do not attempt to use it directly. @headername{version}
|
||||
*/
|
||||
|
||||
#ifndef _GLIBCXX_CXX_CONFIG_H
|
||||
|
@ -47,6 +47,8 @@
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
#include <cwchar>
|
||||
#include <cwctype>
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#include <ccomplex>
|
||||
@ -57,8 +59,6 @@
|
||||
#include <cstdint>
|
||||
#include <ctgmath>
|
||||
#include <cuchar>
|
||||
#include <cwchar>
|
||||
#include <cwctype>
|
||||
#endif
|
||||
|
||||
// C++
|
||||
@ -123,6 +123,19 @@
|
||||
#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 > 201703L
|
||||
// #include <compare>
|
||||
// #include <span>
|
||||
// #include <syncstream>
|
||||
#include <version>
|
||||
#endif
|
||||
|
134
libstdc++-v3/include/std/version
Normal file
134
libstdc++-v3/include/std/version
Normal file
@ -0,0 +1,134 @@
|
||||
// -*- C++ -*- Libstdc++ version details header.
|
||||
|
||||
// Copyright (C) 2018 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.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
/** @file version
|
||||
* This is a Standard C++ Library file. You should @c \#include this file
|
||||
* in your programs, rather than any of the @a *.h implementation files.
|
||||
*/
|
||||
|
||||
#ifndef _GLIBCXX_VERSION_INCLUDED
|
||||
#define _GLIBCXX_VERSION_INCLUDED
|
||||
|
||||
#pragma GCC system_header
|
||||
|
||||
#include <bits/c++config.h>
|
||||
|
||||
// c++03
|
||||
#define __cpp_lib_incomplete_container_elements 201505
|
||||
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
// gnu++03
|
||||
# define __cpp_lib_uncaught_exceptions 201411
|
||||
#endif
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
// c++11
|
||||
#define __cpp_lib_allocator_is_always_equal 201411
|
||||
#define __cpp_lib_allocator_traits_is_always_equal 201411
|
||||
#define __cpp_lib_is_null_pointer 201309
|
||||
#define __cpp_lib_result_of_sfinae 201210
|
||||
#define __cpp_lib_shared_ptr_arrays 201603
|
||||
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
// gnu++11
|
||||
# define __cpp_lib_enable_shared_from_this 201603
|
||||
# define __cpp_lib_is_swappable 201603
|
||||
# define __cpp_lib_void_t 201411
|
||||
#endif
|
||||
|
||||
// For C++11 and later we support ISO/IEC 29124 Mathematical Special Functions
|
||||
#define __STDCPP_MATH_SPEC_FUNCS__ 201003L
|
||||
|
||||
#if __cplusplus >= 201402L
|
||||
// c++14
|
||||
#define __cpp_lib_chrono_udls 201304
|
||||
#define __cpp_lib_complex_udls 201309
|
||||
#define __cpp_lib_exchange_function 201304
|
||||
#define __cpp_lib_generic_associative_lookup 201304
|
||||
#define __cpp_lib_integer_sequence 201304
|
||||
#define __cpp_lib_integral_constant_callable 201304
|
||||
#define __cpp_lib_is_final 201402L
|
||||
#define __cpp_lib_make_reverse_iterator 201402
|
||||
#define __cpp_lib_make_unique 201304
|
||||
#define __cpp_lib_quoted_string_io 201304
|
||||
#define __cpp_lib_robust_nonmodifying_seq_ops 201304
|
||||
#define __cpp_lib_shared_timed_mutex 201402
|
||||
#define __cpp_lib_string_udls 201304
|
||||
#define __cpp_lib_transformation_trait_aliases 201304
|
||||
#define __cpp_lib_transparent_operators 201510
|
||||
#define __cpp_lib_tuple_element_t 201402L
|
||||
#define __cpp_lib_tuples_by_type 201304
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
// c++17
|
||||
#define __cpp_lib_addressof_constexpr 201603
|
||||
#define __cpp_lib_apply 201603
|
||||
#define __cpp_lib_array_constexpr 201603
|
||||
#define __cpp_lib_as_const 201510
|
||||
#define __cpp_lib_atomic_is_always_lock_free 201603
|
||||
#define __cpp_lib_bool_constant 201505
|
||||
#define __cpp_lib_boyer_moore_searcher 201603
|
||||
#define __cpp_lib_byte 201603
|
||||
#define __cpp_lib_chrono 201611
|
||||
#define __cpp_lib_clamp 201603
|
||||
#define __cpp_lib_constexpr_char_traits 201611
|
||||
#define __cpp_lib_enable_shared_from_this 201603
|
||||
#define __cpp_lib_filesystem 201703
|
||||
#define __cpp_lib_gcd 201606
|
||||
#define __cpp_lib_gcd_lcm 201606
|
||||
#define __cpp_lib_has_unique_object_representations 201606
|
||||
#define __cpp_lib_hypot 201603
|
||||
#define __cpp_lib_invoke 201411
|
||||
#define __cpp_lib_is_aggregate 201703
|
||||
#define __cpp_lib_is_invocable 201703
|
||||
#define __cpp_lib_is_swappable 201603
|
||||
#define __cpp_lib_launder 201606
|
||||
#define __cpp_lib_lcm 201606
|
||||
#define __cpp_lib_logical_traits 201510
|
||||
#define __cpp_lib_make_from_tuple 201606
|
||||
#define __cpp_lib_map_insertion 201411
|
||||
#define __cpp_lib_map_try_emplace 201411
|
||||
#define __cpp_lib_math_special_functions 201603L
|
||||
#define __cpp_lib_node_extract 201606
|
||||
#define __cpp_lib_nonmember_container_access 201411
|
||||
#define __cpp_lib_not_fn 201603
|
||||
#define __cpp_lib_optional 201603
|
||||
#define __cpp_lib_sample 201603
|
||||
#define __cpp_lib_scoped_lock 201703
|
||||
#define __cpp_lib_shared_mutex 201505
|
||||
#define __cpp_lib_shared_ptr_weak_type 201606
|
||||
#define __cpp_lib_string_view 201603
|
||||
#define __cpp_lib_type_trait_variable_templates 201510L
|
||||
#define __cpp_lib_unordered_map_insertion 201411
|
||||
#define __cpp_lib_unordered_map_try_emplace 201411
|
||||
#define __cpp_lib_void_t 201411
|
||||
|
||||
#if __cplusplus > 201703L
|
||||
// c++2a
|
||||
#endif // C++2a
|
||||
#endif // C++17
|
||||
#endif // C++14
|
||||
#endif // C++11
|
||||
|
||||
#endif // _GLIBCXX_VERSION_INCLUDED
|
@ -0,0 +1,41 @@
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
// { dg-options "-std=gnu++17" }
|
||||
// { dg-do compile }
|
||||
|
||||
// Ensure the library only uses the __name__ form for attributes.
|
||||
// Don't test 'const' and 'noreturn' because they are reserved anyway.
|
||||
#define abi_tag 1
|
||||
#define always_inline 1
|
||||
#ifndef __APPLE__
|
||||
// darwin headers use this, see PR 64883
|
||||
# define visibility 1
|
||||
#endif
|
||||
#define packed 1
|
||||
#define pure 1
|
||||
// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
|
||||
#ifndef __arm__
|
||||
#define unused 1
|
||||
#endif
|
||||
|
||||
#include <bits/extc++.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++17 -fno-exceptions" }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
#include <bits/extc++.h>
|
@ -0,0 +1,21 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++17 -fno-rtti" }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
#include <bits/extc++.h>
|
@ -0,0 +1,21 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++17 -pedantic-errors" }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
#include <bits/extc++.h>
|
@ -0,0 +1,30 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++17 -fno-operator-names" }
|
||||
|
||||
// Copyright (C) 2015-2018 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++/47662
|
||||
|
||||
// Avoid using PCH
|
||||
#include <cerrno>
|
||||
#include <bits/stdc++.h>
|
||||
#include <bits/stdtr1c++.h>
|
||||
#include <bits/extc++.h>
|
||||
|
||||
int or, xor, and;
|
||||
|
70
libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
Normal file
70
libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
Normal file
@ -0,0 +1,70 @@
|
||||
// FreeBSD wants warning clean system headers:
|
||||
// { dg-options "-std=gnu++17" }
|
||||
// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
|
||||
// { dg-do compile }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
// 17.4.1.2 Headers
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
// "C" compatibility headers
|
||||
#include <assert.h>
|
||||
#ifdef _GLIBCXX_HAVE_COMPLEX_H
|
||||
#include <complex.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifdef _GLIBCXX_HAVE_FENV_H
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <float.h>
|
||||
#ifdef _GLIBCXX_HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <iso646.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#include <stddef.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _GLIBCXX_HAVE_TGMATH_H
|
||||
#include <tgmath.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#if __has_include(<uchar.h>)
|
||||
#include <uchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCHAR_H
|
||||
#include <wchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCTYPE_H
|
||||
#include <wctype.h>
|
||||
#endif
|
@ -0,0 +1,117 @@
|
||||
// FreeBSD wants warning clean system headers:
|
||||
// { dg-options "-std=gnu++17" }
|
||||
// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
|
||||
// { dg-do compile }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
// 17.4.1.2 Headers
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
// "C" compatibility headers
|
||||
#include <assert.h>
|
||||
#ifdef _GLIBCXX_HAVE_COMPLEX_H
|
||||
#include <complex.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifdef _GLIBCXX_HAVE_FENV_H
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <float.h>
|
||||
#ifdef _GLIBCXX_HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <iso646.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#include <stddef.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _GLIBCXX_HAVE_TGMATH_H
|
||||
#include <tgmath.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#if __has_include(<uchar.h>)
|
||||
#include <uchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCHAR_H
|
||||
#include <wchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCTYPE_H
|
||||
#include <wctype.h>
|
||||
#endif
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
// "C" compatibility headers
|
||||
#include <assert.h>
|
||||
#ifdef _GLIBCXX_HAVE_COMPLEX_H
|
||||
#include <complex.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifdef _GLIBCXX_HAVE_FENV_H
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <float.h>
|
||||
#ifdef _GLIBCXX_HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <iso646.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#include <stddef.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _GLIBCXX_HAVE_TGMATH_H
|
||||
#include <tgmath.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#if __has_include(<uchar.h>)
|
||||
#include <uchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCHAR_H
|
||||
#include <wchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCTYPE_H
|
||||
#include <wctype.h>
|
||||
#endif
|
@ -0,0 +1,41 @@
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
// { dg-options "-std=gnu++2a" }
|
||||
// { dg-do compile }
|
||||
|
||||
// Ensure the library only uses the __name__ form for attributes.
|
||||
// Don't test 'const' and 'noreturn' because they are reserved anyway.
|
||||
#define abi_tag 1
|
||||
#define always_inline 1
|
||||
#ifndef __APPLE__
|
||||
// darwin headers use this, see PR 64883
|
||||
# define visibility 1
|
||||
#endif
|
||||
#define packed 1
|
||||
#define pure 1
|
||||
// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
|
||||
#ifndef __arm__
|
||||
#define unused 1
|
||||
#endif
|
||||
|
||||
#include <bits/extc++.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++2a -fno-exceptions" }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
#include <bits/extc++.h>
|
@ -0,0 +1,21 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++2a -fno-rtti" }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
#include <bits/extc++.h>
|
@ -0,0 +1,21 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++2a -pedantic-errors" }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
#include <bits/extc++.h>
|
@ -0,0 +1,30 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++2a -fno-operator-names" }
|
||||
|
||||
// Copyright (C) 2015-2018 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++/47662
|
||||
|
||||
// Avoid using PCH
|
||||
#include <cerrno>
|
||||
#include <bits/stdc++.h>
|
||||
#include <bits/stdtr1c++.h>
|
||||
#include <bits/extc++.h>
|
||||
|
||||
int or, xor, and;
|
||||
|
70
libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc
Normal file
70
libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc
Normal file
@ -0,0 +1,70 @@
|
||||
// FreeBSD wants warning clean system headers:
|
||||
// { dg-options "-std=gnu++2a" }
|
||||
// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
|
||||
// { dg-do compile }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
// 17.4.1.2 Headers
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
// "C" compatibility headers
|
||||
#include <assert.h>
|
||||
#ifdef _GLIBCXX_HAVE_COMPLEX_H
|
||||
#include <complex.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifdef _GLIBCXX_HAVE_FENV_H
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <float.h>
|
||||
#ifdef _GLIBCXX_HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <iso646.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#include <stddef.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _GLIBCXX_HAVE_TGMATH_H
|
||||
#include <tgmath.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#if __has_include(<uchar.h>)
|
||||
#include <uchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCHAR_H
|
||||
#include <wchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCTYPE_H
|
||||
#include <wctype.h>
|
||||
#endif
|
@ -0,0 +1,117 @@
|
||||
// FreeBSD wants warning clean system headers:
|
||||
// { dg-options "-std=gnu++2a" }
|
||||
// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
|
||||
// { dg-do compile }
|
||||
|
||||
// Copyright (C) 2015-2018 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/>.
|
||||
|
||||
// 17.4.1.2 Headers
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
// "C" compatibility headers
|
||||
#include <assert.h>
|
||||
#ifdef _GLIBCXX_HAVE_COMPLEX_H
|
||||
#include <complex.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifdef _GLIBCXX_HAVE_FENV_H
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <float.h>
|
||||
#ifdef _GLIBCXX_HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <iso646.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#include <stddef.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _GLIBCXX_HAVE_TGMATH_H
|
||||
#include <tgmath.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#if __has_include(<uchar.h>)
|
||||
#include <uchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCHAR_H
|
||||
#include <wchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCTYPE_H
|
||||
#include <wctype.h>
|
||||
#endif
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
// "C" compatibility headers
|
||||
#include <assert.h>
|
||||
#ifdef _GLIBCXX_HAVE_COMPLEX_H
|
||||
#include <complex.h>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifdef _GLIBCXX_HAVE_FENV_H
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <float.h>
|
||||
#ifdef _GLIBCXX_HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <iso646.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#include <stddef.h>
|
||||
#ifdef _GLIBCXX_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _GLIBCXX_HAVE_TGMATH_H
|
||||
#include <tgmath.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#if __has_include(<uchar.h>)
|
||||
#include <uchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCHAR_H
|
||||
#include <wchar.h>
|
||||
#endif
|
||||
#ifdef _GLIBCXX_HAVE_WCTYPE_H
|
||||
#include <wctype.h>
|
||||
#endif
|
28
libstdc++-v3/testsuite/18_support/headers/version/macros.cc
Normal file
28
libstdc++-v3/testsuite/18_support/headers/version/macros.cc
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright (C) 2018 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/>.
|
||||
|
||||
// { dg-do compile }
|
||||
|
||||
#include <version>
|
||||
|
||||
#ifndef _GLIBCXX_RELEASE
|
||||
# error "_GLIBCXX_RELEASE is not defined by <version>"
|
||||
#endif
|
||||
|
||||
#ifndef __GLIBCXX__
|
||||
# error "__GLIBCXX__ is not defined by <version>"
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user