From patchwork Fri Jan 12 10:02:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 859708 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-470956-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="sEM5kUYv"; dkim-atps=neutral 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 3zHywm28S7z9t34 for ; Fri, 12 Jan 2018 21:02:48 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=kDCJYS42FJcNk/3ALZcllGX+7wd+sAFtksBIgZ1XmPe5WEwXyi V5YqkgiCBj0fc49ubqBlAVqE3HbXnuH6hqoGkOMZ98A+IF6yM+C78NGpRC5tbXTL YyxOH+6RBUdOXonF357EeCUYM6T7ZoQBPzde13c28/sdJ9W2j6oHN3E3g= 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:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=5pC7owHePURb5Re+rVpV4jJXafI=; b=sEM5kUYvyS7WjMlVrLqh 9KStXPQIw/ZLAJRykLUF+Ir1AFsSJ3csbGTBMSuu7h5i+94LtZ7LPx+GtEkq/jfL 0MLAXASBP4SIeYsn/KW0L1JwtuiIyPa1o6UennkJDnFCURfAJDDP95A68H2kiOj9 CnFECVK7idUf9uk9UxTZVCk= Received: (qmail 25756 invoked by alias); 12 Jan 2018 10:02:40 -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 25746 invoked by uid 89); 12 Jan 2018 10:02:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy=alfred, theo, cpp1y, Theo X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 12 Jan 2018 10:02:35 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-MBX-04.mgc.mentorg.com) by relay1.mentorg.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) id 1eZwAT-0007Fn-IY from Tom_deVries@mentor.com for gcc-patches@gcc.gnu.org; Fri, 12 Jan 2018 02:02:33 -0800 Received: from [137.202.13.177] (137.202.0.87) by SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Fri, 12 Jan 2018 10:02:29 +0000 To: GCC Patches From: Tom de Vries Subject: [testsuite] Add dg-require-effective-target alloca for c++ test-cases Message-ID: <1e4f7fb9-05c6-5ae8-a623-3b797f799bf8@mentor.com> Date: Fri, 12 Jan 2018 11:02:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) Hi, this patch adds dg-require-effective-target alloca for c++ test-cases. Build and reg-tested on x86_64 and nvptx. Committed as obvious. Thanks, - Tom Add dg-require-effective-target alloca for c++ test-cases 2018-01-12 Tom de Vries * c-c++-common/dwarf2/vla1.c: Add dg-require-effective-target alloca. * g++.dg/Walloca1.C: Same. * g++.dg/cpp0x/pr70338.C: Same. * g++.dg/cpp1y/lambda-generic-vla1.C: Same. * g++.dg/cpp1y/vla10.C: Same. * g++.dg/cpp1y/vla2.C: Same. * g++.dg/cpp1y/vla6.C: Same. * g++.dg/cpp1y/vla8.C: Same. * g++.dg/debug/debug5.C: Same. * g++.dg/debug/debug6.C: Same. * g++.dg/debug/pr54828.C: Same. * g++.dg/diagnostic/pr70105.C: Same. * g++.dg/eh/cleanup5.C: Same. * g++.dg/eh/spbp.C: Same. * g++.dg/ext/tmplattr9.C: Same. * g++.dg/ext/vla10.C: Same. * g++.dg/ext/vla11.C: Same. * g++.dg/ext/vla12.C: Same. * g++.dg/ext/vla15.C: Same. * g++.dg/ext/vla16.C: Same. * g++.dg/ext/vla17.C: Same. * g++.dg/ext/vla3.C: Same. * g++.dg/ext/vla6.C: Same. * g++.dg/ext/vla7.C: Same. * g++.dg/init/array24.C: Same. * g++.dg/init/new47.C: Same. * g++.dg/init/pr55497.C: Same. * g++.dg/opt/pr78201.C: Same. * g++.dg/template/vla2.C: Same. * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Same. * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Same. * g++.dg/torture/pr62127.C: Same. * g++.dg/torture/pr67055.C: Same. * g++.dg/torture/stackalign/eh-alloca-1.C: Same. * g++.dg/torture/stackalign/eh-inline-2.C: Same. * g++.dg/torture/stackalign/eh-vararg-1.C: Same. * g++.dg/torture/stackalign/eh-vararg-2.C: Same. * g++.dg/warn/Wplacement-new-size-5.C: Same. * g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Same. * g++.dg/warn/Wvla-1.C: Same. * g++.dg/warn/Wvla-3.C: Same. * g++.old-deja/g++.ext/array2.C: Same. * g++.old-deja/g++.ext/constructor.C: Same. * g++.old-deja/g++.law/builtin1.C: Same. * g++.old-deja/g++.other/crash12.C: Same. * g++.old-deja/g++.other/eh3.C: Same. * g++.old-deja/g++.pt/array6.C: Same. * g++.old-deja/g++.pt/dynarray.C: Same. --- gcc/testsuite/c-c++-common/dwarf2/vla1.c | 1 + gcc/testsuite/g++.dg/Walloca1.C | 1 + gcc/testsuite/g++.dg/cpp0x/pr70338.C | 1 + gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C | 1 + gcc/testsuite/g++.dg/cpp1y/vla10.C | 1 + gcc/testsuite/g++.dg/cpp1y/vla2.C | 1 + gcc/testsuite/g++.dg/cpp1y/vla6.C | 1 + gcc/testsuite/g++.dg/cpp1y/vla8.C | 1 + gcc/testsuite/g++.dg/debug/debug5.C | 1 + gcc/testsuite/g++.dg/debug/debug6.C | 1 + gcc/testsuite/g++.dg/debug/pr54828.C | 1 + gcc/testsuite/g++.dg/diagnostic/pr70105.C | 1 + gcc/testsuite/g++.dg/eh/cleanup5.C | 1 + gcc/testsuite/g++.dg/eh/spbp.C | 1 + gcc/testsuite/g++.dg/ext/tmplattr9.C | 1 + gcc/testsuite/g++.dg/ext/vla10.C | 1 + gcc/testsuite/g++.dg/ext/vla11.C | 1 + gcc/testsuite/g++.dg/ext/vla12.C | 1 + gcc/testsuite/g++.dg/ext/vla15.C | 1 + gcc/testsuite/g++.dg/ext/vla16.C | 1 + gcc/testsuite/g++.dg/ext/vla17.C | 1 + gcc/testsuite/g++.dg/ext/vla3.C | 1 + gcc/testsuite/g++.dg/ext/vla6.C | 1 + gcc/testsuite/g++.dg/ext/vla7.C | 1 + gcc/testsuite/g++.dg/init/array24.C | 1 + gcc/testsuite/g++.dg/init/new47.C | 1 + gcc/testsuite/g++.dg/init/pr55497.C | 1 + gcc/testsuite/g++.dg/opt/pr78201.C | 1 + gcc/testsuite/g++.dg/template/vla2.C | 1 + gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess1.C | 1 + gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess2.C | 1 + gcc/testsuite/g++.dg/torture/pr62127.C | 1 + gcc/testsuite/g++.dg/torture/pr67055.C | 1 + gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C | 1 + gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C | 1 + gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C | 1 + gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C | 1 + gcc/testsuite/g++.dg/warn/Wplacement-new-size-5.C | 1 + gcc/testsuite/g++.dg/warn/Wsizeof-pointer-memaccess-1.C | 1 + gcc/testsuite/g++.dg/warn/Wvla-1.C | 1 + gcc/testsuite/g++.dg/warn/Wvla-3.C | 2 ++ gcc/testsuite/g++.old-deja/g++.ext/array2.C | 1 + gcc/testsuite/g++.old-deja/g++.ext/constructor.C | 1 + gcc/testsuite/g++.old-deja/g++.law/builtin1.C | 1 + gcc/testsuite/g++.old-deja/g++.other/crash12.C | 1 + gcc/testsuite/g++.old-deja/g++.other/eh3.C | 1 + gcc/testsuite/g++.old-deja/g++.pt/array6.C | 1 + gcc/testsuite/g++.old-deja/g++.pt/dynarray.C | 1 + 48 files changed, 49 insertions(+) diff --git a/gcc/testsuite/c-c++-common/dwarf2/vla1.c b/gcc/testsuite/c-c++-common/dwarf2/vla1.c index e814bf5..f71f8f0 100644 --- a/gcc/testsuite/c-c++-common/dwarf2/vla1.c +++ b/gcc/testsuite/c-c++-common/dwarf2/vla1.c @@ -1,6 +1,7 @@ // PR debug/42800 // { dg-options "-gdwarf-2 -dA" } // { dg-final { scan-assembler "DW_AT_upper_bound" } } +// { dg-require-effective-target alloca } int f (int i) diff --git a/gcc/testsuite/g++.dg/Walloca1.C b/gcc/testsuite/g++.dg/Walloca1.C index 818c6f0..b860a42 100644 --- a/gcc/testsuite/g++.dg/Walloca1.C +++ b/gcc/testsuite/g++.dg/Walloca1.C @@ -1,6 +1,7 @@ /* PR middle-end/79809 */ /* { dg-do compile } */ /* { dg-options "-Walloca-larger-than=4207115063 -Wvla-larger-than=1233877270 -O2" } */ +/* { dg-require-effective-target alloca } */ int a; char *b = static_cast(__builtin_alloca (a)); // { dg-warning "argument to .alloca. may be too large|unbounded use of" } diff --git a/gcc/testsuite/g++.dg/cpp0x/pr70338.C b/gcc/testsuite/g++.dg/cpp0x/pr70338.C index 156cb91..0c5d50b 100644 --- a/gcc/testsuite/g++.dg/cpp0x/pr70338.C +++ b/gcc/testsuite/g++.dg/cpp0x/pr70338.C @@ -1,6 +1,7 @@ // PR c++/70338 // { dg-do compile { target c++11 } } // { dg-options "-g" } +// { dg-require-effective-target alloca } template void diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C index 4cabccb..94d1860 100644 --- a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C +++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-vla1.C @@ -1,6 +1,7 @@ // PR c++/59271 // { dg-do compile { target c++14 } } // { dg-options "-Wno-vla" } +// { dg-require-effective-target alloca } extern "C" int printf (const char *, ...); diff --git a/gcc/testsuite/g++.dg/cpp1y/vla10.C b/gcc/testsuite/g++.dg/cpp1y/vla10.C index f81ab9b..f4de532 100644 --- a/gcc/testsuite/g++.dg/cpp1y/vla10.C +++ b/gcc/testsuite/g++.dg/cpp1y/vla10.C @@ -1,6 +1,7 @@ // PR c++/57402 // { dg-do run } // { dg-options "" } +// { dg-require-effective-target alloca } int i = 2; diff --git a/gcc/testsuite/g++.dg/cpp1y/vla2.C b/gcc/testsuite/g++.dg/cpp1y/vla2.C index 07c3008..010b54c 100644 --- a/gcc/testsuite/g++.dg/cpp1y/vla2.C +++ b/gcc/testsuite/g++.dg/cpp1y/vla2.C @@ -1,6 +1,7 @@ // N3639 allows initialization and capture of VLAs // { dg-do run { target c++11 } } // { dg-options "-Wno-vla" } +// { dg-require-effective-target alloca } void f(int n) { diff --git a/gcc/testsuite/g++.dg/cpp1y/vla6.C b/gcc/testsuite/g++.dg/cpp1y/vla6.C index ca527a8..fc009cb 100644 --- a/gcc/testsuite/g++.dg/cpp1y/vla6.C +++ b/gcc/testsuite/g++.dg/cpp1y/vla6.C @@ -1,6 +1,7 @@ // PR c++/57404 // { dg-do compile { target c++11 } } // { dg-options "-g" } +// { dg-require-effective-target alloca } void f (int i) { diff --git a/gcc/testsuite/g++.dg/cpp1y/vla8.C b/gcc/testsuite/g++.dg/cpp1y/vla8.C index 68cafe5..43a7416 100644 --- a/gcc/testsuite/g++.dg/cpp1y/vla8.C +++ b/gcc/testsuite/g++.dg/cpp1y/vla8.C @@ -1,6 +1,7 @@ // PR c++/55149 // { dg-do compile { target c++11 } } // { dg-options "-Wno-vla" } +// { dg-require-effective-target alloca } template struct SA diff --git a/gcc/testsuite/g++.dg/debug/debug5.C b/gcc/testsuite/g++.dg/debug/debug5.C index 8dffa94..efed28c 100644 --- a/gcc/testsuite/g++.dg/debug/debug5.C +++ b/gcc/testsuite/g++.dg/debug/debug5.C @@ -1,4 +1,5 @@ // { dg-do compile } +// { dg-require-effective-target alloca } int foo() { diff --git a/gcc/testsuite/g++.dg/debug/debug6.C b/gcc/testsuite/g++.dg/debug/debug6.C index 64f121b..3622d01 100644 --- a/gcc/testsuite/g++.dg/debug/debug6.C +++ b/gcc/testsuite/g++.dg/debug/debug6.C @@ -1,4 +1,5 @@ // { dg-do compile } +// { dg-require-effective-target alloca } void foo() { diff --git a/gcc/testsuite/g++.dg/debug/pr54828.C b/gcc/testsuite/g++.dg/debug/pr54828.C index 80b9a3c..81c44de 100644 --- a/gcc/testsuite/g++.dg/debug/pr54828.C +++ b/gcc/testsuite/g++.dg/debug/pr54828.C @@ -1,6 +1,7 @@ // PR debug/54828 // { dg-do compile } // { dg-options "-g" } +// { dg-require-effective-target alloca } struct T { T (); virtual ~T (); }; struct S : public virtual T { S (); virtual ~S (); }; diff --git a/gcc/testsuite/g++.dg/diagnostic/pr70105.C b/gcc/testsuite/g++.dg/diagnostic/pr70105.C index 9c9b02c..55d5597 100644 --- a/gcc/testsuite/g++.dg/diagnostic/pr70105.C +++ b/gcc/testsuite/g++.dg/diagnostic/pr70105.C @@ -1,4 +1,5 @@ // { dg-options "-Wsequence-point -fdiagnostics-show-caret" } +// { dg-require-effective-target alloca } void *libiberty_concat_ptr; extern unsigned long concat_length (const char *, ...); diff --git a/gcc/testsuite/g++.dg/eh/cleanup5.C b/gcc/testsuite/g++.dg/eh/cleanup5.C index e74d067..79aa321 100644 --- a/gcc/testsuite/g++.dg/eh/cleanup5.C +++ b/gcc/testsuite/g++.dg/eh/cleanup5.C @@ -1,6 +1,7 @@ // PR 17907 // { dg-do compile } // { dg-options "" } +// { dg-require-effective-target alloca } // We lost a CLEANUP_POINT_EXPR, leading to a crash destroying temp of A. diff --git a/gcc/testsuite/g++.dg/eh/spbp.C b/gcc/testsuite/g++.dg/eh/spbp.C index 2440605..6f228f2 100644 --- a/gcc/testsuite/g++.dg/eh/spbp.C +++ b/gcc/testsuite/g++.dg/eh/spbp.C @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-gdwarf-2" } */ /* { dg-skip-if "No Dwarf" { { *-*-aix* hppa*-*-hpux* } && { ! hppa*64*-*-* } } } */ +/* { dg-require-effective-target alloca } */ /* This was a bug on x86-darwin, where the register numbering for SP and BP was swapped (it's easy to do because on that port it's diff --git a/gcc/testsuite/g++.dg/ext/tmplattr9.C b/gcc/testsuite/g++.dg/ext/tmplattr9.C index 090257a..c72e98e 100644 --- a/gcc/testsuite/g++.dg/ext/tmplattr9.C +++ b/gcc/testsuite/g++.dg/ext/tmplattr9.C @@ -1,6 +1,7 @@ // PR c++/34937, 34962 // { dg-require-weak "" } // { dg-options "" } +// { dg-require-effective-target alloca } struct A { diff --git a/gcc/testsuite/g++.dg/ext/vla10.C b/gcc/testsuite/g++.dg/ext/vla10.C index 17cdb2f..b48b173 100644 --- a/gcc/testsuite/g++.dg/ext/vla10.C +++ b/gcc/testsuite/g++.dg/ext/vla10.C @@ -1,5 +1,6 @@ // PR c++/48446 // { dg-options "" } +// { dg-require-effective-target alloca } template struct A diff --git a/gcc/testsuite/g++.dg/ext/vla11.C b/gcc/testsuite/g++.dg/ext/vla11.C index e733f48..9e0f203 100644 --- a/gcc/testsuite/g++.dg/ext/vla11.C +++ b/gcc/testsuite/g++.dg/ext/vla11.C @@ -1,6 +1,7 @@ // Test that auto works with VLAs. // { dg-do compile { target c++11 } } // { dg-options "-Wno-vla" } +// { dg-require-effective-target alloca } void bar(int n) { diff --git a/gcc/testsuite/g++.dg/ext/vla12.C b/gcc/testsuite/g++.dg/ext/vla12.C index bca8365..ad52daf 100644 --- a/gcc/testsuite/g++.dg/ext/vla12.C +++ b/gcc/testsuite/g++.dg/ext/vla12.C @@ -1,6 +1,7 @@ // VLA sizeof test // { dg-do compile } // { dg-options "" } +// { dg-require-effective-target alloca } int f1 (int i) diff --git a/gcc/testsuite/g++.dg/ext/vla15.C b/gcc/testsuite/g++.dg/ext/vla15.C index feeb49f..77436cb 100644 --- a/gcc/testsuite/g++.dg/ext/vla15.C +++ b/gcc/testsuite/g++.dg/ext/vla15.C @@ -1,6 +1,7 @@ // PR c++/44613 // { dg-do run } // { dg-options "" } +// { dg-require-effective-target alloca } void *volatile p; diff --git a/gcc/testsuite/g++.dg/ext/vla16.C b/gcc/testsuite/g++.dg/ext/vla16.C index fa51fee..4caa33c 100644 --- a/gcc/testsuite/g++.dg/ext/vla16.C +++ b/gcc/testsuite/g++.dg/ext/vla16.C @@ -1,5 +1,6 @@ // PR c++/72766 // { dg-options "-Wno-vla" } +// { dg-require-effective-target alloca } long fn1() { const int a = fn1(); diff --git a/gcc/testsuite/g++.dg/ext/vla17.C b/gcc/testsuite/g++.dg/ext/vla17.C index 431167c..3c2dbff 100644 --- a/gcc/testsuite/g++.dg/ext/vla17.C +++ b/gcc/testsuite/g++.dg/ext/vla17.C @@ -1,6 +1,7 @@ // PR c++/69487 // { dg-do run } // { dg-options -Wno-vla } +// { dg-require-effective-target alloca } int size = 6; diff --git a/gcc/testsuite/g++.dg/ext/vla3.C b/gcc/testsuite/g++.dg/ext/vla3.C index 329cc7d..5452280 100644 --- a/gcc/testsuite/g++.dg/ext/vla3.C +++ b/gcc/testsuite/g++.dg/ext/vla3.C @@ -1,5 +1,6 @@ // PR c++/28903 // { dg-options "" } +// { dg-require-effective-target alloca } template struct View diff --git a/gcc/testsuite/g++.dg/ext/vla6.C b/gcc/testsuite/g++.dg/ext/vla6.C index 83011f2..687e0bc 100644 --- a/gcc/testsuite/g++.dg/ext/vla6.C +++ b/gcc/testsuite/g++.dg/ext/vla6.C @@ -1,5 +1,6 @@ // PR c++/28879 // { dg-options "" } +// { dg-require-effective-target alloca } struct A { diff --git a/gcc/testsuite/g++.dg/ext/vla7.C b/gcc/testsuite/g++.dg/ext/vla7.C index 5246f9c..1a97ac0 100644 --- a/gcc/testsuite/g++.dg/ext/vla7.C +++ b/gcc/testsuite/g++.dg/ext/vla7.C @@ -1,5 +1,6 @@ // PR c++/40013 // { dg-options "" } +// { dg-require-effective-target alloca } template struct A diff --git a/gcc/testsuite/g++.dg/init/array24.C b/gcc/testsuite/g++.dg/init/array24.C index 2d72df4..b38033f 100644 --- a/gcc/testsuite/g++.dg/init/array24.C +++ b/gcc/testsuite/g++.dg/init/array24.C @@ -1,5 +1,6 @@ // PR c++/29175 // { dg-options "-Wno-vla" } +// { dg-require-effective-target alloca } void foo(int i) { diff --git a/gcc/testsuite/g++.dg/init/new47.C b/gcc/testsuite/g++.dg/init/new47.C index acd52d7..fadc4d9 100644 --- a/gcc/testsuite/g++.dg/init/new47.C +++ b/gcc/testsuite/g++.dg/init/new47.C @@ -1,6 +1,7 @@ // PR c++/70448 // { dg-do compile } // { dg-options "-Wall" } +// { dg-require-effective-target alloca } typedef __typeof__ (sizeof 0) size_t; void *operator new (size_t, void *p) { return p; } diff --git a/gcc/testsuite/g++.dg/init/pr55497.C b/gcc/testsuite/g++.dg/init/pr55497.C index b50f3fb..4d1eb74 100644 --- a/gcc/testsuite/g++.dg/init/pr55497.C +++ b/gcc/testsuite/g++.dg/init/pr55497.C @@ -1,5 +1,6 @@ // PR c++/55497 // { dg-options "-g" } +// { dg-require-effective-target alloca } int get(); diff --git a/gcc/testsuite/g++.dg/opt/pr78201.C b/gcc/testsuite/g++.dg/opt/pr78201.C index 82567bc..e2f2c14 100644 --- a/gcc/testsuite/g++.dg/opt/pr78201.C +++ b/gcc/testsuite/g++.dg/opt/pr78201.C @@ -1,6 +1,7 @@ // PR middle-end/78201 // { dg-do compile } // { dg-options "-O2" } +// { dg-require-effective-target alloca } struct B { long d (); } *c; long e; diff --git a/gcc/testsuite/g++.dg/template/vla2.C b/gcc/testsuite/g++.dg/template/vla2.C index 183f8fa..dcd384b 100644 --- a/gcc/testsuite/g++.dg/template/vla2.C +++ b/gcc/testsuite/g++.dg/template/vla2.C @@ -1,6 +1,7 @@ // PR c++/28879 // { dg-do compile } // { dg-options "" } +// { dg-require-effective-target alloca } struct A { diff --git a/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess1.C b/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess1.C index 16340eb..635d5f4 100644 --- a/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess1.C +++ b/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess1.C @@ -4,6 +4,7 @@ // Test just twice, once with -O0 non-fortified, once with -O2 fortified. // { dg-skip-if "" { *-*-* } { "*" } { "-O0" "-O2" } } // { dg-skip-if "" { *-*-* } { "-flto" } { "" } } +// { dg-require-effective-target alloca } extern "C" { diff --git a/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess2.C b/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess2.C index 2dff8f0..b566c2a 100644 --- a/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess2.C +++ b/gcc/testsuite/g++.dg/torture/Wsizeof-pointer-memaccess2.C @@ -5,6 +5,7 @@ // suppressing buffer overflow warnings. // { dg-skip-if "" { *-*-* } { "*" } { "-O0" "-O2" } } // { dg-skip-if "" { *-*-* } { "-flto" } { "" } } +// { dg-require-effective-target alloca } extern "C" { diff --git a/gcc/testsuite/g++.dg/torture/pr62127.C b/gcc/testsuite/g++.dg/torture/pr62127.C index 7b83a26..fe5d439 100644 --- a/gcc/testsuite/g++.dg/torture/pr62127.C +++ b/gcc/testsuite/g++.dg/torture/pr62127.C @@ -1,4 +1,5 @@ // { dg-do compile } +// { dg-require-effective-target alloca } struct A { A(int); diff --git a/gcc/testsuite/g++.dg/torture/pr67055.C b/gcc/testsuite/g++.dg/torture/pr67055.C index 6621e58..5089f09 100644 --- a/gcc/testsuite/g++.dg/torture/pr67055.C +++ b/gcc/testsuite/g++.dg/torture/pr67055.C @@ -1,5 +1,6 @@ // { dg-do compile } // { dg-additional-options "-std=c++14" } +// { dg-require-effective-target alloca } namespace std { typedef __SIZE_TYPE__ size_t; diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C index 02693c0..dd8c365 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-alloca-1.C @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */ +/* { dg-require-effective-target alloca } */ #include "check.h" diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C index e630f33..1bf52d3 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-inline-2.C @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */ +/* { dg-require-effective-target alloca } */ #include "check.h" diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C index efee8bb..d0611dc 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-1.C @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */ +/* { dg-require-effective-target alloca } */ #include #include "check.h" diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C index d324383..684fadb 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-vararg-2.C @@ -1,6 +1,7 @@ /* { dg-options "-Wno-abi" {target arm_eabi} } */ /* { dg-do run } */ /* { dg-skip-if "Stack alignment is too small" { hppa*-*-hpux* } } */ +/* { dg-require-effective-target alloca } */ #include #include "check.h" diff --git a/gcc/testsuite/g++.dg/warn/Wplacement-new-size-5.C b/gcc/testsuite/g++.dg/warn/Wplacement-new-size-5.C index 178d737..0bed577 100644 --- a/gcc/testsuite/g++.dg/warn/Wplacement-new-size-5.C +++ b/gcc/testsuite/g++.dg/warn/Wplacement-new-size-5.C @@ -2,6 +2,7 @@ // warn_placement_new_too_small // { dg-do compile } // { dg-additional-options "-Wplacement-new -Wno-pedantic" } +// { dg-require-effective-target alloca } #define SIZE_MAX __SIZE_MAX__ #define DIFF_MAX __PTRDIFF_MAX__ diff --git a/gcc/testsuite/g++.dg/warn/Wsizeof-pointer-memaccess-1.C b/gcc/testsuite/g++.dg/warn/Wsizeof-pointer-memaccess-1.C index 798cb6d..18aa90b 100644 --- a/gcc/testsuite/g++.dg/warn/Wsizeof-pointer-memaccess-1.C +++ b/gcc/testsuite/g++.dg/warn/Wsizeof-pointer-memaccess-1.C @@ -1,6 +1,7 @@ // Test -Wsizeof-pointer-memaccess warnings. // { dg-do compile } // { dg-options "-Wall -Wno-sizeof-array-argument" } +// { dg-require-effective-target alloca } typedef __SIZE_TYPE__ size_t; extern "C" void *memset (void *, int, size_t); diff --git a/gcc/testsuite/g++.dg/warn/Wvla-1.C b/gcc/testsuite/g++.dg/warn/Wvla-1.C index ca3669a..5d261fc 100644 --- a/gcc/testsuite/g++.dg/warn/Wvla-1.C +++ b/gcc/testsuite/g++.dg/warn/Wvla-1.C @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-Wvla" } */ +/* { dg-require-effective-target alloca } */ void func (int i) { diff --git a/gcc/testsuite/g++.dg/warn/Wvla-3.C b/gcc/testsuite/g++.dg/warn/Wvla-3.C index 259c576..fcfb0da 100644 --- a/gcc/testsuite/g++.dg/warn/Wvla-3.C +++ b/gcc/testsuite/g++.dg/warn/Wvla-3.C @@ -1,5 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-pedantic-errors -Wno-vla" } */ +/* { dg-require-effective-target alloca } */ +/* { dg-require-effective-target alloca } */ void func (int i) { diff --git a/gcc/testsuite/g++.old-deja/g++.ext/array2.C b/gcc/testsuite/g++.old-deja/g++.ext/array2.C index 88482fe..527239f 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/array2.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/array2.C @@ -1,5 +1,6 @@ // { dg-do assemble } // { dg-options "-w" } +// { dg-require-effective-target alloca } // This testcase used to cause a crash on the Alpha. struct A { diff --git a/gcc/testsuite/g++.old-deja/g++.ext/constructor.C b/gcc/testsuite/g++.old-deja/g++.ext/constructor.C index 3dc15c5..2ee6b34 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/constructor.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/constructor.C @@ -1,5 +1,6 @@ // { dg-do run } // { dg-options "" } +// { dg-require-effective-target alloca } // Testcase for constructor expressions (GNU extension) struct Any { diff --git a/gcc/testsuite/g++.old-deja/g++.law/builtin1.C b/gcc/testsuite/g++.old-deja/g++.law/builtin1.C index de22864..cc4cc87 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/builtin1.C +++ b/gcc/testsuite/g++.old-deja/g++.law/builtin1.C @@ -1,5 +1,6 @@ // { dg-do run } // { dg-options "" } +// { dg-require-effective-target alloca } // GROUPS passed builtins // Apparently not in g++ bug snapshot (was originally sent to bug-gcc) // Message-Id: diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash12.C b/gcc/testsuite/g++.old-deja/g++.other/crash12.C index 73bbb8b..4639e76 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/crash12.C +++ b/gcc/testsuite/g++.old-deja/g++.other/crash12.C @@ -1,5 +1,6 @@ // { dg-do assemble } // { dg-options "" } +// { dg-require-effective-target alloca } // Origin: Alfred Minarik template diff --git a/gcc/testsuite/g++.old-deja/g++.other/eh3.C b/gcc/testsuite/g++.old-deja/g++.other/eh3.C index 4e61892..497cfde 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/eh3.C +++ b/gcc/testsuite/g++.old-deja/g++.other/eh3.C @@ -1,5 +1,6 @@ // { dg-do run } // { dg-options "-O" } +// { dg-require-effective-target alloca } typedef struct { } e; char *p; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/array6.C b/gcc/testsuite/g++.old-deja/g++.pt/array6.C index b48cabd..4d00d04 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/array6.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/array6.C @@ -1,5 +1,6 @@ // { dg-do assemble } // { dg-options "" } +// { dg-require-effective-target alloca } // Origin: Alfred Minarik template diff --git a/gcc/testsuite/g++.old-deja/g++.pt/dynarray.C b/gcc/testsuite/g++.old-deja/g++.pt/dynarray.C index 7376f91..7817a73 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/dynarray.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/dynarray.C @@ -1,5 +1,6 @@ // { dg-do assemble } // { dg-options "" } +// { dg-require-effective-target alloca } // Origin: Theo Papadopoulo inline const unsigned& f(unsigned const& a) {