aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog11
-rw-r--r--gcc/ada/gcc-interface/decl.c1
-rw-r--r--gcc/ada/gcc-interface/targtyps.c29
3 files changed, 13 insertions, 28 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6afb823f..c6159e6 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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>
* adaint.c (ProcListEvt): Set to NULL.
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;