From patchwork Sun Jul 31 16:50:59 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 654380 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3s2T4r07T1z9t0j for ; Mon, 1 Aug 2016 02:51:21 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=E2QOI752; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=YiLGGphDC8OkOhUS0yftT6xh9PUTditLz3kGeLMwIJTXKUY7dAmqZ zgao/3OuBfZGV745NFul4Qa/twdeiEBJYO78rCm+0Bb4kkpu0X215/LVYt0Fj3KZ K4e5hGREHm56IuOH1XByVnhOsRe+Ww43wDVHJ58ygFAUrGMSjL1i5Q= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=x3c7bq2o/QkexrYyKV6cuLW9QKI=; b=E2QOI752wtpNwCJZzYou 5xIbl5oY+MHR+Uv9OlTV0+KJ/44Sni0wFC0Bmw1KegvchdGtk5R8StkPKwivzoc7 aSzK2Vp4TLiQnNTF1IeentEZz85cZ1oZgiv/UgbW/1INqNXMbiPLPhtPfijYTh4g UVz4r8/1W5L8zYowPwgwbKQ= Received: (qmail 128770 invoked by alias); 31 Jul 2016 16:51:13 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 128752 invoked by uid 89); 31 Jul 2016 16:51:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=23, 5, (unknown), chrono, duration X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sun, 31 Jul 2016 16:51:02 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5A7ED81232; Sun, 31 Jul 2016 16:51:01 +0000 (UTC) Received: from localhost (ovpn-116-24.ams2.redhat.com [10.36.116.24]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u6VGp0aa013410; Sun, 31 Jul 2016 12:51:00 -0400 Date: Sun, 31 Jul 2016 17:50:59 +0100 From: Jonathan Wakely To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [PATCH] Move dg-error directives to relevant lines Message-ID: <20160731165059.GA9544@redhat.com> MIME-Version: 1.0 Content-Disposition: inline X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mutt/1.6.2 (2016-07-01) I'm moving { dg-error "..." "" { target *-*-* } NN } to line NN so it can just be { dg-error "..." } with an implied line number. That makes the tests less fragile if the test changes and the line moves. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move dg-error to relevant line. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/ requirements/non_uint_neg.cc: Likewise. * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Likewise. Also test for std::atomic_address. Tested powerpc64-linux, committed to trunk. commit ff96a3871a58882aeb0fb4e3ee4041d34cfb83cd Author: Jonathan Wakely Date: Fri Jul 29 14:21:19 2016 +0100 Move dg-error directives to relevant lines * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move dg-error to relevant line. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/ requirements/non_uint_neg.cc: Likewise. * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Likewise. Also test for std::atomic_address. diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc index 2369440..7fb022b 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc @@ -30,8 +30,7 @@ void test01() typedef int rep_type; typedef std::ratio<-1> period_type; typedef std::chrono::duration test_type; - test_type d; + test_type d; // { dg-error "required from here" } } // { dg-error "period must be positive" "" { target *-*-* } 253 } -// { dg-error "required from here" "" { target *-*-* } 33 } diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc index 0696fad..fc9fbe5 100644 --- a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc @@ -22,15 +22,9 @@ namespace gnu { - // C++0x changes from TR1. - using std::has_trivial_constructor; - using std::has_nothrow_constructor; - using std::has_trivial_copy; - using std::has_nothrow_copy; + // C++11 changes from TR1. + using std::has_trivial_constructor; // { dg-error "has not been declared" } + using std::has_nothrow_constructor; // { dg-error "has not been declared" } + using std::has_trivial_copy; // { dg-error "has not been declared" } + using std::has_nothrow_copy; // { dg-error "has not been declared" } } - -// { dg-error "has not been declared" "" { target *-*-* } 26 } -// { dg-error "has not been declared" "" { target *-*-* } 27 } -// { dg-error "has not been declared" "" { target *-*-* } 28 } -// { dg-error "has not been declared" "" { target *-*-* } 29 } - diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc index 5f29e8e..1fa2106 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-error "no matching" "" { target *-*-* } 33 } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // @@ -30,5 +29,5 @@ void f() { typedef std::forward_list test_type; test_type l; - l.assign(10, 1); + l.assign(10, 1); // { dg-error "no matching" } } diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc index 15aeac7..829c84d 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-error "no matching" "" { target *-*-* } 27 } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // @@ -24,5 +23,5 @@ void f() { typedef std::forward_list > test_type; - test_type l(10, 1); + test_type l(10, 1); // { dg-error "no matching" } } diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc index 9a330a3..2ebcec3 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-error "no matching" "" { target *-*-* } 28 } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // @@ -25,5 +24,5 @@ void f() { typedef std::forward_list > > test_type; - test_type l('a', 'b'); + test_type l('a', 'b'); // { dg-error "no matching" } } diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc index 783feb8..cc2f2af 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-error "no matching" "" { target *-*-* } 33 } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // @@ -30,5 +29,5 @@ void f() { typedef std::forward_list test_type; test_type l; - l.insert_after(l.begin(), 10, 1); + l.insert_after(l.begin(), 10, 1); // { dg-error "no matching" } } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc index 268832b..8910c7e 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc @@ -22,52 +22,28 @@ namespace gnu { - // C++0x changes from TR1. - using std::assoc_laguerre; - using std::assoc_legendre; - using std::beta; - using std::comp_ellint_1; - using std::comp_ellint_2; - using std::comp_ellint_3; - using std::conf_hyperg; - using std::cyl_bessel_i; - using std::cyl_bessel_j; - using std::cyl_bessel_k; - using std::cyl_neumann; - using std::ellint_1; - using std::ellint_2; - using std::ellint_3; - using std::expint; - using std::hermite; - using std::hyperg; - using std::laguerre; - using std::legendre; - using std::riemann_zeta; - using std::sph_bessel; - using std::sph_legendre; - using std::sph_neumann; + // C++11 changes from TR1. + using std::assoc_laguerre; // { dg-error "has not been declared" } + using std::assoc_legendre; // { dg-error "has not been declared" } + using std::beta; // { dg-error "has not been declared" } + using std::comp_ellint_1; // { dg-error "has not been declared" } + using std::comp_ellint_2; // { dg-error "has not been declared" } + using std::comp_ellint_3; // { dg-error "has not been declared" } + using std::conf_hyperg; // { dg-error "has not been declared" } + using std::cyl_bessel_i; // { dg-error "has not been declared" } + using std::cyl_bessel_j; // { dg-error "has not been declared" } + using std::cyl_bessel_k; // { dg-error "has not been declared" } + using std::cyl_neumann; // { dg-error "has not been declared" } + using std::ellint_1; // { dg-error "has not been declared" } + using std::ellint_2; // { dg-error "has not been declared" } + using std::ellint_3; // { dg-error "has not been declared" } + using std::expint; // { dg-error "has not been declared" } + using std::hermite; // { dg-error "has not been declared" } + using std::hyperg; // { dg-error "has not been declared" } + using std::laguerre; // { dg-error "has not been declared" } + using std::legendre; // { dg-error "has not been declared" } + using std::riemann_zeta; // { dg-error "has not been declared" } + using std::sph_bessel; // { dg-error "has not been declared" } + using std::sph_legendre; // { dg-error "has not been declared" } + using std::sph_neumann; // { dg-error "has not been declared" } } - -// { dg-error "has not been declared" "" { target *-*-* } 26 } -// { dg-error "has not been declared" "" { target *-*-* } 27 } -// { dg-error "has not been declared" "" { target *-*-* } 28 } -// { dg-error "has not been declared" "" { target *-*-* } 29 } -// { dg-error "has not been declared" "" { target *-*-* } 30 } -// { dg-error "has not been declared" "" { target *-*-* } 31 } -// { dg-error "has not been declared" "" { target *-*-* } 32 } -// { dg-error "has not been declared" "" { target *-*-* } 33 } -// { dg-error "has not been declared" "" { target *-*-* } 34 } -// { dg-error "has not been declared" "" { target *-*-* } 35 } -// { dg-error "has not been declared" "" { target *-*-* } 36 } -// { dg-error "has not been declared" "" { target *-*-* } 37 } -// { dg-error "has not been declared" "" { target *-*-* } 38 } -// { dg-error "has not been declared" "" { target *-*-* } 39 } -// { dg-error "has not been declared" "" { target *-*-* } 40 } -// { dg-error "has not been declared" "" { target *-*-* } 41 } -// { dg-error "has not been declared" "" { target *-*-* } 42 } -// { dg-error "has not been declared" "" { target *-*-* } 43 } -// { dg-error "has not been declared" "" { target *-*-* } 44 } -// { dg-error "has not been declared" "" { target *-*-* } 45 } -// { dg-error "has not been declared" "" { target *-*-* } 46 } -// { dg-error "has not been declared" "" { target *-*-* } 47 } -// { dg-error "has not been declared" "" { target *-*-* } 48 } diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc index 6f4f272..3c7f7bf 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc @@ -21,11 +21,10 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } -// { dg-error "not a valid type" "" { target *-*-* } 31 } // 26.4.3.1 class template linear_congruential_engine [rand.eng.lcong] // 26.4.2.2 Concept RandomNumberEngine [rand.concept.eng] #include -std::linear_congruential_engine x; +std::linear_congruential_engine x; // { dg-error "not a valid type" } diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc index 5f79943..dbea9b9 100644 --- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc @@ -23,101 +23,56 @@ void test01() { // Not global scoped, only namespace std. - using memory_order; - using memory_order_relaxed; - using memory_order_consume; - using memory_order_acquire; - using memory_order_release; - using memory_order_acq_rel; - using memory_order_seq_cst; + using memory_order; // { dg-error "expected nested-name-specifier" } + using memory_order_relaxed; // { dg-error "expected nested-name-specifier" } + using memory_order_consume; // { dg-error "expected nested-name-specifier" } + using memory_order_acquire; // { dg-error "expected nested-name-specifier" } + using memory_order_release; // { dg-error "expected nested-name-specifier" } + using memory_order_acq_rel; // { dg-error "expected nested-name-specifier" } + using memory_order_seq_cst; // { dg-error "expected nested-name-specifier" } - using atomic_flag; + using atomic_flag; // { dg-error "expected nested-name-specifier" } - using atomic_bool; - using atomic_char; - using atomic_schar; - using atomic_uchar; - using atomic_short; - using atomic_ushort; - using atomic_int; - using atomic_uint; - using atomic_long; - using atomic_ulong; - using atomic_llong; - using atomic_ullong; - using atomic_wchar_t; - using atomic_char16_t; - using atomic_char32_t; + using atomic_bool; // { dg-error "expected nested-name-specifier" } + using atomic_char; // { dg-error "expected nested-name-specifier" } + using atomic_schar; // { dg-error "expected nested-name-specifier" } + using atomic_uchar; // { dg-error "expected nested-name-specifier" } + using atomic_short; // { dg-error "expected nested-name-specifier" } + using atomic_ushort; // { dg-error "expected nested-name-specifier" } + using atomic_int; // { dg-error "expected nested-name-specifier" } + using atomic_uint; // { dg-error "expected nested-name-specifier" } + using atomic_long; // { dg-error "expected nested-name-specifier" } + using atomic_ulong; // { dg-error "expected nested-name-specifier" } + using atomic_llong; // { dg-error "expected nested-name-specifier" } + using atomic_ullong; // { dg-error "expected nested-name-specifier" } + using atomic_wchar_t; // { dg-error "expected nested-name-specifier" } + using atomic_char16_t; // { dg-error "expected nested-name-specifier" } + using atomic_char32_t; // { dg-error "expected nested-name-specifier" } - using atomic_int_least8_t; - using atomic_uint_least8_t; - using atomic_int_least16_t; - using atomic_uint_least16_t; - using atomic_int_least32_t; - using atomic_uint_least32_t; - using atomic_int_least64_t; - using atomic_uint_least64_t; - using atomic_int_fast8_t; - using atomic_uint_fast8_t; - using atomic_int_fast16_t; - using atomic_uint_fast16_t; - using atomic_int_fast32_t; - using atomic_uint_fast32_t; - using atomic_int_fast64_t; - using atomic_uint_fast64_t; - using atomic_intptr_t; - using atomic_uintptr_t; - using atomic_size_t; - using atomic_ptrdiff_t; - using atomic_intmax_t; - using atomic_uintmax_t; + using atomic_int_least8_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_least8_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_least16_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_least16_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_least32_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_least32_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_least64_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_least64_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_fast8_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_fast8_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_fast16_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_fast16_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_fast32_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_fast32_t; // { dg-error "expected nested-name-specifier" } + using atomic_int_fast64_t; // { dg-error "expected nested-name-specifier" } + using atomic_uint_fast64_t; // { dg-error "expected nested-name-specifier" } + using atomic_intptr_t; // { dg-error "expected nested-name-specifier" } + using atomic_uintptr_t; // { dg-error "expected nested-name-specifier" } + using atomic_size_t; // { dg-error "expected nested-name-specifier" } + using atomic_ptrdiff_t; // { dg-error "expected nested-name-specifier" } + using atomic_intmax_t; // { dg-error "expected nested-name-specifier" } + using atomic_uintmax_t; // { dg-error "expected nested-name-specifier" } - using atomic_address; + using atomic_address; // { dg-error "expected nested-name-specifier" } + // Present in C++0x drafts but not final C++11 standard: + using std::atomic_address; // { dg-error "has not been declared" } } - -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 26 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 27 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 28 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 29 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 30 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 31 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 32 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 34 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 36 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 37 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 38 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 39 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 40 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 41 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 42 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 43 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 44 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 45 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 46 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 47 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 48 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 49 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 50 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 52 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 53 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 54 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 55 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 56 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 57 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 58 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 59 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 60 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 61 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 62 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 63 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 64 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 65 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 66 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 67 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 68 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 69 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 70 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 71 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 72 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 73 } -// { dg-error "expected nested-name-specifier" "" { target *-*-* } 75 }