Commit f72a845b by Olivier Hainque Committed by Arnaud Charlet

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
parent 07e188be
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>
* adaint.c (ProcListEvt): Set to NULL.
......
......@@ -1415,6 +1415,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnu_size = NULL_TREE;
used_by_ref = true;
inner_const_flag = TREE_READONLY (gnu_unc_var);
const_flag = true;
}
......
......@@ -6,7 +6,7 @@
* *
* 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 *
* 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
#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
to determine the sizes that are used for various C types. */
......@@ -116,24 +107,6 @@ get_target_long_long_size (void)
}
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
get_target_pointer_size (void)
{
return POINTER_SIZE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment