]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / make_signed / requirements / typedefs_neg.cc
index adda5b4191fec2e455b1eb171aef2595fc083560..cc220f92fbf91f6ee1ac8d2a8564e9a5fc704632 100644 (file)
@@ -1,14 +1,13 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
+// { dg-do compile { target c++11 } }
 
 // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
 //
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007-2024 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/>.
 
 #include <type_traits>
-#include <testsuite_character.h>
 
-enum test_enum { first_selection };
+struct pod_class { };
 
 void test01()
 {
   using std::make_signed;
 
-  // Negative  tests.
-  typedef make_signed<bool>::type      test1_type;
+  // Negative tests.
+  using T1 = make_signed<bool>::type; // { dg-error "incomplete" }
+  using T2 = make_signed<const bool>::type; // { dg-error "incomplete" }
+  using T3 = make_signed<volatile bool>::type; // { dg-error "incomplete" }
+  using T4 = make_signed<const volatile bool>::type; // { dg-error "incomplete" }
 
-  typedef make_signed<__gnu_test::pod_uint>::type      test2_type;
+  using T5 = make_signed<pod_class>::type; // { dg-error "here" }
 
-  typedef make_signed<int[4]>::type     test3_type;
+  using T6 = make_signed<int[4]>::type; // { dg-error "here" }
 
-  typedef void (fn_type) ();
-  typedef make_signed<fn_type>::type   test4_type;
+  using fn_type = void ();
+  using T7 = make_signed<fn_type>::type; // { dg-error "here" }
 
-  typedef make_signed<float>::type     test5_type;
+  using T8 = make_signed<float>::type; // { dg-error "here" }
 }
 
-// { dg-error "does not name a type" "" { target *-*-* } 34 }
-// { dg-error "instantiated from here" "" { target *-*-* } 36 }
-// { dg-error "instantiated from here" "" { target *-*-* } 38 }
-// { dg-error "instantiated from here" "" { target *-*-* } 41 }
-// { dg-error "instantiated from here" "" { target *-*-* } 43 }
-
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 562 }
-// { dg-error "declaration of" "" { target *-*-* } 524 }
-
-// { dg-excess-errors "At global scope" }
-// { dg-excess-errors "In instantiation of" }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 0 }