PR libstdc++/83025 fix constraints for path overloads in <fstream>
[official-gcc.git] / libstdc++-v3 / testsuite / 17_intro / names.cc
blob1873deb6936a41f65975e22296b9fe44abc66860
1 // Copyright (C) 2017 Free Software Foundation, Inc.
2 //
3 // This file is part of the GNU ISO C++ Library. This library is free
4 // software; you can redistribute it and/or modify it under the
5 // terms of the GNU General Public License as published by the
6 // Free Software Foundation; either version 3, or (at your option)
7 // any later version.
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License along
15 // with this library; see the file COPYING3. If not see
16 // <http://www.gnu.org/licenses/>.
18 // { dg-do compile }
20 // Define macros for some common variables names that we must not use for
21 // naming variables, parameters etc. in the library.
22 #define tmp (
23 #define A (
24 #define B (
25 #define C (
26 #define D (
27 #define E (
28 #define F (
29 #define G (
30 #define H (
31 #define I (
32 #define J (
33 #define K (
34 #define L (
35 #define M (
36 #define N (
37 #define O (
38 #define P (
39 #define Q (
40 #define R (
41 #define S (
42 #define T (
43 #define U (
44 #define V (
45 #define W (
46 #define X (
47 #define Y (
48 #define Z (
49 #if __cplusplus >= 201103L
50 // <random> defines member functions called a() and b()
51 #else
52 #define a (
53 #define b (
54 #endif
55 // <queue> and <stack> defined data members called c
56 #define d (
57 #define e (
58 #define f (
59 #define g (
60 #if __cplusplus >= 201402L
61 // <chrono> defines operator ""h in C++14
62 // <complex> defines operator ""i in C++14
63 #else
64 #define h (
65 #define i (
66 #endif
67 #define j (
68 #if __cplusplus >= 201103L
69 // <random> defines member functions called k()
70 #else
71 #define k (
72 #endif
73 #define l (
74 #if __cplusplus >= 201103L
75 // <random> defines member functions called m() and n()
76 #else
77 #define m (
78 #define n (
79 #endif
80 #define o (
81 #if __cplusplus >= 201103L
82 // <random> defines member functions called p()
83 #else
84 #define p (
85 #endif
86 #define q (
87 #define r (
88 #if __cplusplus >= 201103L
89 // <random> defines member functions called s() and t()
90 // <chrono> and <string> define operator ""s in C++14
91 #else
92 #define s (
93 #define t (
94 #endif
95 #define u (
96 #define v (
97 #define w (
98 #define x (
99 #define y (
100 #define z (
102 #ifdef _AIX
103 // See https://gcc.gnu.org/ml/libstdc++/2017-03/msg00015.html
104 #undef f
105 #undef r
106 #undef x
107 #undef y
108 #endif
110 #ifdef __hpux__
111 #undef d
112 #undef r
113 #endif
115 #include <bits/stdc++.h>