aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2015-01-06 09:49:00 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2015-01-06 10:49:00 +0100
commitf72a845b320bd21a92d237c4dc0ee6d7d142e910 (patch)
treed849ed6560a6b24f0f05d8d225515ae1e45a4749 /gcc/ada/gcc-interface
parent07e188be3ba696461d3010c9d40e3ff156f7f4d0 (diff)
downloadgcc-f72a845b320bd21a92d237c4dc0ee6d7d142e910.zip
gcc-f72a845b320bd21a92d237c4dc0ee6d7d142e910.tar.gz
gcc-f72a845b320bd21a92d237c4dc0ee6d7d142e910.tar.bz2
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
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r--gcc/ada/gcc-interface/decl.c1
-rw-r--r--gcc/ada/gcc-interface/targtyps.c29
2 files changed, 2 insertions, 28 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index fda3f0c..b6df1ae 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -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;
}
diff --git a/gcc/ada/gcc-interface/targtyps.c b/gcc/ada/gcc-interface/targtyps.c
index cfc45e7..851d5f7 100644
--- a/gcc/ada/gcc-interface/targtyps.c
+++ b/gcc/ada/gcc-interface/targtyps.c
@@ -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;