From 0a8a428f3325903eb647dee892553c878d5f16dc Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Sat, 9 Sep 2017 12:36:20 +0000 Subject: [PATCH] * gcc-interface/utils2.c (build_allocator): In type_annotate_only mode return NULL_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251933 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/gcc-interface/utils2.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d0d230c167a..efef4f7d0a1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,10 @@ 2017-09-09 Eric Botcazou + * gcc-interface/utils2.c (build_allocator): In type_annotate_only mode + return NULL_EXPR. + +2017-09-09 Eric Botcazou + * gcc-interface/decl.c (promote_object_alignment): New function taken from... (gnat_to_gnu_entity) : ...here. Invoke it. diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c index 543b5398941..072e1052c16 100644 --- a/gcc/ada/gcc-interface/utils2.c +++ b/gcc/ada/gcc-interface/utils2.c @@ -2350,6 +2350,12 @@ build_allocator (tree type, tree init, tree result_type, Entity_Id gnat_proc, if (init && TREE_CODE (init) == NULL_EXPR) return build1 (NULL_EXPR, result_type, TREE_OPERAND (init, 0)); + /* If we are just annotating types, also return a NULL_EXPR. */ + else if (type_annotate_only) + return build1 (NULL_EXPR, result_type, + build_call_raise (CE_Range_Check_Failed, gnat_node, + N_Raise_Constraint_Error)); + /* If the initializer, if present, is a COND_EXPR, deal with each branch. */ else if (init && TREE_CODE (init) == COND_EXPR) return build3 (COND_EXPR, result_type, TREE_OPERAND (init, 0), -- 2.11.4.GIT