From 71bb37ba99c71d21d504b91bd0c8904d89f2db58 Mon Sep 17 00:00:00 2001 From: Eric Botcazou <ebotcazou@adacore.com> Date: Sat, 31 Mar 2012 08:27:32 +0000 Subject: [PATCH] Revert 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (SS_MARK_NAME): New define. (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities whose name is SS_MARK_NAME. From-SVN: r186038 --- gcc/ada/ChangeLog | 9 +++++++++ gcc/ada/gcc-interface/decl.c | 18 ------------------ 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 34217e12873d..39a5be5ff1b6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2012-03-31 Eric Botcazou <ebotcazou@adacore.com> + + Revert + 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (SS_MARK_NAME): New define. + (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities + whose name is SS_MARK_NAME. + 2012-03-30 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index b925f422a21b..dac9942237f0 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -81,9 +81,6 @@ #define FOREIGN_FORCE_REALIGN_STACK 0 #endif -/* The (internal) name of the System.Secondary_Stack.SS_Mark function. */ -#define SS_MARK_NAME "system__secondary_stack__ss_mark" - struct incomplete { struct incomplete *next; @@ -4409,21 +4406,6 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) get_identifier ("force_align_arg_pointer"), NULL_TREE, gnat_entity); - /* ??? Declare System.Secondary_Stack.SS_Mark as leaf, in order to - avoid creating abnormal edges in SJLJ mode, which can break the - dominance relationship if there is a dynamic stack allocation. - We cannot do this in System.Secondary_Stack directly since it's - a compiler unit and this would introduce bootstrap path issues. */ - if (IDENTIFIER_LENGTH (gnu_entity_name) == strlen (SS_MARK_NAME) - && IDENTIFIER_POINTER (gnu_entity_name)[0] == SS_MARK_NAME[0] - && IDENTIFIER_POINTER (gnu_entity_name)[1] == SS_MARK_NAME[1] - && IDENTIFIER_POINTER (gnu_entity_name)[2] == SS_MARK_NAME[2] - && gnu_entity_name == get_identifier (SS_MARK_NAME)) - prepend_one_attribute_to - (&attr_list, ATTR_MACHINE_ATTRIBUTE, - get_identifier ("leaf"), NULL_TREE, - gnat_entity); - /* The lists have been built in reverse. */ gnu_param_list = nreverse (gnu_param_list); if (has_stub) -- GitLab