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
This commit is contained in:
Eric Botcazou 2012-03-31 08:27:32 +00:00 committed by Eric Botcazou
parent 195940adc0
commit 71bb37ba99
2 changed files with 9 additions and 18 deletions

View 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.

View 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)