From f542c405c0bb1d6eda47ba05832fbd3c10e7e27e Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 13 Jul 2011 21:13:49 +0000 Subject: [PATCH] utils.c (build_vms_descriptor32): Skip the 32-bit range comparison if Pmode is SImode. * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit range comparison if Pmode is SImode. From-SVN: r176251 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/gcc-interface/utils.c | 6 ++++-- gcc/ada/xeinfo.adb | 2 +- gcc/ada/xsinfo.adb | 2 +- gcc/ada/xsnamest.adb | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 652f33d5b47..66bf9746f7b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2011-07-13 Eric Botcazou + + * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit + range comparison if Pmode is SImode. + 2011-07-12 Laurent GUERBY Eric Botcazou diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index 9b6e7211bfe..c6078659cb2 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -2556,8 +2556,10 @@ build_vms_descriptor32 (tree type, Mechanism_Type mech, Entity_Id gnat_entity) tem = build_unary_op (ADDR_EXPR, pointer64_type, build0 (PLACEHOLDER_EXPR, type)); tem = build3 (COND_EXPR, pointer32_type, - build_binary_op (GE_EXPR, boolean_type_node, tem, - build_int_cstu (pointer64_type, 0x80000000)), + Pmode != SImode + ? build_binary_op (GE_EXPR, boolean_type_node, tem, + build_int_cstu (pointer64_type, 0x80000000)) + : boolean_false_node, build0 (PLACEHOLDER_EXPR, void_type_node), convert (pointer32_type, tem)); diff --git a/gcc/ada/xeinfo.adb b/gcc/ada/xeinfo.adb index cce58315fe2..4df0974d609 100644 --- a/gcc/ada/xeinfo.adb +++ b/gcc/ada/xeinfo.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- diff --git a/gcc/ada/xsinfo.adb b/gcc/ada/xsinfo.adb index 869ae873f29..41e86bcf50e 100644 --- a/gcc/ada/xsinfo.adb +++ b/gcc/ada/xsinfo.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- diff --git a/gcc/ada/xsnamest.adb b/gcc/ada/xsnamest.adb index d044fb1130e..a3f8ec3ee96 100644 --- a/gcc/ada/xsnamest.adb +++ b/gcc/ada/xsnamest.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- -- 2.30.2