This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Ada] Minor tweak
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 13 Jul 2011 23:14:11 +0200
- Subject: [Ada] Minor tweak
This disables a check generated in VMS emulation mode (-gnatdm) for 32-bit
targets since it confuses the RTL middle-end for no real benefit.
Tested on i586-suse-linux, applied on the mainline.
2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
range comparison if Pmode is SImode.
--
Eric Botcazou
Index: gcc-interface/utils.c
===================================================================
--- gcc-interface/utils.c (revision 176072)
+++ gcc-interface/utils.c (working copy)
@@ -2556,8 +2556,10 @@ build_vms_descriptor32 (tree type, Mecha
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));