diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libstdc++-v3/testsuite/17_intro | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libstdc++-v3/testsuite/17_intro')
19 files changed, 733 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/17_intro/freestanding.cc b/libstdc++-v3/testsuite/17_intro/freestanding.cc new file mode 100644 index 000000000..52aa965f9 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/freestanding.cc @@ -0,0 +1,50 @@ +// { dg-options "-x c -std=gnu++0x -lsupc++" } + +// Copyright (C) 2010 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 <cstdarg> +#include <cstddef> +#include <cstdlib> + +#include <exception> +#include <limits> +#include <new> +#include <typeinfo> + +#include <initializer_list> +#include <type_traits> + +int main() +{ + std::exception e; + + const char* str __attribute__((unused)) = typeid(e).name(); + + typedef std::numeric_limits<long> limit_type; + limit_type limit_l __attribute__((unused)); + int r __attribute__((unused)) = limit_type::radix; + + const char* cp = new char; + delete cp; + + bool b __attribute__((unused)) = std::is_integral<int>::value; + + std::initializer_list<int> ilisti __attribute__((unused)); + + return 0; +} diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc new file mode 100644 index 000000000..70661e913 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc @@ -0,0 +1,20 @@ +// { dg-do compile } + +// Copyright (C) 2007, 2009 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc new file mode 100644 index 000000000..40889d932 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc @@ -0,0 +1,24 @@ +// { dg-do compile } +// { dg-options "-Wc++0x-compat -Werror" } + +// Copyright (C) 2007, 2009 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/>. + +// Make sure all the includes can be compiled with -Wc++0x-compat +// libstdc++/30571 + +#include <bits/extc++.h> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc new file mode 100644 index 000000000..c645d3f7d --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc @@ -0,0 +1,21 @@ +// { dg-do compile } +// { dg-options "-fno-exceptions" } + +// Copyright (C) 2007, 2009 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc new file mode 100644 index 000000000..99585999e --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc @@ -0,0 +1,21 @@ +// { dg-do compile } +// { dg-options "-fno-rtti" } + +// Copyright (C) 2010 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc new file mode 100644 index 000000000..4faa5af3d --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc @@ -0,0 +1,21 @@ +// { dg-do compile } +// { dg-options "-pedantic-errors" } + +// Copyright (C) 2007, 2009 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc new file mode 100644 index 000000000..00e8bdaea --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc @@ -0,0 +1,30 @@ +// { dg-do compile } +// { dg-options "-fno-operator-names" } + +// Copyright (C) 2011 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; + diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc new file mode 100644 index 000000000..3d5db7a32 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc @@ -0,0 +1,49 @@ +// FreeBSD wants warning clean system headers: +// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } } +// { dg-do compile } +// 1999-05-12 bkoz + +// Copyright (C) 1999, 2007, 2009 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> +#include <ctype.h> +#include <errno.h> +#include <float.h> +#include <iso646.h> +#include <limits.h> +#include <locale.h> +#include <math.h> +#include <setjmp.h> +#include <signal.h> +#include <stdarg.h> +#include <stddef.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#ifdef _GLIBCXX_HAVE_WCHAR_H +#include <wchar.h> +#endif +#ifdef _GLIBCXX_HAVE_WCTYPE_H +#include <wctype.h> +#endif diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc new file mode 100644 index 000000000..829dee1a2 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc @@ -0,0 +1,35 @@ +// { dg-do compile } +// { dg-options "-D_GLIBCXX_NO_ASSERT" } +// NB: This is done to force any generated and possibly included PCH +// to be invalid, and also to remove cassert from the include set. + +// 2005-05-24 bkoz + +// Copyright (C) 2005, 2009 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 + +// This file tests that assert is not included in any of the standard +// includes by accident. + +#include <bits/stdc++.h> + +void foo() +{ + assert(true); // { dg-error "not declared" "" { target *-*-* } } +} diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc new file mode 100644 index 000000000..e900fa75e --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc @@ -0,0 +1,75 @@ +// FreeBSD wants warning clean system headers: +// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } } +// { dg-do compile } +// 1999-05-12 bkoz + +// Copyright (C) 1999, 2007, 2009 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> +#include <ctype.h> +#include <errno.h> +#include <float.h> +#include <iso646.h> +#include <limits.h> +#include <locale.h> +#include <math.h> +#include <setjmp.h> +#include <signal.h> +#include <stdarg.h> +#include <stddef.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#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> +#include <ctype.h> +#include <errno.h> +#include <float.h> +#include <iso646.h> +#include <limits.h> +#include <locale.h> +#include <math.h> +#include <setjmp.h> +#include <signal.h> +#include <stdarg.h> +#include <stddef.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#ifdef _GLIBCXX_HAVE_WCHAR_H +#include <wchar.h> +#endif +#ifdef _GLIBCXX_HAVE_WCTYPE_H +#include <wctype.h> +#endif diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc new file mode 100644 index 000000000..729fca1cb --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc @@ -0,0 +1,22 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2009 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++/42319 +#include <bits/char_traits.h> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_exceptions.cc new file mode 100644 index 000000000..5650e3a51 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_exceptions.cc @@ -0,0 +1,21 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x -fno-exceptions" } + +// Copyright (C) 2007, 2009 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc new file mode 100644 index 000000000..2ce83ed0e --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc @@ -0,0 +1,21 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x -fno-rtti" } + +// Copyright (C) 2010 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc new file mode 100644 index 000000000..08f8fd807 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc @@ -0,0 +1,21 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x -pedantic-errors" } + +// Copyright (C) 2007, 2009 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> diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/operator_names.cc new file mode 100644 index 000000000..9ad40f0f0 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/operator_names.cc @@ -0,0 +1,30 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x -fno-operator-names" } + +// Copyright (C) 2011 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; + diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc new file mode 100644 index 000000000..357373a0a --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc @@ -0,0 +1,67 @@ +// FreeBSD wants warning clean system headers: +// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } } +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2007, 2008, 2009, 2010 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> +#ifdef _GLIBCXX_HAVE_WCHAR_H +#include <wchar.h> +#endif +#ifdef _GLIBCXX_HAVE_WCTYPE_H +#include <wctype.h> +#endif diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc new file mode 100644 index 000000000..89c6cdd43 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc @@ -0,0 +1,111 @@ +// FreeBSD wants warning clean system headers: +// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } } +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2007, 2008, 2009 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> +#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> +#ifdef _GLIBCXX_HAVE_WCHAR_H +#include <wchar.h> +#endif +#ifdef _GLIBCXX_HAVE_WCTYPE_H +#include <wctype.h> +#endif diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc new file mode 100644 index 000000000..f03f95a0f --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc @@ -0,0 +1,25 @@ +// { dg-do compile } + +// Copyright (C) 2007, 2009 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 <new> + +namespace gnu +{ + using namespace std; +} diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc new file mode 100644 index 000000000..7e27a320c --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc @@ -0,0 +1,69 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2007, 2008, 2009, 2010 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/>. + +// NB: parallel-mode uses TR1 bits... +#undef _GLIBCXX_PARALLEL + +#include <algorithm> +#include <array> +#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 <random> +#include <regex> +#include <set> +#include <sstream> +#include <stack> +#include <stdexcept> +#include <streambuf> +#include <string> +#include <tuple> +#include <typeinfo> +#include <type_traits> +#include <unordered_map> +#include <unordered_set> +#include <utility> +#include <valarray> +#include <vector> + +namespace gnu +{ + using namespace std::tr1; // { dg-error "is not a namespace-name" } +} + +// { dg-error "expected namespace-name before" "" { target *-*-* } 66 } |