From patchwork Wed Aug 14 21:36:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jose E. Marchesi" X-Patchwork-Id: 1147247 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-506990-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="m/mYjHym"; dkim=pass (2048-bit key; unprotected) header.d=oracle.com header.i=@oracle.com header.b="T2/AekA3"; 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 4682z00bXxz9sNk for ; Thu, 15 Aug 2019 07:39:07 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:in-reply-to:references; q=dns; s= default; b=Xg4qNqrPRHa0h/jZlmsDX0oTfz8dLwpvZOBbI7Cc45PJ8By+1gtEr qRe5xC/o70SgBjjEtLkdDWyG8JrUKV838tweN1ET38ybsYXyn9UQPGEkzf2ocMP8 Q2SPbtYSS4Oy9NgRKQ6XIedfeGq7ElPbQjVfXxTjdY/PYwTGq0NpPo= 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:from :to:subject:date:message-id:in-reply-to:references; s=default; bh=zzAjScTAk7ZhILwp1sxOC5py21Q=; b=m/mYjHym5cGDTKiM3Sm30x8Pu8my pAkY3VxzpiHUFyFqGPSc0rp/zFnIYqVcTm7HXRtp3vzeNNY2bZdPrRmBZ/vKGZ+q /3aIqkY9UipUu3zk2dTrbzdWUQMFMqGr3zlQ7bjDUb1AJxQrHJwHYZD0lsYHLyG3 JiORZ4EoPqsU3sE= Received: (qmail 85733 invoked by alias); 14 Aug 2019 21:37:27 -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 85625 invoked by uid 89); 14 Aug 2019 21:37:27 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-20.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_STOCKGEN, SPF_HELO_PASS, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 spammy=serrano, Serrano, AA, aa X-HELO: userp2120.oracle.com Received: from userp2120.oracle.com (HELO userp2120.oracle.com) (156.151.31.85) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 14 Aug 2019 21:37:11 +0000 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x7ELYCw0091765 for ; Wed, 14 Aug 2019 21:37:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references; s=corp-2019-08-05; bh=+nccRK+VY10dLAQVAQPziF/3XmutMyng/5YPrNn6mA0=; b=T2/AekA3ChrnoNH3Rs0Gt1mOkRxSq9P97FsRil9iXaTjA2r7RmqnSuxVHFE/1NT3Rbry l6dRLPyp8f5bi5O+duYDx6LmV8XUsHXOn9R8xPmuhyZxGNHP6VRCPMtQUG9IYF4DFzIC Mi/3lkZiFessSny4wuzIhKz2/3l8BuWXOIDnbWSAVqhhSych3QOzZa/lykNk1Udfrra+ Bc3tXTuMFnV4FI3+qaJsXG3fYZ/aSPnJtMZ6CuF/dMDaIm+ADbFNwN5/pcgcA0GQ0BtK PiDb6yEVvNjgU/ee+KCFXt4suVGuQvqNjn1WYKr2roJmFxfNZDSROrX4iwQPEM6DxEM1 HA== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 2u9pjqq8xv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 14 Aug 2019 21:37:09 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x7ELSHEa122390 for ; Wed, 14 Aug 2019 21:37:09 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 2ucmwhx5qe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 14 Aug 2019 21:37:08 +0000 Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x7ELb7cf002759 for ; Wed, 14 Aug 2019 21:37:07 GMT Received: from termi.localdomain (/10.175.39.187) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 14 Aug 2019 14:37:05 -0700 From: "Jose E. Marchesi" To: gcc-patches@gcc.gnu.org Subject: [PATCH 6/8] bpf: adjust GCC testsuite to eBPF limitations Date: Wed, 14 Aug 2019 23:36:49 +0200 Message-Id: <20190814213651.20286-7-jose.marchesi@oracle.com> In-Reply-To: <20190814213651.20286-1-jose.marchesi@oracle.com> References: <20190814213651.20286-1-jose.marchesi@oracle.com> X-IsSubscribed: yes This patch makes many tests in gcc.dg and gcc.c-torture to be skipped in bpf-*-* targets. This is due to the many limitations imposed by eBPF to what would be perfectly valid C code: no support for indirect calls, no support for more than 5 arguments to function calls, no support for indirect jumps, a very limited range for direct jumps, the stack limit, lack of standard header files, etc. Hopefully some of these restrictions will be relaxed in the future. In particular, I expect the stack limit will be significantly increased at some point. Also, as semantics associated with object linking get developed in eBPF, it may be possible at some point to provide a set of standard run-time libraries for eBPF programs. gcc/testsuite/ChangeLog: * gcc.dg/builtins-config.h: eBPF doesn't support C99 standard functions. * gcc.c-torture/compile/20000211-1.c: Skip if target bpf-*-*. * gcc.c-torture/compile/20000403-1.c: Likewise. * gcc.c-torture/compile/20000609-1.c: Likewise. * gcc.c-torture/compile/20000804-1.c: Likewise. * gcc.c-torture/compile/20001226-1.c: Likewise. * gcc.c-torture/compile/20010102-1.c: Likewise. * gcc.c-torture/compile/20010107-1.c: Likewise. * gcc.c-torture/compile/20011109-1.c: Likewise. * gcc.c-torture/compile/20011218-1.c: Likewise. * gcc.c-torture/compile/20011229-1.c: Likewise. * gcc.c-torture/compile/20020129-1.c: Likewise. * gcc.c-torture/compile/20020304-1.c: Likewise. * gcc.c-torture/compile/20020320-1.c: Likewise. * gcc.c-torture/compile/20020604-1.c: Likewise. * gcc.c-torture/compile/20020706-1.c: Likewise. * gcc.c-torture/compile/20020706-2.c: Likewise. * gcc.c-torture/compile/20021015-1.c: Likewise. * gcc.c-torture/compile/20021205-1.c: Likewise. * gcc.c-torture/compile/20030903-1.c: Likewise. * gcc.c-torture/compile/20030921-1.c: Likewise. * gcc.c-torture/compile/20031023-1.c: Likewise. * gcc.c-torture/compile/20031023-2.c: Likewise. * gcc.c-torture/compile/20031023-3.c: Likewise. * gcc.c-torture/compile/20031023-4.c: Likewise. * gcc.c-torture/compile/20031125-1.c: Likewise. * gcc.c-torture/compile/20040101-1.c: Likewise. * gcc.c-torture/compile/20040317-2.c: Likewise. * gcc.c-torture/compile/20040614-1.c: Likewise. * gcc.c-torture/compile/20040726-1.c: Likewise. * gcc.c-torture/compile/20040909-1.c: Likewise. * gcc.c-torture/compile/20050122-1.c: Likewise. * gcc.c-torture/compile/20050202-1.c: Likewise. * gcc.c-torture/compile/20050303-1.c: Likewise. * gcc.c-torture/compile/20050622-1.c: Likewise. * gcc.c-torture/compile/20051216-1.c: Likewise. * gcc.c-torture/compile/20060208-1.c: Likewise. * gcc.c-torture/compile/20060421-1.c: Likewise. * gcc.c-torture/compile/20071207-1.c: Likewise. * gcc.c-torture/compile/20080903-1.c: Likewise. * gcc.c-torture/compile/20081108-1.c: Likewise. * gcc.c-torture/compile/20101217-1.c: Likewise. * gcc.c-torture/compile/20121027-1.c: Likewise. * gcc.c-torture/compile/20150327.c: Likewise. * gcc.c-torture/compile/20151204.c: Likewise. * gcc.c-torture/compile/900313-1.c: Likewise. * gcc.c-torture/compile/920428-2.c: Likewise. * gcc.c-torture/compile/920501-12.c: Likewise. * gcc.c-torture/compile/920501-4.c: Likewise. * gcc.c-torture/compile/920501-7.c: Likewise. * gcc.c-torture/compile/920625-1.c: Likewise. * gcc.c-torture/compile/920723-1.c: Likewise. * gcc.c-torture/compile/920928-5.c: Likewise. * gcc.c-torture/compile/921202-1.c: Likewise. * gcc.c-torture/compile/930117-1.c: Likewise. * gcc.c-torture/compile/930421-1.c: Likewise. * gcc.c-torture/compile/930607-1.c: Likewise. * gcc.c-torture/compile/930623-1.c: Likewise. * gcc.c-torture/compile/931003-1.c: Likewise. * gcc.c-torture/compile/931004-1.c: Likewise. * gcc.c-torture/compile/950719-1.c: Likewise. * gcc.c-torture/compile/951222-1.c: Likewise. * gcc.c-torture/compile/961004-1.c: Likewise. * gcc.c-torture/compile/980504-1.c: Likewise. * gcc.c-torture/compile/980816-1.c: Likewise. * gcc.c-torture/compile/990517-1.c: Likewise. * gcc.c-torture/compile/990625-1.c: Likewise. * gcc.c-torture/compile/991213-2.c: Likewise. * gcc.c-torture/compile/DFcmp.c: Likewise. * gcc.c-torture/compile/HIcmp.c: Likewise. * gcc.c-torture/compile/HIset.c: Likewise. * gcc.c-torture/compile/QIcmp.c: Likewise. * gcc.c-torture/compile/QIset.c: Likewise. * gcc.c-torture/compile/SFset.c: Likewise. * gcc.c-torture/compile/SIcmp.c: Likewise. * gcc.c-torture/compile/SIset.c: Likewise. * gcc.c-torture/compile/UHIcmp.c: Likewise. * gcc.c-torture/compile/UQIcmp.c: Likewise. * gcc.c-torture/compile/USIcmp.c: Likewise. * gcc.c-torture/compile/bcopy.c: Likewise. * gcc.c-torture/compile/callind.c: Likewise. * gcc.c-torture/compile/calls-void.c: Likewise. * gcc.c-torture/compile/calls.c: Likewise. * gcc.c-torture/compile/consec.c: Likewise. * gcc.c-torture/compile/limits-fndefn.c: Likewise. * gcc.c-torture/compile/lll.c: Likewise. * gcc.c-torture/compile/parms.c: Likewise. * gcc.c-torture/compile/pass.c: Likewise. * gcc.c-torture/compile/poor.c: Likewise. * gcc.c-torture/compile/pp.c: Likewise. * gcc.c-torture/compile/pr21840.c: Likewise. * gcc.c-torture/compile/pr23929.c: Likewise. * gcc.c-torture/compile/pr25310.c: Likewise. * gcc.c-torture/compile/pr25311.c: Likewise. * gcc.c-torture/compile/pr32139.c: Likewise. * gcc.c-torture/compile/pr32399.c: Likewise. * gcc.c-torture/compile/pr34091.c: Likewise. * gcc.c-torture/compile/pr34458.c: Likewise. * gcc.c-torture/compile/pr34688.c: Likewise. * gcc.c-torture/compile/pr35607.c: Likewise. * gcc.c-torture/compile/pr37258.c: Likewise. * gcc.c-torture/compile/pr37327.c: Likewise. * gcc.c-torture/compile/pr37381.c: Likewise. * gcc.c-torture/compile/pr37433-1.c: Likewise. * gcc.c-torture/compile/pr37433.c: Likewise. * gcc.c-torture/compile/pr37669-2.c: Likewise. * gcc.c-torture/compile/pr37669.c: Likewise. * gcc.c-torture/compile/pr37742-3.c: Likewise. * gcc.c-torture/compile/pr39937.c: Likewise. * gcc.c-torture/compile/pr39941.c: Likewise. * gcc.c-torture/compile/pr40080.c: Likewise. * gcc.c-torture/compile/pr41181.c: Likewise. * gcc.c-torture/compile/pr41634.c: Likewise. * gcc.c-torture/compile/pr43415.c: Likewise. * gcc.c-torture/compile/pr43417.c: Likewise. * gcc.c-torture/compile/pr43635.c: Likewise. * gcc.c-torture/compile/pr43791.c: Likewise. * gcc.c-torture/compile/pr43845.c: Likewise. * gcc.c-torture/compile/pr44043.c: Likewise. * gcc.c-torture/compile/pr44063.c: Likewise. * gcc.c-torture/compile/pr44788.c: Likewise. * gcc.c-torture/compile/pr48596.c: Likewise. * gcc.c-torture/compile/pr51694.c: Likewise. * gcc.c-torture/compile/pr51856.c: Likewise. * gcc.c-torture/compile/pr52750.c: Likewise. * gcc.c-torture/compile/pr54713-1.c: Likewise. * gcc.c-torture/compile/pr54713-2.c: Likewise. * gcc.c-torture/compile/pr54713-3.c: Likewise. * gcc.c-torture/compile/pr55921.c: Likewise. * gcc.c-torture/compile/pr70240.c: Likewise. * gcc.c-torture/compile/pr70355.c: Likewise. * gcc.c-torture/compile/pr77754-2.c: Likewise. * gcc.c-torture/compile/pr77754-3.c: Likewise. * gcc.c-torture/compile/pr77754-4.c: Likewise. * gcc.c-torture/compile/pr82052.c: Likewise. * gcc.c-torture/compile/pr83487.c: Likewise. * gcc.c-torture/compile/pr86122.c: Likewise. * gcc.c-torture/compile/pr89280.c: Likewise. * gcc.c-torture/compile/pr89663-2.c: Likewise. * gcc.c-torture/compile/pret-arg.c: Likewise. * gcc.c-torture/compile/pta-1.c: Likewise. * gcc.c-torture/compile/regs-arg-size.c: Likewise. * gcc.c-torture/compile/sound.c: Likewise. * gcc.c-torture/compile/stack-check-1.c: Likewise. * gcc.c-torture/compile/structret.c: Likewise. * gcc.c-torture/compile/uuarg.c: Likewise. * gcc.dg/20001009-1.c: Likewise. * gcc.dg/20020418-1.c: Likewise. * gcc.dg/20020426-2.c: Likewise. * gcc.dg/20020430-1.c: Likewise. * gcc.dg/20040306-1.c: Likewise. * gcc.dg/20040622-2.c: Likewise. * gcc.dg/20050603-2.c: Likewise. * gcc.dg/20050629-1.c: Likewise. * gcc.dg/20061026.c: Likewise. * gcc.dg/Walloc-size-larger-than-18.c: Likewise. * gcc.dg/Warray-bounds-3.c: Likewise. * gcc.dg/Warray-bounds-30.c: Likewise. * gcc.dg/Wframe-larger-than-2.c: Likewise. * gcc.dg/Wframe-larger-than.c: Likewise. * gcc.dg/Wrestrict-11.c: Likewise. --- gcc/testsuite/ChangeLog | 165 +++++++++++++++++++++ gcc/testsuite/gcc.c-torture/compile/20000211-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20000403-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20000609-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20000804-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20001226-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20010102-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20010107-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20011109-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20011218-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20011229-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20020129-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20020304-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20020320-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20020604-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20020706-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20020706-2.c | 1 + gcc/testsuite/gcc.c-torture/compile/20021015-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20021205-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20030903-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20030921-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20031023-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20031023-2.c | 2 + gcc/testsuite/gcc.c-torture/compile/20031023-3.c | 2 + gcc/testsuite/gcc.c-torture/compile/20031023-4.c | 2 + gcc/testsuite/gcc.c-torture/compile/20031125-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20040101-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20040317-2.c | 2 + gcc/testsuite/gcc.c-torture/compile/20040614-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20040726-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20040909-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20050122-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20050202-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20050303-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20050622-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20051216-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20060208-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20060421-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20071207-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20080903-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20081108-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20101217-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20121027-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/20150327.c | 2 + gcc/testsuite/gcc.c-torture/compile/20151204.c | 1 + gcc/testsuite/gcc.c-torture/compile/900313-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/920428-2.c | 2 + gcc/testsuite/gcc.c-torture/compile/920501-12.c | 1 + gcc/testsuite/gcc.c-torture/compile/920501-4.c | 1 + gcc/testsuite/gcc.c-torture/compile/920501-7.c | 1 + gcc/testsuite/gcc.c-torture/compile/920625-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/920723-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/920928-5.c | 3 + gcc/testsuite/gcc.c-torture/compile/921202-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/930117-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/930421-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/930607-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/930623-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/931003-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/931004-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/950719-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/951222-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/961004-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/980504-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/980816-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/990517-1.c | 3 + gcc/testsuite/gcc.c-torture/compile/990625-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/991213-2.c | 2 + gcc/testsuite/gcc.c-torture/compile/DFcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/HIcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/HIset.c | 2 + gcc/testsuite/gcc.c-torture/compile/QIcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/QIset.c | 2 + gcc/testsuite/gcc.c-torture/compile/SFset.c | 1 + gcc/testsuite/gcc.c-torture/compile/SIcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/SIset.c | 2 + gcc/testsuite/gcc.c-torture/compile/UHIcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/UQIcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/USIcmp.c | 2 + gcc/testsuite/gcc.c-torture/compile/bcopy.c | 1 + gcc/testsuite/gcc.c-torture/compile/callind.c | 2 + gcc/testsuite/gcc.c-torture/compile/calls-void.c | 1 + gcc/testsuite/gcc.c-torture/compile/calls.c | 1 + gcc/testsuite/gcc.c-torture/compile/consec.c | 2 + .../gcc.c-torture/compile/limits-fndefn.c | 1 + gcc/testsuite/gcc.c-torture/compile/lll.c | 1 + gcc/testsuite/gcc.c-torture/compile/parms.c | 1 + gcc/testsuite/gcc.c-torture/compile/pass.c | 2 + gcc/testsuite/gcc.c-torture/compile/poor.c | 2 + gcc/testsuite/gcc.c-torture/compile/pp.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr21840.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr23929.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr25310.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr25311.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr32139.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr32399.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr34091.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr34458.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr34688.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr35607.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr37258.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr37327.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr37381.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr37433-1.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr37433.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr37669-2.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr37669.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr37742-3.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr39937.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr39941.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr40080.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr41181.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr41634.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr43415.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr43417.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr43635.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr43791.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr43845.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr44043.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr44063.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr44788.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr48596.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr51694.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr51856.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr52750.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr54713-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr54713-2.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr54713-3.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr55921.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr70240.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr70355.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr77754-2.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr77754-3.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr77754-4.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr82052.c | 2 + gcc/testsuite/gcc.c-torture/compile/pr83487.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr86122.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr89280.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr89663-2.c | 1 + gcc/testsuite/gcc.c-torture/compile/pret-arg.c | 2 + gcc/testsuite/gcc.c-torture/compile/pta-1.c | 2 + .../gcc.c-torture/compile/regs-arg-size.c | 2 + gcc/testsuite/gcc.c-torture/compile/sound.c | 1 + .../gcc.c-torture/compile/stack-check-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/structret.c | 2 + gcc/testsuite/gcc.c-torture/compile/uuarg.c | 2 + gcc/testsuite/gcc.dg/20001009-1.c | 1 + gcc/testsuite/gcc.dg/20020418-1.c | 1 + gcc/testsuite/gcc.dg/20020426-2.c | 1 + gcc/testsuite/gcc.dg/20020430-1.c | 1 + gcc/testsuite/gcc.dg/20040306-1.c | 2 +- gcc/testsuite/gcc.dg/20040622-2.c | 1 + gcc/testsuite/gcc.dg/20050603-2.c | 1 + gcc/testsuite/gcc.dg/20050629-1.c | 1 + gcc/testsuite/gcc.dg/20061026.c | 1 + gcc/testsuite/gcc.dg/Walloc-size-larger-than-18.c | 1 + gcc/testsuite/gcc.dg/Warray-bounds-3.c | 1 + gcc/testsuite/gcc.dg/Warray-bounds-30.c | 3 +- gcc/testsuite/gcc.dg/Wframe-larger-than-2.c | 3 +- gcc/testsuite/gcc.dg/Wframe-larger-than.c | 1 + gcc/testsuite/gcc.dg/Wrestrict-11.c | 3 +- gcc/testsuite/gcc.dg/builtins-config.h | 4 +- 162 files changed, 431 insertions(+), 5 deletions(-) diff --git a/gcc/testsuite/gcc.c-torture/compile/20000211-1.c b/gcc/testsuite/gcc.c-torture/compile/20000211-1.c index 7a7c8c0cb20..b83d6a40520 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000211-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000211-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef __SIZE_TYPE__ size_t; typedef unsigned char Bufbyte; typedef int Bytecount; diff --git a/gcc/testsuite/gcc.c-torture/compile/20000403-1.c b/gcc/testsuite/gcc.c-torture/compile/20000403-1.c index 27345b56fef..cb56028fb8b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000403-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000403-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + struct utsname { char sysname[32 ]; char version[32 ]; diff --git a/gcc/testsuite/gcc.c-torture/compile/20000609-1.c b/gcc/testsuite/gcc.c-torture/compile/20000609-1.c index f03aa35a7ac..9a891a82534 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000609-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000609-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + int main () { char temp[1024] = "tempfile"; diff --git a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c index 35464c212d2..1a8e80c5489 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c @@ -6,6 +6,7 @@ /* { dg-skip-if "Not enough 64-bit registers" { pdp11-*-* } { "-O0" } { "" } } */ /* { dg-xfail-if "Inconsistent constraint on asm" { csky-*-* } { "-O0" } { "" } } */ /* { dg-xfail-if "" { h8300-*-* } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* Copyright (C) 2000, 2003 Free Software Foundation */ __complex__ long long f () diff --git a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c index be0bdcf7631..9f6bd0af2e5 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c @@ -3,6 +3,7 @@ /* { dg-skip-if "too much code for pdp11" { "pdp11-*-*" } } */ /* { dg-xfail-if "PR36698" { spu-*-* } { "-O0" } { "" } } */ /* { dg-skip-if "" { m32c-*-* } } */ +/* { dg-skip-if "jumps too far for eBPF" { bpf-*-* } } */ /* { dg-timeout-factor 4.0 } */ /* This testcase exposed two branch shortening bugs on powerpc. */ diff --git a/gcc/testsuite/gcc.c-torture/compile/20010102-1.c b/gcc/testsuite/gcc.c-torture/compile/20010102-1.c index a409b566098..2896f6a6b75 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20010102-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20010102-1.c @@ -4,6 +4,8 @@ Copyright (C) 2001 Free Software Foundation. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + # define PTR_INT_TYPE __PTRDIFF_TYPE__ struct _obstack_chunk diff --git a/gcc/testsuite/gcc.c-torture/compile/20010107-1.c b/gcc/testsuite/gcc.c-torture/compile/20010107-1.c index 222def4d9ef..1214beb0d26 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20010107-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20010107-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + unsigned long x[4]; void foo(void) diff --git a/gcc/testsuite/gcc.c-torture/compile/20011109-1.c b/gcc/testsuite/gcc.c-torture/compile/20011109-1.c index f1987a74bf2..96b225f2fea 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20011109-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20011109-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef struct { short x[4]; } S; typedef struct { unsigned int a, b, c; S *d; } T; diff --git a/gcc/testsuite/gcc.c-torture/compile/20011218-1.c b/gcc/testsuite/gcc.c-torture/compile/20011218-1.c index bf63489b855..d7971655c58 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20011218-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20011218-1.c @@ -2,6 +2,8 @@ for the indirect call was exposed too early and reload couldn't allocate it for multiplication and division. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + struct S { int a, b; void (*f) (long, int); diff --git a/gcc/testsuite/gcc.c-torture/compile/20011229-1.c b/gcc/testsuite/gcc.c-torture/compile/20011229-1.c index 97b2655434a..7ebd2068d22 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20011229-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20011229-1.c @@ -1,5 +1,7 @@ /* ICE: call insn does not satisfy its constraints, MMIX port. Origin: ghostscript-6.52, reduction from hp@bitrange.com. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + struct s0 { void (*init_color)(void *, void *); diff --git a/gcc/testsuite/gcc.c-torture/compile/20020129-1.c b/gcc/testsuite/gcc.c-torture/compile/20020129-1.c index 7b17ba475e4..b137912f393 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020129-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020129-1.c @@ -1,4 +1,5 @@ /* Test call to static variable. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ typedef struct { diff --git a/gcc/testsuite/gcc.c-torture/compile/20020304-1.c b/gcc/testsuite/gcc.c-torture/compile/20020304-1.c index 3940d5ffd2e..726ba925b7e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020304-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020304-1.c @@ -4,6 +4,8 @@ Original bug report is c/5830 by Manuel Serrano . */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef union scmobj { struct pair { union scmobj *car; diff --git a/gcc/testsuite/gcc.c-torture/compile/20020320-1.c b/gcc/testsuite/gcc.c-torture/compile/20020320-1.c index 385c061e193..36245fc7c17 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020320-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020320-1.c @@ -2,6 +2,8 @@ This testcase caused infinite loop in flow (several places), because flow assumes gen_jump generates simple_jump_p. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef void (*T) (void); extern T x[]; diff --git a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c index d2e186a7182..82eb47a1fa9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c @@ -1,6 +1,7 @@ /* { dg-do assemble } */ /* { dg-require-effective-target ptr32plus } */ /* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* PR c/6957 This testcase ICEd at -O2 on IA-32, because diff --git a/gcc/testsuite/gcc.c-torture/compile/20020706-1.c b/gcc/testsuite/gcc.c-torture/compile/20020706-1.c index c8811bc68ff..d2e0b330ef5 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020706-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020706-1.c @@ -1,5 +1,6 @@ // Contributed by Alexandre Oliva // From Red Hat case 106165. +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ typedef struct s1 { diff --git a/gcc/testsuite/gcc.c-torture/compile/20020706-2.c b/gcc/testsuite/gcc.c-torture/compile/20020706-2.c index b84dda60fd3..14a872f6abd 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020706-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020706-2.c @@ -1,5 +1,6 @@ // Contributed by Alexandre Oliva // From Red Hat case 106165. +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ typedef unsigned short (FUNC_P) (void *, unsigned char *, unsigned short); diff --git a/gcc/testsuite/gcc.c-torture/compile/20021015-1.c b/gcc/testsuite/gcc.c-torture/compile/20021015-1.c index 789b8a8b176..dd49659a9d4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20021015-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20021015-1.c @@ -1,4 +1,5 @@ /* PR target/7370. */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ int g (int *x, int *y); diff --git a/gcc/testsuite/gcc.c-torture/compile/20021205-1.c b/gcc/testsuite/gcc.c-torture/compile/20021205-1.c index 73648e94951..f9959ca96f4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20021205-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20021205-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef struct x x; extern void *baz(char *); struct x { char * (*bar) (int); }; diff --git a/gcc/testsuite/gcc.c-torture/compile/20030903-1.c b/gcc/testsuite/gcc.c-torture/compile/20030903-1.c index fa4d30db6c0..116b0923721 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20030903-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20030903-1.c @@ -1,6 +1,8 @@ /* Derived from PR optimization/11700. */ /* The compiler used to ICE during reload for m68k targets. */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + void check_complex (__complex__ double, __complex__ double, __complex__ double, __complex__ int); void check_float (double, double, double, int); diff --git a/gcc/testsuite/gcc.c-torture/compile/20030921-1.c b/gcc/testsuite/gcc.c-torture/compile/20030921-1.c index 8199dc657f2..6b6b559e331 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20030921-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20030921-1.c @@ -2,6 +2,7 @@ f is not being emitted. TREE_SYMBOL_REFERENCED was being set instead of calling mark_referenced. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ static void f(void); void g(void (*x) (void)){x();} diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-1.c b/gcc/testsuite/gcc.c-torture/compile/20031023-1.c index be837762e66..960fec3667a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-1.c @@ -1,5 +1,7 @@ /* Declaration of the frame size doesn't work on ptx. */ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + #ifndef ASIZE # define ASIZE 0x10000000000UL #endif diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-2.c b/gcc/testsuite/gcc.c-torture/compile/20031023-2.c index 66d66458c85..5df9162c487 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-2.c @@ -1,4 +1,6 @@ /* Declaration of the frame size doesn't work on ptx. */ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + #define ASIZE 0x1000000000UL #include "20031023-1.c" diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-3.c b/gcc/testsuite/gcc.c-torture/compile/20031023-3.c index 5859634c343..5030c9feb45 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-3.c @@ -1,4 +1,6 @@ /* Declaration of the frame size doesn't work on ptx. */ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + #define ASIZE 0x100000000UL #include "20031023-1.c" diff --git a/gcc/testsuite/gcc.c-torture/compile/20031023-4.c b/gcc/testsuite/gcc.c-torture/compile/20031023-4.c index 5c61f3743d4..db15721c5e9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031023-4.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031023-4.c @@ -1,2 +1,4 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + #define ASIZE 0x80000000UL #include "20031023-1.c" diff --git a/gcc/testsuite/gcc.c-torture/compile/20031125-1.c b/gcc/testsuite/gcc.c-torture/compile/20031125-1.c index d3e92679c8b..bec6c9372a8 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20031125-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20031125-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + short *_offsetTable; /* This tests to make sure PRE splits the entry block ->block 0 edge when there are multiple block 0 predecessors. diff --git a/gcc/testsuite/gcc.c-torture/compile/20040101-1.c b/gcc/testsuite/gcc.c-torture/compile/20040101-1.c index 5c2688ad830..6027cb53fb4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20040101-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20040101-1.c @@ -1,4 +1,5 @@ /* { dg-skip-if "not enough registers" { pdp11-*-* } } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ typedef unsigned short uint16_t; typedef unsigned int uint32_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/20040317-2.c b/gcc/testsuite/gcc.c-torture/compile/20040317-2.c index 3c8ee2b8ec5..3a1fbde2969 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20040317-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20040317-2.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef struct _ScaleRec *ScaleWidget; typedef struct { diff --git a/gcc/testsuite/gcc.c-torture/compile/20040614-1.c b/gcc/testsuite/gcc.c-torture/compile/20040614-1.c index b692ab569f2..728a9f1d4cb 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20040614-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20040614-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target label_values } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ void f(int r1, int *fp) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20040726-1.c b/gcc/testsuite/gcc.c-torture/compile/20040726-1.c index e53ccd655bb..aea43a56f34 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20040726-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20040726-1.c @@ -1,4 +1,6 @@ /* PR rtl-optimization/16643 */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + void foo (int a, int b, int c, int d, int e, int *f) { if (a == 0) diff --git a/gcc/testsuite/gcc.c-torture/compile/20040909-1.c b/gcc/testsuite/gcc.c-torture/compile/20040909-1.c index 8bbf90191b4..aaeeedc97cd 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20040909-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20040909-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + static __inline__ int one_utf8_to_utf16 () { } diff --git a/gcc/testsuite/gcc.c-torture/compile/20050122-1.c b/gcc/testsuite/gcc.c-torture/compile/20050122-1.c index a70907d9051..0e66cd078e0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050122-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050122-1.c @@ -1,4 +1,6 @@ /* From PR 19484. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + extern void foo (void) __attribute__((noreturn)); int n; diff --git a/gcc/testsuite/gcc.c-torture/compile/20050202-1.c b/gcc/testsuite/gcc.c-torture/compile/20050202-1.c index b3f81764538..30838c6c702 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050202-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050202-1.c @@ -1,4 +1,6 @@ /* From PR 19578. */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + extern void foo (void) __attribute__((noreturn)); void diff --git a/gcc/testsuite/gcc.c-torture/compile/20050303-1.c b/gcc/testsuite/gcc.c-torture/compile/20050303-1.c index 22154b30af5..3df81e43fef 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050303-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050303-1.c @@ -1,5 +1,6 @@ /* { dg-require-effective-target int32plus } */ /* { dg-require-effective-target size32plus } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ void crc() { diff --git a/gcc/testsuite/gcc.c-torture/compile/20050622-1.c b/gcc/testsuite/gcc.c-torture/compile/20050622-1.c index 829f9dd857d..d8d29adc19a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050622-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050622-1.c @@ -1,4 +1,5 @@ /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ #if __SCHAR_MAX__ == 127 && __INT_MAX__ >= 2147483647 struct S { char buf[72*1024*1024]; }; diff --git a/gcc/testsuite/gcc.c-torture/compile/20051216-1.c b/gcc/testsuite/gcc.c-torture/compile/20051216-1.c index ed6ac723069..55751ec8ab2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20051216-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20051216-1.c @@ -1,4 +1,5 @@ /* PR rtl-optimization/25432 */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ void *malloc (__SIZE_TYPE__); void *realloc (void *, __SIZE_TYPE__); diff --git a/gcc/testsuite/gcc.c-torture/compile/20060208-1.c b/gcc/testsuite/gcc.c-torture/compile/20060208-1.c index 3881474f722..e9d93023f03 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20060208-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20060208-1.c @@ -1,5 +1,7 @@ /* PR middle-end/26092 */ /* { dg-skip-if "can't take address of malloc" { nvptx-*-* } } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef __SIZE_TYPE__ size_t; extern void *malloc (size_t); diff --git a/gcc/testsuite/gcc.c-torture/compile/20060421-1.c b/gcc/testsuite/gcc.c-torture/compile/20060421-1.c index 1bd4079b4c8..c6b2905497d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20060421-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20060421-1.c @@ -1,4 +1,6 @@ /* This test used to ICE on ARM with -mcpu=iwmmxt. */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + void foo (void) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20071207-1.c b/gcc/testsuite/gcc.c-torture/compile/20071207-1.c index 27b871616b1..f313bd15993 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20071207-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20071207-1.c @@ -1,4 +1,5 @@ /* PR tree-optimization/34371 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* Testcase by Martin Michlmayr */ void centerln (int width, int ch, char *s) diff --git a/gcc/testsuite/gcc.c-torture/compile/20080903-1.c b/gcc/testsuite/gcc.c-torture/compile/20080903-1.c index 180b926bf3d..c7e479174da 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20080903-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20080903-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + struct bar { unsigned short length; }; int diff --git a/gcc/testsuite/gcc.c-torture/compile/20081108-1.c b/gcc/testsuite/gcc.c-torture/compile/20081108-1.c index 3209a90c83b..0b45e2341dc 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20081108-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20081108-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + /* Test function call with function designator involving VLA side-effects does not lead to an ICE. */ diff --git a/gcc/testsuite/gcc.c-torture/compile/20101217-1.c b/gcc/testsuite/gcc.c-torture/compile/20101217-1.c index c4eef0ed464..cd902afe709 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20101217-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20101217-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no usable stdio.h for eBPF" { bpf-*-* } } */ + /* Testcase provided by HUAWEI. */ #include int main() diff --git a/gcc/testsuite/gcc.c-torture/compile/20121027-1.c b/gcc/testsuite/gcc.c-torture/compile/20121027-1.c index 3d3ff31f69b..575236bbc9e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20121027-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20121027-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + extern int nc; void f(void) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20150327.c b/gcc/testsuite/gcc.c-torture/compile/20150327.c index 373ea6183c3..c46d9c58066 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20150327.c +++ b/gcc/testsuite/gcc.c-torture/compile/20150327.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + int a; int (*b)(), (*c)(); int fn1(int p1) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20151204.c b/gcc/testsuite/gcc.c-torture/compile/20151204.c index e41f6c1dca9..1701ef124d7 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20151204.c +++ b/gcc/testsuite/gcc.c-torture/compile/20151204.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target size20plus } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ typedef __SIZE_TYPE__ size_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/900313-1.c b/gcc/testsuite/gcc.c-torture/compile/900313-1.c index 2bac5814a7b..12252b4b229 100644 --- a/gcc/testsuite/gcc.c-torture/compile/900313-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/900313-1.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target alloca } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + main () { char *a; diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-2.c b/gcc/testsuite/gcc.c-torture/compile/920428-2.c index f313b32986b..72c29f29d43 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920428-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/920428-2.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + double sin(double x); double cos(double x); double tan(double x); diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-12.c b/gcc/testsuite/gcc.c-torture/compile/920501-12.c index 68892a689df..8d6d839a449 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920501-12.c +++ b/gcc/testsuite/gcc.c-torture/compile/920501-12.c @@ -1,5 +1,6 @@ /* { dg-do assemble } */ /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ x(x){ return 3 + x;} a(x){int y[994]; return 3 + x;} diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-4.c b/gcc/testsuite/gcc.c-torture/compile/920501-4.c index 10736ae76a4..8675e425152 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920501-4.c +++ b/gcc/testsuite/gcc.c-torture/compile/920501-4.c @@ -1,6 +1,7 @@ /* { dg-do assemble } */ /* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */ /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ foo () { diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-7.c b/gcc/testsuite/gcc.c-torture/compile/920501-7.c index 2af15e3b7ec..0fac5f3495f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920501-7.c +++ b/gcc/testsuite/gcc.c-torture/compile/920501-7.c @@ -1,3 +1,4 @@ /* { dg-require-effective-target label_values } */ +/* { dg-skip-if "no support for indirect jumps" { bpf-*-* } } */ x(){if(&&e-&&b<0)x();b:goto*&&b;e:;} diff --git a/gcc/testsuite/gcc.c-torture/compile/920625-1.c b/gcc/testsuite/gcc.c-torture/compile/920625-1.c index 720d43fd42f..759a356b5b7 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920625-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920625-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef unsigned long int unsigned_word; typedef signed long int signed_word; typedef unsigned_word word; diff --git a/gcc/testsuite/gcc.c-torture/compile/920723-1.c b/gcc/testsuite/gcc.c-torture/compile/920723-1.c index cd8710be7e8..d6f85817e65 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920723-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920723-1.c @@ -1,4 +1,5 @@ /* { dg-add-options stack_size } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ #if defined(STACK_SIZE) && STACK_SIZE < 65536 # define GITT_SIZE 75 diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-5.c b/gcc/testsuite/gcc.c-torture/compile/920928-5.c index 8c975f0c051..70da53261df 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920928-5.c +++ b/gcc/testsuite/gcc.c-torture/compile/920928-5.c @@ -1,4 +1,7 @@ /* REPRODUCED:CC1:SIGNAL MACHINE:m68k OPTIONS:-fpcc-struct-return */ + +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + struct b{}; f(struct b(*f)()) { diff --git a/gcc/testsuite/gcc.c-torture/compile/921202-1.c b/gcc/testsuite/gcc.c-torture/compile/921202-1.c index 1287edc57b8..31f969e7c8c 100644 --- a/gcc/testsuite/gcc.c-torture/compile/921202-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/921202-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + f () { long dx[2055]; diff --git a/gcc/testsuite/gcc.c-torture/compile/930117-1.c b/gcc/testsuite/gcc.c-torture/compile/930117-1.c index 83317cdd07b..9321448082f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930117-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930117-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + f(x) { (*(void (*)())&x)(); diff --git a/gcc/testsuite/gcc.c-torture/compile/930421-1.c b/gcc/testsuite/gcc.c-torture/compile/930421-1.c index 01b465f7fec..9e16fe17dd9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930421-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930421-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + double q(double); f (int **x, int *r, int *s, int a, int b, int c, int d) diff --git a/gcc/testsuite/gcc.c-torture/compile/930607-1.c b/gcc/testsuite/gcc.c-torture/compile/930607-1.c index 97c94b25ec3..f866dbfb3dc 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930607-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930607-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef void f (); typedef f *pf; long long i; diff --git a/gcc/testsuite/gcc.c-torture/compile/930623-1.c b/gcc/testsuite/gcc.c-torture/compile/930623-1.c index 022ad01804e..9dbfe1e73c5 100644 --- a/gcc/testsuite/gcc.c-torture/compile/930623-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/930623-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ g (a, b) {} diff --git a/gcc/testsuite/gcc.c-torture/compile/931003-1.c b/gcc/testsuite/gcc.c-torture/compile/931003-1.c index 922b14379c9..8db815fc764 100644 --- a/gcc/testsuite/gcc.c-torture/compile/931003-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/931003-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + f (n, a) int n; double a[]; diff --git a/gcc/testsuite/gcc.c-torture/compile/931004-1.c b/gcc/testsuite/gcc.c-torture/compile/931004-1.c index 0e741fd4ac0..34766b5559a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/931004-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/931004-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + #define A "This is a long test that tests the structure initialization" #define B A,A #define C B,B,B,B diff --git a/gcc/testsuite/gcc.c-torture/compile/950719-1.c b/gcc/testsuite/gcc.c-torture/compile/950719-1.c index d3277fada4e..fa1b01b9a7e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/950719-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/950719-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef struct { int Header; diff --git a/gcc/testsuite/gcc.c-torture/compile/951222-1.c b/gcc/testsuite/gcc.c-torture/compile/951222-1.c index b8246f5fe81..8a447f3473c 100644 --- a/gcc/testsuite/gcc.c-torture/compile/951222-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/951222-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + extern long long foo (); long long diff --git a/gcc/testsuite/gcc.c-torture/compile/961004-1.c b/gcc/testsuite/gcc.c-torture/compile/961004-1.c index 6407b625d66..cf47f60d5ea 100644 --- a/gcc/testsuite/gcc.c-torture/compile/961004-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/961004-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + void f1 (o1, o2, o3, i, j, k) long long *o1, *o2, *o3; diff --git a/gcc/testsuite/gcc.c-torture/compile/980504-1.c b/gcc/testsuite/gcc.c-torture/compile/980504-1.c index 7b757ccd2e8..6e043a7af19 100644 --- a/gcc/testsuite/gcc.c-torture/compile/980504-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/980504-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef struct _geom_elem { double coeffs[6]; } pGeomDefRec, *pGeomDefPtr; diff --git a/gcc/testsuite/gcc.c-torture/compile/980816-1.c b/gcc/testsuite/gcc.c-torture/compile/980816-1.c index a79100fab57..5bd83b17063 100644 --- a/gcc/testsuite/gcc.c-torture/compile/980816-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/980816-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef __SIZE_TYPE__ size_t; typedef void *XtPointer; diff --git a/gcc/testsuite/gcc.c-torture/compile/990517-1.c b/gcc/testsuite/gcc.c-torture/compile/990517-1.c index c738d4be760..5a08a866002 100644 --- a/gcc/testsuite/gcc.c-torture/compile/990517-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/990517-1.c @@ -1,4 +1,7 @@ /* Extracted from the sdm module in perl. */ + +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef struct { char *dptr; int dsize; diff --git a/gcc/testsuite/gcc.c-torture/compile/990625-1.c b/gcc/testsuite/gcc.c-torture/compile/990625-1.c index 97a2331c7a5..befff06579e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/990625-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/990625-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no string.h in eBPF" { bpf-*-* } } */ + #define __USE_STRING_INLINES #include diff --git a/gcc/testsuite/gcc.c-torture/compile/991213-2.c b/gcc/testsuite/gcc.c-torture/compile/991213-2.c index 98385d56263..aecf4e0f0cb 100644 --- a/gcc/testsuite/gcc.c-torture/compile/991213-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/991213-2.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef long __kernel_time_t; typedef __kernel_time_t time_t; time2( diff --git a/gcc/testsuite/gcc.c-torture/compile/DFcmp.c b/gcc/testsuite/gcc.c-torture/compile/DFcmp.c index 3bb253476d7..808874de1a8 100644 --- a/gcc/testsuite/gcc.c-torture/compile/DFcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/DFcmp.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target int32plus } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type double type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/HIcmp.c b/gcc/testsuite/gcc.c-torture/compile/HIcmp.c index 77b47886ed1..6e68271a009 100644 --- a/gcc/testsuite/gcc.c-torture/compile/HIcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/HIcmp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type short type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/HIset.c b/gcc/testsuite/gcc.c-torture/compile/HIset.c index 163cb7cbe32..a0d426c2c07 100644 --- a/gcc/testsuite/gcc.c-torture/compile/HIset.c +++ b/gcc/testsuite/gcc.c-torture/compile/HIset.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define E0 ((type *)10000000) #define reg0 r0 #define indreg0 (*p0) diff --git a/gcc/testsuite/gcc.c-torture/compile/QIcmp.c b/gcc/testsuite/gcc.c-torture/compile/QIcmp.c index c5161646f2c..a4dba2487e4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/QIcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/QIcmp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type signed char type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/QIset.c b/gcc/testsuite/gcc.c-torture/compile/QIset.c index 212609dc864..e2fde2bda7e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/QIset.c +++ b/gcc/testsuite/gcc.c-torture/compile/QIset.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define E0 ((type *)10000000) #define reg0 r0 #define indreg0 (*p0) diff --git a/gcc/testsuite/gcc.c-torture/compile/SFset.c b/gcc/testsuite/gcc.c-torture/compile/SFset.c index dc7f48dd2dd..a7efecf9717 100644 --- a/gcc/testsuite/gcc.c-torture/compile/SFset.c +++ b/gcc/testsuite/gcc.c-torture/compile/SFset.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target int32plus } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ #define E0 ((type *)10000000) #define reg0 r0 diff --git a/gcc/testsuite/gcc.c-torture/compile/SIcmp.c b/gcc/testsuite/gcc.c-torture/compile/SIcmp.c index 4a9e0d57fd7..ce1281b6093 100644 --- a/gcc/testsuite/gcc.c-torture/compile/SIcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/SIcmp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type int type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/SIset.c b/gcc/testsuite/gcc.c-torture/compile/SIset.c index 5fb93579f4b..b200a264b95 100644 --- a/gcc/testsuite/gcc.c-torture/compile/SIset.c +++ b/gcc/testsuite/gcc.c-torture/compile/SIset.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define E0 ((type *)10000000) #define reg0 r0 #define indreg0 (*p0) diff --git a/gcc/testsuite/gcc.c-torture/compile/UHIcmp.c b/gcc/testsuite/gcc.c-torture/compile/UHIcmp.c index 529e3a33fd3..b0029d23ea4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/UHIcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/UHIcmp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type unsigned short type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/UQIcmp.c b/gcc/testsuite/gcc.c-torture/compile/UQIcmp.c index 3e9cdebc903..e28d13b03ab 100644 --- a/gcc/testsuite/gcc.c-torture/compile/UQIcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/UQIcmp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type unsigned char type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/USIcmp.c b/gcc/testsuite/gcc.c-torture/compile/USIcmp.c index 69788a45b2e..27e5503bd4d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/USIcmp.c +++ b/gcc/testsuite/gcc.c-torture/compile/USIcmp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + #define type unsigned int type glob0, glob1; diff --git a/gcc/testsuite/gcc.c-torture/compile/bcopy.c b/gcc/testsuite/gcc.c-torture/compile/bcopy.c index 8108f296600..5225a2f9156 100644 --- a/gcc/testsuite/gcc.c-torture/compile/bcopy.c +++ b/gcc/testsuite/gcc.c-torture/compile/bcopy.c @@ -1,4 +1,5 @@ /* { dg-add-options stack_size } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ void bcopy1 (s, d, c) diff --git a/gcc/testsuite/gcc.c-torture/compile/callind.c b/gcc/testsuite/gcc.c-torture/compile/callind.c index 5938d1b88fc..8a2004de2c0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/callind.c +++ b/gcc/testsuite/gcc.c-torture/compile/callind.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + bar (foo, a) int (**foo) (); { diff --git a/gcc/testsuite/gcc.c-torture/compile/calls-void.c b/gcc/testsuite/gcc.c-torture/compile/calls-void.c index eeed4fdfdc1..e086837ac97 100644 --- a/gcc/testsuite/gcc.c-torture/compile/calls-void.c +++ b/gcc/testsuite/gcc.c-torture/compile/calls-void.c @@ -1,5 +1,6 @@ /* { dg-require-effective-target ptr32plus } */ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ typedef void (*T)(void); f1 () diff --git a/gcc/testsuite/gcc.c-torture/compile/calls.c b/gcc/testsuite/gcc.c-torture/compile/calls.c index ca07122a786..a8084de0e5a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/calls.c +++ b/gcc/testsuite/gcc.c-torture/compile/calls.c @@ -1,5 +1,6 @@ /* { dg-require-effective-target ptr32plus } */ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ typedef void *(*T)(void); f1 () diff --git a/gcc/testsuite/gcc.c-torture/compile/consec.c b/gcc/testsuite/gcc.c-torture/compile/consec.c index 01fa25b009b..b8c376d7076 100644 --- a/gcc/testsuite/gcc.c-torture/compile/consec.c +++ b/gcc/testsuite/gcc.c-torture/compile/consec.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + int glob; conseq (a, b, c, d) diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c b/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c index 0bd8f6af995..53204735493 100644 --- a/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c +++ b/gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c @@ -1,5 +1,6 @@ /* { dg-skip-if "too complex for avr" { avr-*-* } } */ /* { dg-skip-if "ptxas times out" { nvptx-*-* } } */ +/* { dg-skip-if "no chance for bpf" { bpf-*-* } } */ /* { dg-timeout-factor 4.0 } */ #define LIM1(x) x##0, x##1, x##2, x##3, x##4, x##5, x##6, x##7, x##8, x##9, #define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \ diff --git a/gcc/testsuite/gcc.c-torture/compile/lll.c b/gcc/testsuite/gcc.c-torture/compile/lll.c index dee9dc37d15..ea09c871c6b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/lll.c +++ b/gcc/testsuite/gcc.c-torture/compile/lll.c @@ -1,3 +1,4 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ byte_match_count2 (buf, n, xm, m1, m2, m3, m4) unsigned *buf; diff --git a/gcc/testsuite/gcc.c-torture/compile/parms.c b/gcc/testsuite/gcc.c-torture/compile/parms.c index 8205a9c1454..1bfc93d2abb 100644 --- a/gcc/testsuite/gcc.c-torture/compile/parms.c +++ b/gcc/testsuite/gcc.c-torture/compile/parms.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target alloca } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ #define alloca __builtin_alloca x (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, x, y) diff --git a/gcc/testsuite/gcc.c-torture/compile/pass.c b/gcc/testsuite/gcc.c-torture/compile/pass.c index 4e028393feb..529a01dac85 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pass.c +++ b/gcc/testsuite/gcc.c-torture/compile/pass.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + int foo (a, b, c) { diff --git a/gcc/testsuite/gcc.c-torture/compile/poor.c b/gcc/testsuite/gcc.c-torture/compile/poor.c index 66d584aff43..20287ef2354 100644 --- a/gcc/testsuite/gcc.c-torture/compile/poor.c +++ b/gcc/testsuite/gcc.c-torture/compile/poor.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef struct { char c[510]; diff --git a/gcc/testsuite/gcc.c-torture/compile/pp.c b/gcc/testsuite/gcc.c-torture/compile/pp.c index 7d38d53de0f..c1e09eab407 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pp.c +++ b/gcc/testsuite/gcc.c-torture/compile/pp.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + foo (a, b, c, d, e, i0, f, i1) double a, b, c, d, e, f; int i0, i1; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr21840.c b/gcc/testsuite/gcc.c-torture/compile/pr21840.c index bec3d6bf5d7..af47fa5c0e0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr21840.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr21840.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + void fn_show_state(void); typedef void (*fn_handler_fn)(void); static fn_handler_fn fn_handler[1]; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr23929.c b/gcc/testsuite/gcc.c-torture/compile/pr23929.c index 210bb585e06..d63eb71e7bd 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr23929.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr23929.c @@ -1,4 +1,5 @@ /* PR tree-optimization/23929 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ extern void bar (char *); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr25310.c b/gcc/testsuite/gcc.c-torture/compile/pr25310.c index 54695e05b4f..674745f80ec 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr25310.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr25310.c @@ -1,4 +1,5 @@ /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* Prevent spurious test failures on 16-bit targets. */ #if __INT_MAX__ >= 2147483647L diff --git a/gcc/testsuite/gcc.c-torture/compile/pr25311.c b/gcc/testsuite/gcc.c-torture/compile/pr25311.c index 26c5bc37b83..43ef3fd9523 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr25311.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr25311.c @@ -1,3 +1,4 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ struct w { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32139.c b/gcc/testsuite/gcc.c-torture/compile/pr32139.c index 7b8522f5174..8b13cb9665a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr32139.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr32139.c @@ -1,4 +1,6 @@ /* PR tree-optimization/32139 */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + int foo (void); int bar (void) __attribute__ ((const)); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32399.c b/gcc/testsuite/gcc.c-torture/compile/pr32399.c index cc2b1b18984..b29dbd7986a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr32399.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr32399.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + void f(unsigned char *src, unsigned char *dst, int num, unsigned char *pos, unsigned char *diffuse, int hasdiffuse, unsigned char *specular, int hasspecular) { int i; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34091.c b/gcc/testsuite/gcc.c-torture/compile/pr34091.c index 0b8549132e6..a623a383fd0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr34091.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr34091.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef int GLint; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34458.c b/gcc/testsuite/gcc.c-torture/compile/pr34458.c index 096cc0c9b89..09febbea31f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr34458.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr34458.c @@ -1,4 +1,5 @@ /* Testcase by Martin Michlmayr */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ typedef struct { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34688.c b/gcc/testsuite/gcc.c-torture/compile/pr34688.c index 60e0f3c9f15..ec890cb8f15 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr34688.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr34688.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef __SIZE_TYPE__ size_t; typedef struct { } diff --git a/gcc/testsuite/gcc.c-torture/compile/pr35607.c b/gcc/testsuite/gcc.c-torture/compile/pr35607.c index 7f5aa7a2b7c..9dc1b5c4b90 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr35607.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr35607.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + extern void (*__fini_array_start []) (void); extern void (*__fini_array_end []) (void); void diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37258.c b/gcc/testsuite/gcc.c-torture/compile/pr37258.c index 286f2fc4427..41801781e3a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37258.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37258.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37327.c b/gcc/testsuite/gcc.c-torture/compile/pr37327.c index 79946b7522d..5ca9d1d45b6 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37327.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37327.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37381.c b/gcc/testsuite/gcc.c-torture/compile/pr37381.c index a2fed66c4ee..d8cd47d329d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37381.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37381.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + extern unsigned int __invalid_size_argument_for_IOC; typedef unsigned int __u32; struct video_window diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37433-1.c b/gcc/testsuite/gcc.c-torture/compile/pr37433-1.c index 322c167d682..a067c19182b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37433-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37433-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + void regex_subst(void) { const void *subst = ""; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37433.c b/gcc/testsuite/gcc.c-torture/compile/pr37433.c index 0ba1179886c..7237f38b6f2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37433.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37433.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + int regex_subst(void) { const void *subst = ""; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37669-2.c b/gcc/testsuite/gcc.c-torture/compile/pr37669-2.c index abeae7a2f32..2170dda67f0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37669-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37669-2.c @@ -1,4 +1,5 @@ /* PR middle-end/37669 */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ #define FMT10 "%d%d%d%d%d%d%d%d%d%d" #define FMT100 FMT10 FMT10 FMT10 FMT10 FMT10 FMT10 FMT10 FMT10 FMT10 FMT10 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37669.c b/gcc/testsuite/gcc.c-torture/compile/pr37669.c index a2eafc75cb3..36e4c39d8ed 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37669.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37669.c @@ -1,6 +1,7 @@ /* This testcase used to fail because a miscompiled execute_fold_all_builtins. */ /* { dg-options "-fgnu89-inline" } */ /* { dg-require-effective-target int32plus } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ typedef __SIZE_TYPE__ size_t; extern __inline __attribute__ ((__always_inline__)) int __attribute__ diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37742-3.c b/gcc/testsuite/gcc.c-torture/compile/pr37742-3.c index 541bd42ad5d..9e7b10fb7a3 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr37742-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr37742-3.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + void matmul_i4 (int * __restrict dest_y, const int * __restrict abase, const int * __restrict bbase_y, diff --git a/gcc/testsuite/gcc.c-torture/compile/pr39937.c b/gcc/testsuite/gcc.c-torture/compile/pr39937.c index d0231053258..35a5e64b05f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr39937.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr39937.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + int foo (__const char *__restrict __s); static void read_anisou(char line[]) diff --git a/gcc/testsuite/gcc.c-torture/compile/pr39941.c b/gcc/testsuite/gcc.c-torture/compile/pr39941.c index b6209086be9..8a3156f77c8 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr39941.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr39941.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef void (*entry_func) (void) __attribute__ ((noreturn)); extern entry_func entry_addr; static void bsd_boot_entry (void) diff --git a/gcc/testsuite/gcc.c-torture/compile/pr40080.c b/gcc/testsuite/gcc.c-torture/compile/pr40080.c index e36f14273e8..d7dd1d0f47a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr40080.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr40080.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + extern void *ff(void*,int); struct lpgl { struct lpgl *next; }; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr41181.c b/gcc/testsuite/gcc.c-torture/compile/pr41181.c index f866249b605..410309c89ee 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr41181.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr41181.c @@ -1,5 +1,7 @@ /* { dg-require-effective-target ptr32plus } */ /* { dg-skip-if "The array is too big" { "avr-*-*" "pdp11-*-*" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + char paths[1024]; static void x264_slicetype_path(char (*best_paths)[250], int n, int length) { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr41634.c b/gcc/testsuite/gcc.c-torture/compile/pr41634.c index 976e463e2ba..e6f653c0395 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr41634.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr41634.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + extern int _xgetw(); extern int foo(char*); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43415.c b/gcc/testsuite/gcc.c-torture/compile/pr43415.c index c00e1c41ce9..a11ac30ad84 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr43415.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr43415.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + int main() { unsigned long long table[256]; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43417.c b/gcc/testsuite/gcc.c-torture/compile/pr43417.c index 45bf053a0cb..061cc2951bf 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr43417.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr43417.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + int pid_count = 0; unsigned int getopt (int, const char**, const char*); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43635.c b/gcc/testsuite/gcc.c-torture/compile/pr43635.c index df826b6f4c0..4862e5da81e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr43635.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr43635.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + extern void d (void); void (*foo (void)) (float) diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43791.c b/gcc/testsuite/gcc.c-torture/compile/pr43791.c index 2b1d06ff789..68202859a52 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr43791.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr43791.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + int owner(); int clear(); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43845.c b/gcc/testsuite/gcc.c-torture/compile/pr43845.c index bdb45e7d2a8..8c7541f2a37 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr43845.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr43845.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef int __attribute__ ((const)) (*x264_pixel_cmp_t)(void); typedef struct { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr44043.c b/gcc/testsuite/gcc.c-torture/compile/pr44043.c index 943501b4091..ed8806be4f2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr44043.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr44043.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef unsigned char __u8; typedef unsigned short __u16; typedef unsigned int __u32; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr44063.c b/gcc/testsuite/gcc.c-torture/compile/pr44063.c index 596e1dc991f..32208f610f9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr44063.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr44063.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef signed char int8_t; typedef short int16_t; typedef unsigned char uint8_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr44788.c b/gcc/testsuite/gcc.c-torture/compile/pr44788.c index 99dc7982394..6e7e153ee95 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr44788.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr44788.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + void joint_decode(float* mlt_buffer1, int t) { int i; float decode_buffer[1060]; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr48596.c b/gcc/testsuite/gcc.c-torture/compile/pr48596.c index 382a152413e..743bd82e868 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr48596.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr48596.c @@ -1,4 +1,6 @@ /* PR target/48596 */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + enum { nrrdCenterUnknown, nrrdCenterNode, nrrdCenterCell, nrrdCenterLast }; typedef struct { int size; int center; } NrrdAxis; typedef struct { int dim; NrrdAxis axis[10]; } Nrrd; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr51694.c b/gcc/testsuite/gcc.c-torture/compile/pr51694.c index f5c1a40df86..66b6acff617 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr51694.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr51694.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + void foo (x, fn) void (*fn) (); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr51856.c b/gcc/testsuite/gcc.c-torture/compile/pr51856.c index 6644c7fdc14..823a0bed073 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr51856.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr51856.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + struct B { int b1; long long b2, b3; int b4; }; struct C { char c1[40], c2, c3[96]; long long c4[5], c5; char c6[596]; }; void fn1 (long long), fn2 (char *, int), fn4 (void); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr52750.c b/gcc/testsuite/gcc.c-torture/compile/pr52750.c index 36391bac5d9..78d48a92547 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr52750.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr52750.c @@ -1,4 +1,5 @@ /* PR middle-end/52750 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ typedef signed char V __attribute__((vector_size (32))); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54713-1.c b/gcc/testsuite/gcc.c-torture/compile/pr54713-1.c index f042ea2fc6c..0d4172a576b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr54713-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr54713-1.c @@ -1,4 +1,5 @@ /* PR tree-optimization/54713 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ #ifndef N #define N 8 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54713-2.c b/gcc/testsuite/gcc.c-torture/compile/pr54713-2.c index c3910373111..f7d2364e197 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr54713-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr54713-2.c @@ -1,4 +1,5 @@ /* PR tree-optimization/54713 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ #define N 16 #define ONE 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54713-3.c b/gcc/testsuite/gcc.c-torture/compile/pr54713-3.c index 6164a5eec0e..76a35b067c5 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr54713-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr54713-3.c @@ -1,4 +1,5 @@ /* PR tree-optimization/54713 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ #define N 32 #define ONE 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ diff --git a/gcc/testsuite/gcc.c-torture/compile/pr55921.c b/gcc/testsuite/gcc.c-torture/compile/pr55921.c index de0635d66ad..cf9084e33f0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr55921.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr55921.c @@ -1,5 +1,6 @@ /* PR tree-optimization/55921 */ /* { dg-skip-if "Not enough registers" { "pdp11-*-*" } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ typedef union { diff --git a/gcc/testsuite/gcc.c-torture/compile/pr70240.c b/gcc/testsuite/gcc.c-torture/compile/pr70240.c index 830d4ddcc93..466d3a7c961 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr70240.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr70240.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + typedef short v16hi __attribute__ ((vector_size (32))); typedef int v8si __attribute__ ((vector_size (32))); typedef long long v4di __attribute__ ((vector_size (32))); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr70355.c b/gcc/testsuite/gcc.c-torture/compile/pr70355.c index 474942715f8..f7114208005 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr70355.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr70355.c @@ -1,5 +1,7 @@ /* { dg-require-effective-target int128 } */ /* { dg-additional-options "-g" } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef unsigned __int128 v2ti __attribute__ ((vector_size (32))); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c index d088961963d..2c9a409cdae 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-2.c @@ -1,5 +1,6 @@ // { dg-require-effective-target alloca } /* PR c/77754 */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ int fn3(); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c index fb25e234fe2..4af1ffac22b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-3.c @@ -1,5 +1,6 @@ // { dg-require-effective-target alloca } /* PR c/77754 */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ int fn3(); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c b/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c index 1c5c4619a33..874c28dc0f0 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr77754-4.c @@ -1,5 +1,6 @@ // { dg-require-effective-target alloca } /* PR c/77754 */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ int fn3(); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82052.c b/gcc/testsuite/gcc.c-torture/compile/pr82052.c index 3763161e350..09fac5edb1e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr82052.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr82052.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned uint32_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr83487.c b/gcc/testsuite/gcc.c-torture/compile/pr83487.c index 9effb1eef03..9de0e17939f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr83487.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr83487.c @@ -1,4 +1,5 @@ /* PR middle-end/83487 */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ struct __attribute__ ((aligned)) A {}; struct A a; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr86122.c b/gcc/testsuite/gcc.c-torture/compile/pr86122.c index 0a4fd144ae6..1bd46733183 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr86122.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr86122.c @@ -1,4 +1,5 @@ /* PR middle-end/86122 */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ _Complex int foo (_Complex int x) diff --git a/gcc/testsuite/gcc.c-torture/compile/pr89280.c b/gcc/testsuite/gcc.c-torture/compile/pr89280.c index 15b6e7051f8..64ca7028894 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr89280.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr89280.c @@ -1,6 +1,7 @@ // { dg-require-effective-target nonlocal_goto } // { dg-require-effective-target label_values } /* PR tree-optimization/89280 */ +/* { dg-skip-if "no support for indirect jumps" { bpf-*-* } } */ int a; void foo (void); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr89663-2.c b/gcc/testsuite/gcc.c-torture/compile/pr89663-2.c index 052fe69f40e..94193203738 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr89663-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr89663-2.c @@ -1,4 +1,5 @@ /* PR middle-end/89663 */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ int irint (double); long lrint (double); diff --git a/gcc/testsuite/gcc.c-torture/compile/pret-arg.c b/gcc/testsuite/gcc.c-torture/compile/pret-arg.c index a7fa8562830..d86d135dc4b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pret-arg.c +++ b/gcc/testsuite/gcc.c-torture/compile/pret-arg.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + foo (a, b, c, d, e, f, g, h, i, j, xx) double xx; { diff --git a/gcc/testsuite/gcc.c-torture/compile/pta-1.c b/gcc/testsuite/gcc.c-torture/compile/pta-1.c index 515e5ff13f4..38c60cdda2d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pta-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/pta-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ + typedef struct JSObject JSObject; typedef struct JSObjectMap *(*JSNewObjectMapOp) (JSObject *obj); typedef JSObject *(*JSGetMethodOp) (JSObject *obj); diff --git a/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c b/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c index f5f01116eda..77518866d3f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c +++ b/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ + int foo; typedef long unsigned int size_t; typedef short unsigned int wchar_t; diff --git a/gcc/testsuite/gcc.c-torture/compile/sound.c b/gcc/testsuite/gcc.c-torture/compile/sound.c index be727e3febb..781ad4a3087 100644 --- a/gcc/testsuite/gcc.c-torture/compile/sound.c +++ b/gcc/testsuite/gcc.c-torture/compile/sound.c @@ -1,3 +1,4 @@ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ main () { diff --git a/gcc/testsuite/gcc.c-torture/compile/stack-check-1.c b/gcc/testsuite/gcc.c-torture/compile/stack-check-1.c index 2a03f7c29ae..6bb079e7fd2 100644 --- a/gcc/testsuite/gcc.c-torture/compile/stack-check-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/stack-check-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target untyped_assembly } */ /* { dg-require-stack-check "" } */ /* { dg-additional-options "-fstack-check" } */ +/* { dg-skip-if "no support for indirect calls" { bpf-*-* } } */ #include "20031023-1.c" diff --git a/gcc/testsuite/gcc.c-torture/compile/structret.c b/gcc/testsuite/gcc.c-torture/compile/structret.c index 9c705d4c0a2..d99eaa630bb 100644 --- a/gcc/testsuite/gcc.c-torture/compile/structret.c +++ b/gcc/testsuite/gcc.c-torture/compile/structret.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + struct foo { int a, b, c, d; diff --git a/gcc/testsuite/gcc.c-torture/compile/uuarg.c b/gcc/testsuite/gcc.c-torture/compile/uuarg.c index 930dd8ab5f6..875c7c3b50f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/uuarg.c +++ b/gcc/testsuite/gcc.c-torture/compile/uuarg.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target untyped_assembly } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ + foo (a, b, c, d, e, f, g, h, i) { return foo () + i; diff --git a/gcc/testsuite/gcc.dg/20001009-1.c b/gcc/testsuite/gcc.dg/20001009-1.c index 1a5567779b5..580e4b4d307 100644 --- a/gcc/testsuite/gcc.dg/20001009-1.c +++ b/gcc/testsuite/gcc.dg/20001009-1.c @@ -1,5 +1,6 @@ /* { dg-do compile { target fpic } } */ /* { dg-options "-O2 -fpic" } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ extern void foo (void *a, double x, double y); void diff --git a/gcc/testsuite/gcc.dg/20020418-1.c b/gcc/testsuite/gcc.dg/20020418-1.c index 7314ec000ef..456967fdd36 100644 --- a/gcc/testsuite/gcc.dg/20020418-1.c +++ b/gcc/testsuite/gcc.dg/20020418-1.c @@ -2,6 +2,7 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -msse -ffast-math" { target i?86-*-* x86_64-*-* } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ void bar (float *a, float *b); diff --git a/gcc/testsuite/gcc.dg/20020426-2.c b/gcc/testsuite/gcc.dg/20020426-2.c index 9ad7a54f601..96517f7b840 100644 --- a/gcc/testsuite/gcc.dg/20020426-2.c +++ b/gcc/testsuite/gcc.dg/20020426-2.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && { ia32 && fpic } } } } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20020430-1.c b/gcc/testsuite/gcc.dg/20020430-1.c index 63915a24b17..f48bb672aaf 100644 --- a/gcc/testsuite/gcc.dg/20020430-1.c +++ b/gcc/testsuite/gcc.dg/20020430-1.c @@ -6,6 +6,7 @@ /* { dg-do compile { target fpic } } */ /* { dg-options "-O2 -frename-registers -fpic" } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ typedef unsigned long XID; typedef XID Window; diff --git a/gcc/testsuite/gcc.dg/20040306-1.c b/gcc/testsuite/gcc.dg/20040306-1.c index 903d20ac256..8cac8697d99 100644 --- a/gcc/testsuite/gcc.dg/20040306-1.c +++ b/gcc/testsuite/gcc.dg/20040306-1.c @@ -2,7 +2,7 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ - +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ typedef struct test { diff --git a/gcc/testsuite/gcc.dg/20040622-2.c b/gcc/testsuite/gcc.dg/20040622-2.c index 0be320fa4e2..e62ec36d43a 100644 --- a/gcc/testsuite/gcc.dg/20040622-2.c +++ b/gcc/testsuite/gcc.dg/20040622-2.c @@ -1,5 +1,6 @@ /* { dg-do link } */ /* { dg-require-effective-target ptr32plus } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* This validates codegen for [r1+32760] on Darwin. */ void f(char x[32688], double *y, double *z) __attribute__((noinline)); void f(char x[32688], double *y, double *z) {} diff --git a/gcc/testsuite/gcc.dg/20050603-2.c b/gcc/testsuite/gcc.dg/20050603-2.c index 8c8e58e1b4d..a135e3ea1a0 100644 --- a/gcc/testsuite/gcc.dg/20050603-2.c +++ b/gcc/testsuite/gcc.dg/20050603-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2" } */ +/* { dg-skip-if "no stdlib.h in eBPF" { bpf-*-* } } */ #include struct s { unsigned short f: 16; diff --git a/gcc/testsuite/gcc.dg/20050629-1.c b/gcc/testsuite/gcc.dg/20050629-1.c index 0dd47f7024b..99d9ce823b0 100644 --- a/gcc/testsuite/gcc.dg/20050629-1.c +++ b/gcc/testsuite/gcc.dg/20050629-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -w" } */ +/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ /* This file was automatically reduced from tree-ssa-operands.c. It contains many warnings, but it exposes a copy propagation bug that diff --git a/gcc/testsuite/gcc.dg/20061026.c b/gcc/testsuite/gcc.dg/20061026.c index 741ea2eb3b8..fa8069ce4cf 100644 --- a/gcc/testsuite/gcc.dg/20061026.c +++ b/gcc/testsuite/gcc.dg/20061026.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O1" } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* This testcase failed on s390. The frame size for function f will be exactly 32768 bytes. The back end has to recognize that this is to diff --git a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-18.c b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-18.c index b4aa167f655..838a4935b0b 100644 --- a/gcc/testsuite/gcc.dg/Walloc-size-larger-than-18.c +++ b/gcc/testsuite/gcc.dg/Walloc-size-larger-than-18.c @@ -4,6 +4,7 @@ with zero or excessive size trigger either -Walloc-zero or -Walloc-size-larger-than warnings. { dg-do compile } + { dg-skip-if "no support for indirect calls" { bpf-*-* } } { dg-options "-O2 -Wall -Walloc-zero -ftrack-macro-expansion=0" } */ #define ATTR(...) __attribute__ ((__VA_ARGS__)) diff --git a/gcc/testsuite/gcc.dg/Warray-bounds-3.c b/gcc/testsuite/gcc.dg/Warray-bounds-3.c index 773f4633dc7..f119502f025 100644 --- a/gcc/testsuite/gcc.dg/Warray-bounds-3.c +++ b/gcc/testsuite/gcc.dg/Warray-bounds-3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -Warray-bounds" } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ /* based on PR 31227 */ typedef __SIZE_TYPE__ size_t; diff --git a/gcc/testsuite/gcc.dg/Warray-bounds-30.c b/gcc/testsuite/gcc.dg/Warray-bounds-30.c index ac7e9a6e8fb..b9965682101 100644 --- a/gcc/testsuite/gcc.dg/Warray-bounds-30.c +++ b/gcc/testsuite/gcc.dg/Warray-bounds-30.c @@ -1,7 +1,8 @@ /* PR tree-optimization/84047 - missing -Warray-bounds on an out-of-bounds index into an array { dg-do compile } - { dg-options "-O2 -Warray-bounds=2 -ftrack-macro-expansion=0" } */ + { dg-options "-O2 -Warray-bounds=2 -ftrack-macro-expansion=0" } + { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ #include "range.h" diff --git a/gcc/testsuite/gcc.dg/Wframe-larger-than-2.c b/gcc/testsuite/gcc.dg/Wframe-larger-than-2.c index 1a5402f8120..d7068d04aef 100644 --- a/gcc/testsuite/gcc.dg/Wframe-larger-than-2.c +++ b/gcc/testsuite/gcc.dg/Wframe-larger-than-2.c @@ -1,6 +1,7 @@ /* Exercise -Wframe-larger-than= with a byte-size suffix. { dg-do compile } - { dg-options "-O -Wframe-larger-than=1KB" } */ + { dg-options "-O -Wframe-larger-than=1KB" } + { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ extern void f (void*, ...); diff --git a/gcc/testsuite/gcc.dg/Wframe-larger-than.c b/gcc/testsuite/gcc.dg/Wframe-larger-than.c index fab0adf37ee..8a40cf36df8 100644 --- a/gcc/testsuite/gcc.dg/Wframe-larger-than.c +++ b/gcc/testsuite/gcc.dg/Wframe-larger-than.c @@ -4,6 +4,7 @@ /* { dg-do compile } */ /* { dg-options "-Wframe-larger-than=2048" } */ +/* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */ extern void func(char *); diff --git a/gcc/testsuite/gcc.dg/Wrestrict-11.c b/gcc/testsuite/gcc.dg/Wrestrict-11.c index 7b4b5aa2527..07b9cddad4b 100644 --- a/gcc/testsuite/gcc.dg/Wrestrict-11.c +++ b/gcc/testsuite/gcc.dg/Wrestrict-11.c @@ -3,7 +3,8 @@ that calls to strncpy involving multidimensional arrays of structs don't trigger false positive -Wrestrict warnings. { dg-do compile } - { dg-options "-O2 -Wrestrict -ftrack-macro-expansion=0" } */ + { dg-options "-O2 -Wrestrict -ftrack-macro-expansion=0" } + { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ typedef __SIZE_TYPE__ size_t; diff --git a/gcc/testsuite/gcc.dg/builtins-config.h b/gcc/testsuite/gcc.dg/builtins-config.h index f00e91a750f..5e27c1deb33 100644 --- a/gcc/testsuite/gcc.dg/builtins-config.h +++ b/gcc/testsuite/gcc.dg/builtins-config.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004, 2005, 2006, 2009, 2011, 2012 +/* Copyright (C) 2003, 2004, 2005, 2006, 2009, 2011, 2012, 2019 Free Software Foundation. Define macros useful in tests for bulitin functions. */ @@ -20,6 +20,8 @@ /* FreeBSD up to version 8 lacks support for cexp and friends. */ #elif defined(__vxworks) /* VxWorks doesn't have a full C99 time. (cabs is missing, for example.) */ +#elif defined (__BPF__) +/* No chance for eBPF to support C99 functions. */ #elif defined(_WIN32) && !defined(__CYGWIN__) /* Windows doesn't have the entire C99 runtime. */ #elif (defined(__APPLE__) && defined(__ppc__) \