From patchwork Sat Aug 6 14:37:34 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 108784 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]) by ozlabs.org (Postfix) with SMTP id 9704EB6F76 for ; Sun, 7 Aug 2011 00:37:50 +1000 (EST) Received: (qmail 3068 invoked by alias); 6 Aug 2011 14:37:49 -0000 Received: (qmail 3059 invoked by uid 22791); 6 Aug 2011 14:37:48 -0000 X-SWARE-Spam-Status: No, hits=-5.3 required=5.0 tests=AWL, BAYES_00, NO_DNS_FOR_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mga11.intel.com (HELO mga11.intel.com) (192.55.52.93) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 06 Aug 2011 14:37:35 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP; 06 Aug 2011 07:37:34 -0700 X-ExtLoop1: 1 Received: from gnu-4.sc.intel.com ([10.3.194.56]) by fmsmga001.fm.intel.com with ESMTP; 06 Aug 2011 07:37:34 -0700 Received: by gnu-4.sc.intel.com (Postfix, from userid 500) id C460821876; Sat, 6 Aug 2011 07:37:34 -0700 (PDT) Date: Sat, 6 Aug 2011 07:37:34 -0700 From: "H.J. Lu" To: gcc-patches@gcc.gnu.org Subject: PATCH: Add testcases for PRs 47449/47446 Message-ID: <20110806143734.GA9061@lucon.org> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) 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 Hi, I checked in this patch to add testcases for PRs 47449/47446. H.J. Index: gcc.target/i386/pr47449.c =================================================================== --- gcc.target/i386/pr47449.c (revision 0) +++ gcc.target/i386/pr47449.c (revision 0) @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +void bar (void *, void *); +int +foo (void *p1, void *p2) +{ + int ret1, ret2; + __asm ("" : "=D" (ret1), "=S" (ret2)); + bar (p1, p2); + return ret1 + ret2; +} Index: gcc.dg/pr47446-1.c =================================================================== --- gcc.dg/pr47446-1.c (revision 0) +++ gcc.dg/pr47446-1.c (revision 0) @@ -0,0 +1,40 @@ +/* { dg-do assemble } */ +/* { dg-options "-O2" } */ + +extern void abort (void); +enum +{ + __GCONV_OK = 0, + __GCONV_NOCONV, + __GCONV_NODB, + __GCONV_NOMEM, + __GCONV_EMPTY_INPUT, + __GCONV_FULL_OUTPUT, + __GCONV_ILLEGAL_INPUT, + __GCONV_INCOMPLETE_INPUT, + __GCONV_ILLEGAL_DESCRIPTOR, + __GCONV_INTERNAL_ERROR +}; +int +foo (int result) +{ + int irreversible = 0; + switch (result) + { + case __GCONV_ILLEGAL_INPUT: + irreversible = -1L; + break; + case __GCONV_FULL_OUTPUT: + irreversible = -2L; + break; + case __GCONV_INCOMPLETE_INPUT: + irreversible = -3L; + break; + case __GCONV_EMPTY_INPUT: + case __GCONV_OK: + break; + default: + abort (); + } + return irreversible; +} Index: gcc.dg/pr47446-2.c =================================================================== --- gcc.dg/pr47446-2.c (revision 0) +++ gcc.dg/pr47446-2.c (revision 0) @@ -0,0 +1,41 @@ +/* { dg-do assemble } */ +/* { dg-require-effective-target fpic } */ +/* { dg-options "-O2 -fpic" } */ + +extern void abort (void); +enum +{ + __GCONV_OK = 0, + __GCONV_NOCONV, + __GCONV_NODB, + __GCONV_NOMEM, + __GCONV_EMPTY_INPUT, + __GCONV_FULL_OUTPUT, + __GCONV_ILLEGAL_INPUT, + __GCONV_INCOMPLETE_INPUT, + __GCONV_ILLEGAL_DESCRIPTOR, + __GCONV_INTERNAL_ERROR +}; +int +foo (int result) +{ + int irreversible = 0; + switch (result) + { + case __GCONV_ILLEGAL_INPUT: + irreversible = -1L; + break; + case __GCONV_FULL_OUTPUT: + irreversible = -2L; + break; + case __GCONV_INCOMPLETE_INPUT: + irreversible = -3L; + break; + case __GCONV_EMPTY_INPUT: + case __GCONV_OK: + break; + default: + abort (); + } + return irreversible; +} Index: ChangeLog =================================================================== --- ChangeLog (revision 177511) +++ ChangeLog (working copy) @@ -1,5 +1,14 @@ 2011-08-06 H.J. Lu + PR middle-end/47449 + * gcc.target/i386/pr47449.c: New. + + PR target/47446 + * gcc.dg/pr47446-1.c: New. + * gcc.dg/pr47446-2.c: Likewise. + +2011-08-06 H.J. Lu + PR target/47766 * gcc.dg/pr47766.c: New.