aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-10-18 10:41:03 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-10-18 10:41:03 +0000
commitc96738e3218fbdd5b3822c599d1a341c0d37008d (patch)
tree8122f18a2a8257d216e570dc3b1e75b7a68320f4
parentf8049c44b999c27e4573be61aebb3aeedfa0a471 (diff)
downloadgcc-c96738e3218fbdd5b3822c599d1a341c0d37008d.zip
gcc-c96738e3218fbdd5b3822c599d1a341c0d37008d.tar.gz
gcc-c96738e3218fbdd5b3822c599d1a341c0d37008d.tar.bz2
misc.c (gnat_tree_size): Move around.
* gcc-interface/misc.c (gnat_tree_size): Move around. * gcc-interface/utils.c (max_size): Deal with SSA names. From-SVN: r253852
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/gcc-interface/misc.c34
-rw-r--r--gcc/ada/gcc-interface/utils.c4
3 files changed, 27 insertions, 17 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 7d50dbb..2139cbf 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_tree_size): Move around.
+
+ * gcc-interface/utils.c (max_size): Deal with SSA names.
+
2017-10-17 Jakub Jelinek <jakub@redhat.com>
* gcc-interface/misc.c (gnat_tree_size): New function.
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index 5083c71..7bdb380 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -343,23 +343,6 @@ internal_error_function (diagnostic_context *context, const char *msgid,
Compiler_Abort (sp, sp_loc, true);
}
-/* lang_hooks.tree_size: Determine the size of a tree with code C,
- which is a language-specific tree code in category tcc_constant,
- tcc_exceptional or tcc_type. The default expects never to be called. */
-
-static size_t
-gnat_tree_size (enum tree_code code)
-{
- gcc_checking_assert (code >= NUM_TREE_CODES);
- switch (code)
- {
- case UNCONSTRAINED_ARRAY_TYPE:
- return sizeof (tree_type_non_common);
- default:
- gcc_unreachable ();
- }
-}
-
/* Perform all the initialization steps that are language-specific. */
static bool
@@ -1387,6 +1370,23 @@ gnat_init_ts (void)
MARK_TS_TYPED (EXIT_STMT);
}
+/* Return the size of a tree with CODE, which is a language-specific tree code
+ in category tcc_constant, tcc_exceptional or tcc_type. The default expects
+ never to be called. */
+
+static size_t
+gnat_tree_size (enum tree_code code)
+{
+ gcc_checking_assert (code >= NUM_TREE_CODES);
+ switch (code)
+ {
+ case UNCONSTRAINED_ARRAY_TYPE:
+ return sizeof (tree_type_non_common);
+ default:
+ gcc_unreachable ();
+ }
+}
+
/* Return the lang specific structure attached to NODE. Allocate it (cleared)
if needed. */
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 0419976..9945382 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -3595,6 +3595,10 @@ max_size (tree exp, bool max_p)
case tcc_constant:
return exp;
+ case tcc_exceptional:
+ gcc_assert (code == SSA_NAME);
+ return exp;
+
case tcc_vl_exp:
if (code == CALL_EXPR)
{