home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ferkel.ucsb.edu!taco!rock!stanford.edu!agate!ames!sun-barr!cs.utexas.edu!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!usit.uio.NO!h.b.furuseth
- From: h.b.furuseth@usit.uio.NO (Hallvard B Furuseth)
- Newsgroups: gnu.gcc.bug
- Subject: Re: gcc 2.3.3's handling of setjmp like functions
- Date: 26 Jan 1993 22:24:26 -0500
- Organization: University of Oslo, Norway
- Lines: 23
- Sender: daemon@cis.ohio-state.edu
- Approved: bug-gcc@prep.ai.mit.edu
- Distribution: gnu
- Message-ID: <H.B.FURUSETH.93Jan26223619@durin.uio.no>
- References: h.b.furuseth@usit.uio.NO (Hallvard B Furuseth)
-
- In article <9301220819.AA21461@mole.gnu.ai.mit.edu> rms@gnu.ai.mit.edu (Richard Stallman) writes:
-
- > It might be reasonable to have a way of doing this, but I don't
- > like the idea of using pragma for it. (Or for anything.)
- > Any other ideas?
-
- Isn't that what __attribute__ is intended for?
- Add __attribute__((setjmp)).
-
- Another way: Register or auto.
- register int setjmp (jmp_buf);
- register volatile void longjmp (jmp_buf, int);
-
-
- However, one problem with such extensions is that they fill our header
- files with '#if __GNUC__ &&!__STRICT_ANSI__' directives. So the best
- *syntax* may be something like
- int setjmp (jmp_buf) /*ATTRIBUTE:(SETJMP)*/;
- which cpp would modify to __attribute__((setjmp)), just as cpp -lint.
- --
-
- Hallvard
-
-