Fix interaction between `pascal` and `pragma parameter` (pascal should be ignored)

This commit is contained in:
Wolfgang Thaller 2018-05-07 22:40:31 +02:00
parent e87f2fe79d
commit 9d304134f2
2 changed files with 5 additions and 5 deletions

View File

@ -5513,7 +5513,7 @@ expand_function_end (void)
tree decl_result = DECL_RESULT (current_function_decl);
rtx decl_rtl = DECL_RTL (decl_result);
if (lookup_attribute ("pascal", TYPE_ATTRIBUTES (TREE_TYPE(current_function_decl))))
if (IS_PASCAL_FUNC(TREE_TYPE(current_function_decl), current_function_decl))
{
enum machine_mode mode = GET_MODE(decl_rtl);;

View File

@ -181,13 +181,13 @@ static pascal void PatchedExitToShell()
}
#pragma parameter __D0 Launch(__A0)
pascal OSErr Launch(void *param) = { 0xA9F2 };
OSErr Launch(void *param) = { 0xA9F2 };
#pragma parameter __D0 Chain(__A0)
pascal OSErr Chain(void *param) = { 0xA9F2 };
OSErr Chain(void *param) = { 0xA9F2 };
#pragma parameter __D0 PatchedLaunch(__A0)
static pascal OSErr PatchedLaunch(void *p)
static OSErr PatchedLaunch(void *p)
{
UninstallPatches();
OSErr err = Launch(p);
@ -196,7 +196,7 @@ static pascal OSErr PatchedLaunch(void *p)
}
#pragma parameter __D0 PatchedChain(__A0)
static pascal OSErr PatchedChain(void *p)
static OSErr PatchedChain(void *p)
{
UninstallPatches();
OSErr err = Chain(p);