www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/07/05/18:39:36

Date: Thu, 5 Jul 2001 18:38:29 -0400
Message-Id: <200107052238.SAA11334@envy.delorie.com>
X-Authentication-Warning: envy.delorie.com: dj set sender to dj AT envy DOT delorie DOT com using -f
From: DJ Delorie <dj AT delorie DOT com>
To: djgpp AT delorie DOT com
In-reply-to: <9i2m71$qlf$1@news.tpi.pl> (xos@o2.pl)
Subject: Re: Accessing registers from C
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1010704095943 DOT 3231S-100000 AT is> <9i2m71$qlf$1 AT news DOT tpi DOT pl>
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> __attribute__ ((("far")))
> __attribute__ ((("interrupt")))

These are probably do-able, if you limit yourself to functions (and
not data; far *pointers* just won't work).  In other words, if you
just want an option that means "use a different epilogue/prologue" you
can probably implement that.

Don't expect it to be easy to tell gcc how to *call* such a function,
though.  That's much harder, because then you have to watch out for
pointers again.

You may want a syntax like

	__attribute__((far_return))
	__attribute__((interrupt_return))

To keep people from thinking that "far" applies to anything else.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019