From patchwork Thu Jun 18 16:20:54 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Norris X-Patchwork-Id: 486382 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 10D4F1401F0 for ; Fri, 19 Jun 2015 02:21:09 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=og3fJTDx; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; q= dns; s=default; b=tfWI+2l1NsUJJbNbTGOL4UlIraTqfUJwWYG8xWXuySSL61 GYJ7EZfVB3PmFvG9uk0p0dpGBgFx7eIQOxWEebd2X6NFOEU6BkuvTMJwriPKclzz O9D14hyeK/WpDurqxmJoCrtCYOI+MJO7CMLD6HgNgT1wyDbYOo6tkvRHtmn44= 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 :message-id:date:from:mime-version:to:subject:content-type; s= default; bh=3bq4fNfPob+oGB+4bDP385L4Vns=; b=og3fJTDxyZ0T11GPvdUw 09BdhuCD9zxng2Bb1hP23wTPzZ5UG230SQsDHLrLnunqX32RpRYK7FNZ0ju6yjfN qC61HsavgyOsZytIdhx+m1x4tdPFIlw2RWnhOhC7Hsms1C2jynBfxyLz58KYs3nb wPxDZzeE2+9YIax5ZDKQ0AA= Received: (qmail 84634 invoked by alias); 18 Jun 2015 16:21:02 -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 84575 invoked by uid 89); 18 Jun 2015 16:21:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS, T_FROM_12LTRDOM autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients 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; Thu, 18 Jun 2015 16:21:00 +0000 Received: from svr-orw-fem-05.mgc.mentorg.com ([147.34.97.43]) by relay1.mentorg.com with esmtp id 1Z5cYi-0001dO-PX from James_Norris@mentor.com ; Thu, 18 Jun 2015 09:20:56 -0700 Received: from [172.30.80.177] (147.34.91.1) by svr-orw-fem-05.mgc.mentorg.com (147.34.97.43) with Microsoft SMTP Server id 14.3.224.2; Thu, 18 Jun 2015 09:20:56 -0700 Message-ID: <5582EFE6.3070601@codesourcery.com> Date: Thu, 18 Jun 2015 11:20:54 -0500 From: James Norris User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: , , Thomas Schwinge Subject: [gomp4] Additional tests for the default clause Hi! The attached patch adds additional tests for the OpenACC default clause. Committed to gomp-4_0-branch Jim diff --git a/gcc/testsuite/c-c++-common/goacc/default-1.c b/gcc/testsuite/c-c++-common/goacc/default-1.c new file mode 100644 index 0000000..41757f1 --- /dev/null +++ b/gcc/testsuite/c-c++-common/goacc/default-1.c @@ -0,0 +1,57 @@ +/* { dg-do run } */ + +#include + +int +main (int argc, char **argv) +{ + float a, b; + + a = 2.0; + b = 0.0; + +#pragma acc parallel default (shared) /* { dg-error "expected 'none'" } */ + /* { dg-error "expected '\\\)'" "" { target c++ } 13 } */ + { + b = a; + a = 1.0; + a = a + b; + } + +#pragma acc parallel default (none) /* { dg-error "enclosing OpenACC parallel" } */ + { + b = a; /* { dg-error "in enclosing OpenACC parallel construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc parallel create (b) default (none) /* { dg-error "enclosing OpenACC parallel" } */ + { + b = a; /* { dg-error "in enclosing OpenACC parallel construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc kernels default (none) /* { dg-error "enclosing OpenACC kernels" } */ + { + b = a; /* { dg-error "in enclosing OpenACC kernels construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc kernels create (b) default (none) /* { dg-error "enclosing OpenACC kernels construct" } */ + { + b = a; /* { dg-error "in enclosing OpenACC kernels construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc kernels copy (a) create (b) default () /* { dg-error "expected 'none'" } */ + { + b = a; + a = 1.0; + a = a + b; + } + + return 0; +} diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c new file mode 100644 index 0000000..0d75f49 --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c @@ -0,0 +1,64 @@ +/* { dg-do run } */ + +#include + +int +main (int argc, char **argv) +{ + float a, b; + + a = 2.0; + b = 0.0; + +#pragma acc kernels default (none) + { + float c, d; + + c = 2.0; + d = c; + c = 1.0; + c = c + d; + } + +#pragma acc parallel default (none) + { + float c, d; + + c = 2.0; + d = c; + c = 1.0; + c = c + d; + } + +#pragma acc parallel copy (a) create (b) default (none) + { + b = a; + a = 1.0; + a = a + b; + } + + if (a != 3.0) + abort (); + +#pragma acc kernels copy (a) create (b) default (none) + { + b = a; + a = 1.0; + a = a + b; + } + + if (a != 4.0) + abort (); + +#pragma acc parallel default (none) copy (a) create (b) + { + b = a; + a = 1.0; + a = a + b; + } + + if (a != 5.0) + abort (); + + return 0; +} diff --git a/libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 new file mode 100644 index 0000000..f82316e --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 @@ -0,0 +1,34 @@ +! { dg-do run } + +program main + implicit none + real a, b + + a = 2.0 + b = 0.0 + + !$acc parallel copy (a) create (b) default (none) + b = a + a = 1.0 + a = a + b + !$acc end parallel + + if (a .ne. 3.0) call abort + + !$acc kernels copy (a) create (b) default (none) + b = a + a = 1.0 + a = a + b + !$acc end kernels + + if (a .ne. 4.0) call abort + + !$acc parallel default (none) copy (a) create (b) + b = a + a = 1.0 + a = a + b + !$acc end parallel + + if (a .ne. 5.0) call abort + +end program main