OSDN Git Service

2011-04-19 Jonathan Wakely <jwakely.gcc@gmail.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / testsuite / 20_util / reference_wrapper / 24803.cc
index eb3d997..4bf6148 100644 (file)
@@ -1,12 +1,12 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-do compile }
 
-// Copyright (C) 2008 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 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 2, or (at your option)
+// 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,
 // 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 COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
 
-// As a special exception, you may use this file as part of a free software
-// library without restriction.  Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License.  This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
 
 #include <functional>
 
@@ -55,35 +46,35 @@ void verify_return_type(T, T)
 
 void test01()
 {
-   test_type* null_tt = 0;
-   const test_type* null_ttc = 0;
-   int zero;
+  test_type* null_tt = 0;
+  const test_type* null_ttc = 0;
+  int zero;
 
-   std::reference_wrapper<double (int)>* pr1;
-   verify_return_type((*pr1)(0), double());
-   std::reference_wrapper<double (*)(int)>* pr2;
-   verify_return_type((*pr2)(0), double());
-   std::reference_wrapper<int (test_type::*)()>* pr3;
-   verify_return_type((*pr3)(null_tt), int());
-   std::reference_wrapper<int (test_type::*)()const>* pr4;
-   verify_return_type((*pr4)(null_ttc), int());
-   std::reference_wrapper<functor1>* pr5;
+  std::reference_wrapper<double (int)>* pr1(0);
+  verify_return_type((*pr1)(0), double());
+  std::reference_wrapper<double (*)(int)>* pr2(0);
+  verify_return_type((*pr2)(0), double());
+  std::reference_wrapper<int (test_type::*)()>* pr3(0);
+  verify_return_type((*pr3)(null_tt), int());
+  std::reference_wrapper<int (test_type::*)()const>* pr4(0);
+  verify_return_type((*pr4)(null_ttc), int());
+  std::reference_wrapper<functor1>* pr5(0);
 
-   // libstdc++/24803
-   // FIXME: verify_return_type((*pr5)(0), double());
-   verify_return_type((*pr5)(zero), double());
+  // libstdc++/24803
+  verify_return_type((*pr5)(0), double());
+  verify_return_type((*pr5)(zero), double());
 
-   std::reference_wrapper<double (int, char)>* pr1b;
-   verify_return_type((*pr1b)(0,0), double());
-   std::reference_wrapper<double (*)(int, char)>* pr2b;
-   verify_return_type((*pr2b)(0,0), double());
-   std::reference_wrapper<int (test_type::*)(char)>* pr3b;
-   verify_return_type((*pr3b)(null_tt,zero), int());
-   std::reference_wrapper<int (test_type::*)()const>* pr4b;
-   verify_return_type((*pr4b)(null_ttc), int());
-   std::reference_wrapper<functor2>* pr5b;
+  std::reference_wrapper<double (int, char)>* pr1b(0);
+  verify_return_type((*pr1b)(0, 0), double());
+  std::reference_wrapper<double (*)(int, char)>* pr2b(0);
+  verify_return_type((*pr2b)(0, 0), double());
+  std::reference_wrapper<int (test_type::*)(char)>* pr3b(0);
+  verify_return_type((*pr3b)(null_tt,zero), int());
+  std::reference_wrapper<int (test_type::*)()const>* pr4b(0);
+  verify_return_type((*pr4b)(null_ttc), int());
+  std::reference_wrapper<functor2>* pr5b(0);
 
-   // libstdc++/24803
-   // FIXME: verify_return_type((*pr5b)(0,0), double());
-   verify_return_type((*pr5b)(zero,zero), double());
+  // libstdc++/24803
+  verify_return_type((*pr5b)(0, 0), double());
+  verify_return_type((*pr5b)(zero, zero), double());
 }