From: Benjamin Kosnik Date: Fri, 25 Feb 2011 00:57:45 +0000 (+0000) Subject: required.cc: New. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bfe8ff0a64738e4fcb6fe79688539f81a05daaa4;p=gcc.git required.cc: New. 2011-02-24 Benjamin Kosnik * testsuite/18_support/type_info/required.cc: New. * testsuite/Makefile.am: Make clean fixups. * testsuite/Makefile.in: Regenerate. From-SVN: r170486 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1d5cbcdd104..95ba2c4ec67 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2011-02-24 Benjamin Kosnik + + * testsuite/18_support/type_info/required.cc: New. + + * testsuite/Makefile.am: Make clean fixups. + * testsuite/Makefile.in: Regenerate. + 2011-02-19 François Dumont * include/debug/string (basic_string::insert): Add iterator check and diff --git a/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc b/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc new file mode 100644 index 00000000000..00c64b8cfab --- /dev/null +++ b/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc @@ -0,0 +1,79 @@ +// { dg-options "-std=gnu++0x" } +// { dg-require-effective-target dfp } + +// 2011-02-23 Benjamin Kosnik +// +// Copyright (C) 2011 Free Software Foundation +// +// 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 +// . + +#include +#include +#include + +template + std::string + gen_type_info() + { + std::string s1 = typeid(_Tp).name(); + std::string s2 = typeid(_Tp*).name(); + std::string s3 = typeid(const _Tp*).name(); + return std::max(std::max(s1, s2), s3); + } + +// libstdc++/43622, others +int main() +{ + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + gen_type_info(); + + gen_type_info(); + gen_type_info(); + gen_type_info(); + + gen_type_info(); + + gen_type_info(); + + // decimal + gen_type_info(); + gen_type_info(); + gen_type_info(); + + // attributes +#if 0 + typedef int ti_type __attribute__((__mode__(TI))); + gen_type_info(); + + typedef float tf_type __attribute__((__mode__(TF))); + gen_type_info(); +#endif + + return 0; +} diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am index c2b8166369f..34d1ee7e904 100644 --- a/libstdc++-v3/testsuite/Makefile.am +++ b/libstdc++-v3/testsuite/Makefile.am @@ -1,7 +1,7 @@ ## Makefile for the testsuite subdirectory of the GNU C++ Standard library. ## -## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -## Free Software Foundation, Inc. +## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +## 2011 Free Software Foundation, Inc. ## ## This file is part of the libstdc++ version 3 distribution. ## Process this file with automake to produce Makefile.in. @@ -247,8 +247,8 @@ check-profile: site.exp # By adding these files here, automake will remove them for 'make clean' CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ testsuite_* site.exp abi_check baseline_symbols *TEST* *.dat \ - *.s *.o *.cc *.a *.so *.xml + *.ii *.s *.o *.cc *.x *.a *.so *.xml # To remove directories. clean-local: - rm -rf debug parallel profile + rm -rf de fr debug parallel profile binaries diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index 86444c29169..d0967a5a6bc 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -319,7 +319,7 @@ profile_flags = "unix/-D_GLIBCXX_PROFILE" # By adding these files here, automake will remove them for 'make clean' CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ testsuite_* site.exp abi_check baseline_symbols *TEST* *.dat \ - *.s *.o *.cc *.a *.so *.xml + *.ii *.s *.o *.cc *.x *.a *.so *.xml all: all-am @@ -652,7 +652,7 @@ check-profile: site.exp # To remove directories. clean-local: - rm -rf debug parallel profile + rm -rf de fr debug parallel profile binaries # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.