decl.c (gnat_to_gnu_entity, [...]): When constructing a ref to variable...

2015-01-06  Olivier Hainque  <hainque@adacore.com>
        
	* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
	constructing a ref to variable, update inner_const_flag from the
	variable TREE_READONLY attribute.
	* gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
	definition.
	(get_target_float_size): Remove.
	(get_target_double_size): Remove.
	(get_target_long_double_size): Remove.

From-SVN: r219239
This commit is contained in:
Olivier Hainque 2015-01-06 09:49:00 +00:00 committed by Arnaud Charlet
parent 07e188be3b
commit f72a845b32
3 changed files with 13 additions and 28 deletions

View File

@ -1,3 +1,14 @@
2015-01-06 Olivier Hainque <hainque@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
constructing a ref to variable, update inner_const_flag from the
variable TREE_READONLY attribute.
* gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
definition.
(get_target_float_size): Remove.
(get_target_double_size): Remove.
(get_target_long_double_size): Remove.
2015-01-06 Pascal Obry <obry@adacore.com> 2015-01-06 Pascal Obry <obry@adacore.com>
* adaint.c (ProcListEvt): Set to NULL. * adaint.c (ProcListEvt): Set to NULL.

View File

@ -1415,6 +1415,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnu_size = NULL_TREE; gnu_size = NULL_TREE;
used_by_ref = true; used_by_ref = true;
inner_const_flag = TREE_READONLY (gnu_unc_var);
const_flag = true; const_flag = true;
} }

View File

@ -6,7 +6,7 @@
* * * *
* Body * * Body *
* * * *
* Copyright (C) 1992-2012, Free Software Foundation, Inc. * * Copyright (C) 1992-2014, Free Software Foundation, Inc. *
* * * *
* GNAT is free software; you can redistribute it and/or modify it under * * 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- * * terms of the GNU General Public License as published by the Free Soft- *
@ -54,15 +54,6 @@
#define ADA_LONG_TYPE_SIZE LONG_TYPE_SIZE #define ADA_LONG_TYPE_SIZE LONG_TYPE_SIZE
#endif #endif
/* If we don't have a target definition of WIDEST_HARDWARE_FP_SIZE, assume
DOUBLE_TYPE_SIZE. We used to default to LONG_DOUBLE_TYPE_SIZE, which now
most often maps 128 bits implemented with very inefficient software
emulations so is incorrect as a hardware size estimate. */
#ifndef WIDEST_HARDWARE_FP_SIZE
#define WIDEST_HARDWARE_FP_SIZE DOUBLE_TYPE_SIZE
#endif
/* The following provide a functional interface for the front end Ada code /* The following provide a functional interface for the front end Ada code
to determine the sizes that are used for various C types. */ to determine the sizes that are used for various C types. */
@ -115,24 +106,6 @@ get_target_long_long_size (void)
return LONG_LONG_TYPE_SIZE; return LONG_LONG_TYPE_SIZE;
} }
Pos
get_target_float_size (void)
{
return fp_prec_to_size (FLOAT_TYPE_SIZE);
}
Pos
get_target_double_size (void)
{
return fp_prec_to_size (DOUBLE_TYPE_SIZE);
}
Pos
get_target_long_double_size (void)
{
return fp_prec_to_size (WIDEST_HARDWARE_FP_SIZE);
}
Pos Pos
get_target_pointer_size (void) get_target_pointer_size (void)
{ {