This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] update stack realignment for foreign conventions


Stack realignment for Ada subprograms with foreign convention
(expected on the tiny case below) stopped working on x86 so time ago.

Indeed, it still relies on the definition of
FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN and things have changed in this area.

This patch fixes this by adjusting the control macros in accordance with
the current MAIN_STACK_BOUNDARY instead.

Fixes the tescase at hand. Bootstrapped and regtestsed on x86-suse-linux.

Olivier

2010-08-30  Olivier Hainque  <hainque@adacore.com>

	* gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
	replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
	(gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.

--

procedure P;
pragma Convention (C, P);

procedure P is
  procedure process;
  pragma import (c, process);
begin
  process;
end;

Attachment: realignstack-ada.dif
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]