From patchwork Mon Oct 10 15:37:13 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Krebbel X-Patchwork-Id: 680455 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 3st44z2X2cz9rxm for ; Tue, 11 Oct 2016 02:37:39 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=JlHVH0zV; 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:from :to:subject:date:message-id; q=dns; s=default; b=MeSlLpRKNSDdp9m Qv800d0hjVpE3g1uysL50wgYmXPrAzZdc7/3RlfNDXMTs4Ixuq6tcUnIIsNUYilz MhahsI5GHedgLyLN/8FVpiBQZj1YAuxAHXDHPNSENRzrGkAAI3in4xVUHZZGfd7i MecwgGpvJlrZW9exiNQOUvLUG4VI= 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; s=default; bh=gO7MihIrZXZ2htEH8tfP8 /Cg3a8=; b=JlHVH0zVVCOIy3u1puFoteGbeg6D/adv7Zl8NqhnO9O3ohOh8b5DP fWfympTNCgDwDNnLY2iwKJgeQ54U5oYu8Jo17JK7GGFCuQLll/NLg+2bjTt1N78E ul7IXAf9DATIlSrxAWGPMT8TeROcVerfwSCeP752nR+mBGVW0mhmLA= Received: (qmail 6158 invoked by alias); 10 Oct 2016 15:37:32 -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 6148 invoked by uid 89); 10 Oct 2016 15:37:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, KAM_STOCKGEN, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=2.9.1, get_mode_size, mode_for_size, GET_MODE_SIZE X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0a-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.156.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 10 Oct 2016 15:37:21 +0000 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id u9AFa3DA018973 for ; Mon, 10 Oct 2016 11:37:20 -0400 Received: from e06smtp06.uk.ibm.com (e06smtp06.uk.ibm.com [195.75.94.102]) by mx0a-001b2d01.pphosted.com with ESMTP id 260cx92mm0-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 10 Oct 2016 11:37:19 -0400 Received: from localhost by e06smtp06.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 10 Oct 2016 16:37:17 +0100 Received: from d06dlp02.portsmouth.uk.ibm.com (9.149.20.14) by e06smtp06.uk.ibm.com (192.168.101.136) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 10 Oct 2016 16:37:15 +0100 Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 1B4282190061 for ; Mon, 10 Oct 2016 16:36:32 +0100 (BST) Received: from d06av09.portsmouth.uk.ibm.com (d06av09.portsmouth.uk.ibm.com [9.149.37.250]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u9AFbEh930998740 for ; Mon, 10 Oct 2016 15:37:14 GMT Received: from d06av09.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u9AFbEh2030043 for ; Mon, 10 Oct 2016 09:37:14 -0600 Received: from maggie.boeblingen.de.ibm.com (dyn-9-152-212-65.boeblingen.de.ibm.com [9.152.212.65]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u9AFbDVh030023 (version=TLSv1/SSLv3 cipher=AES256-SHA256 bits=256 verify=NO) for ; Mon, 10 Oct 2016 09:37:14 -0600 From: Andreas Krebbel To: gcc-patches@gcc.gnu.org Subject: [Committed] S/390: Wrap more macro args into () Date: Mon, 10 Oct 2016 17:37:13 +0200 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16101015-0024-0000-0000-0000022FF53B X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16101015-0025-0000-0000-000020BB1037 Message-Id: <20161010153713.395-1-krebbel@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-10-10_08:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1610100262 X-IsSubscribed: yes Turned out that there where a few () around macro args uses missing. One real problem with it was detected with the int-in-bool-context in the definition of DBX_REGISTER_NUMBER. But while being at it I've also tried to fix other places where brackets might be missing. gcc/ChangeLog: 2016-10-10 Andreas Krebbel * config/s390/s390.h: Wrap more macros args in brackets and fix some formatting. --- gcc/ChangeLog | 4 +++ gcc/config/s390/s390.h | 88 ++++++++++++++++++++++++++------------------------ 2 files changed, 49 insertions(+), 43 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d27102..abe0194 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2016-10-10 Andreas Krebbel + + * config/s390/s390.h: Wrap more macros args in brackets and fix + 2016-10-10 Andreas Schwab PR target/77738 diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index 3a7be1a..501c8e4 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -320,9 +320,9 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv); FUNCTION is VOIDmode because calling convention maintains SP. BLOCK needs Pmode for SP. NONLOCAL needs twice Pmode to maintain both backchain and SP. */ -#define STACK_SAVEAREA_MODE(LEVEL) \ - (LEVEL == SAVE_FUNCTION ? VOIDmode \ - : LEVEL == SAVE_NONLOCAL ? (TARGET_64BIT ? OImode : TImode) : Pmode) +#define STACK_SAVEAREA_MODE(LEVEL) \ + ((LEVEL) == SAVE_FUNCTION ? VOIDmode \ + : (LEVEL) == SAVE_NONLOCAL ? (TARGET_64BIT ? OImode : TImode) : Pmode) /* Type layout. */ @@ -491,7 +491,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv); s390_hard_regno_mode_ok ((REGNO), (MODE)) #define HARD_REGNO_RENAME_OK(FROM, TO) \ - s390_hard_regno_rename_ok (FROM, TO) + s390_hard_regno_rename_ok ((FROM), (TO)) #define MODES_TIEABLE_P(MODE1, MODE2) \ (((MODE1) == SFmode || (MODE1) == DFmode) \ @@ -584,7 +584,7 @@ enum reg_class reload can decide not to use the hard register because some constant was forced to be in memory. */ #define IRA_HARD_REGNO_ADD_COST_MULTIPLIER(regno) \ - (regno != BASE_REGNUM ? 0.0 : 0.5) + ((regno) != BASE_REGNUM ? 0.0 : 0.5) /* Register -> class mapping. */ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER]; @@ -617,10 +617,10 @@ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER]; FIXME: Should we try splitting it into two vlgvg's/vlvg's instead? */ #define SECONDARY_MEMORY_NEEDED(CLASS1, CLASS2, MODE) \ - (((reg_classes_intersect_p (CLASS1, VEC_REGS) \ - && reg_classes_intersect_p (CLASS2, GENERAL_REGS)) \ - || (reg_classes_intersect_p (CLASS1, GENERAL_REGS) \ - && reg_classes_intersect_p (CLASS2, VEC_REGS))) \ + (((reg_classes_intersect_p ((CLASS1), VEC_REGS) \ + && reg_classes_intersect_p ((CLASS2), GENERAL_REGS)) \ + || (reg_classes_intersect_p ((CLASS1), GENERAL_REGS) \ + && reg_classes_intersect_p ((CLASS2), VEC_REGS))) \ && (!TARGET_DFP || !TARGET_64BIT || GET_MODE_SIZE (MODE) != 8) \ && (!TARGET_VX || (SCALAR_FLOAT_MODE_P (MODE) \ && GET_MODE_SIZE (MODE) > 8))) @@ -630,7 +630,7 @@ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER]; #define SECONDARY_MEMORY_NEEDED_MODE(MODE) \ (GET_MODE_BITSIZE (MODE) < 32 \ ? mode_for_size (32, GET_MODE_CLASS (MODE), 0) \ - : MODE) + : (MODE)) /* Stack layout and calling conventions. */ @@ -720,8 +720,8 @@ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER]; /* Define the dwarf register mapping. v16-v31 -> 68-83 rX -> X otherwise */ -#define DBX_REGISTER_NUMBER(regno) \ - ((regno >= 38 && regno <= 53) ? regno + 30 : regno) +#define DBX_REGISTER_NUMBER(regno) \ + (((regno) >= 38 && (regno) <= 53) ? (regno) + 30 : (regno)) /* Frame registers. */ @@ -832,24 +832,25 @@ CUMULATIVE_ARGS; operand. If we find one, push the reload and jump to WIN. This macro is used in only one place: `find_reloads_address' in reload.c. */ #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN) \ -do { \ - rtx new_rtx = legitimize_reload_address (AD, MODE, OPNUM, (int)(TYPE)); \ - if (new_rtx) \ - { \ - (AD) = new_rtx; \ - goto WIN; \ - } \ -} while (0) + do { \ + rtx new_rtx = legitimize_reload_address ((AD), (MODE), \ + (OPNUM), (int)(TYPE)); \ + if (new_rtx) \ + { \ + (AD) = new_rtx; \ + goto WIN; \ + } \ + } while (0) /* Helper macro for s390.c and s390.md to check for symbolic constants. */ -#define SYMBOLIC_CONST(X) \ -(GET_CODE (X) == SYMBOL_REF \ - || GET_CODE (X) == LABEL_REF \ - || (GET_CODE (X) == CONST && symbolic_reference_mentioned_p (X))) +#define SYMBOLIC_CONST(X) \ + (GET_CODE (X) == SYMBOL_REF \ + || GET_CODE (X) == LABEL_REF \ + || (GET_CODE (X) == CONST && symbolic_reference_mentioned_p (X))) -#define TLS_SYMBOLIC_CONST(X) \ -((GET_CODE (X) == SYMBOL_REF && tls_symbolic_operand (X)) \ - || (GET_CODE (X) == CONST && tls_symbolic_reference_mentioned_p (X))) +#define TLS_SYMBOLIC_CONST(X) \ + ((GET_CODE (X) == SYMBOL_REF && tls_symbolic_operand (X)) \ + || (GET_CODE (X) == CONST && tls_symbolic_reference_mentioned_p (X))) /* Condition codes. */ @@ -928,8 +929,8 @@ do { \ #define ASM_COMMENT_START "#" /* Declare an uninitialized external linkage data object. */ -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) /* Globalizing directive for a label. */ #define GLOBAL_ASM_OP ".globl " @@ -946,7 +947,7 @@ do { \ #define LOCAL_LABEL_PREFIX "." #define LABEL_ALIGN(LABEL) \ - s390_label_align (LABEL) + s390_label_align ((LABEL)) /* How to refer to registers in assembler output. This sequence is indexed by compiler's hard-register-number (see above). */ @@ -967,8 +968,8 @@ do { \ { "v9", 28 }, { "v11", 29 }, { "v13", 30 }, { "v15", 31 } }; /* Print operand X (an rtx) in assembler syntax to file FILE. */ -#define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE) -#define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR) +#define PRINT_OPERAND(FILE, X, CODE) print_operand ((FILE), (X), (CODE)) +#define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address ((FILE), (ADDR)) /* Output an element of a case-vector that is absolute. */ #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ @@ -998,8 +999,8 @@ do { \ #define EPILOGUE_USES(REGNO) ((REGNO) == RETURN_REGNUM) #undef ASM_OUTPUT_FUNCTION_LABEL -#define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ - s390_asm_output_function_label (FILE, NAME, DECL) +#define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ + s390_asm_output_function_label ((FILE), (NAME), (DECL)) #if S390_USE_TARGET_ATTRIBUTE /* Hook to output .machine and .machinemode at start of function. */ @@ -1056,24 +1057,25 @@ do { \ the symbol_refs that can be misaligned and assume that the others are correctly aligned. Hence, if a symbol_ref does not have a _NOTALIGN flag it is supposed to be correctly aligned. */ -#define SYMBOL_FLAG_SET_NOTALIGN2(X) SYMBOL_FLAG_SET_ALIGN(X, 1) -#define SYMBOL_FLAG_SET_NOTALIGN4(X) SYMBOL_FLAG_SET_ALIGN(X, 2) -#define SYMBOL_FLAG_SET_NOTALIGN8(X) SYMBOL_FLAG_SET_ALIGN(X, 3) +#define SYMBOL_FLAG_SET_NOTALIGN2(X) SYMBOL_FLAG_SET_ALIGN((X), 1) +#define SYMBOL_FLAG_SET_NOTALIGN4(X) SYMBOL_FLAG_SET_ALIGN((X), 2) +#define SYMBOL_FLAG_SET_NOTALIGN8(X) SYMBOL_FLAG_SET_ALIGN((X), 3) #define SYMBOL_FLAG_NOTALIGN2_P(X) (SYMBOL_FLAG_GET_ALIGN(X) == 1) -#define SYMBOL_FLAG_NOTALIGN4_P(X) (SYMBOL_FLAG_GET_ALIGN(X) == 2 \ +#define SYMBOL_FLAG_NOTALIGN4_P(X) (SYMBOL_FLAG_GET_ALIGN(X) == 2 \ || SYMBOL_FLAG_GET_ALIGN(X) == 1) -#define SYMBOL_FLAG_NOTALIGN8_P(X) (SYMBOL_FLAG_GET_ALIGN(X) == 3 \ - || SYMBOL_FLAG_GET_ALIGN(X) == 2 \ +#define SYMBOL_FLAG_NOTALIGN8_P(X) (SYMBOL_FLAG_GET_ALIGN(X) == 3 \ + || SYMBOL_FLAG_GET_ALIGN(X) == 2 \ || SYMBOL_FLAG_GET_ALIGN(X) == 1) /* Check whether integer displacement is in range for a short displacement. */ #define SHORT_DISP_IN_RANGE(d) ((d) >= 0 && (d) <= 4095) /* Check whether integer displacement is in range. */ -#define DISP_IN_RANGE(d) \ - (TARGET_LONG_DISPLACEMENT? ((d) >= -524288 && (d) <= 524287) \ - : SHORT_DISP_IN_RANGE(d)) +#define DISP_IN_RANGE(d) \ + (TARGET_LONG_DISPLACEMENT \ + ? ((d) >= -524288 && (d) <= 524287) \ + : SHORT_DISP_IN_RANGE(d)) /* Reads can reuse write prefetches, used by tree-ssa-prefetch-loops.c. */ #define READ_CAN_USE_WRITE_PREFETCH 1