Revert
authorEric Botcazou <ebotcazou@adacore.com>
Sat, 31 Mar 2012 08:27:32 +0000 (08:27 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 31 Mar 2012 08:27:32 +0000 (08:27 +0000)
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
gcc/ada/gcc-interface/decl.c

index 34217e12873d7e275a6f231775560f2f7cb3d46c..39a5be5ff1b649333fbb37db6c3c582238a00d92 100644 (file)
@@ -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.
index b925f422a21bf8f60b8f748722411762682240c9..dac9942237f067e036283e0d39e280514fc8e415 100644 (file)
@@ -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)