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