https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
sandra at gcc dot gnu.org changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|-
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #33 from sandra at gcc dot gnu.org ---
Author: sandra
Date: Tue Dec 4 04:22:37 2018
New Revision: 266770
URL: https://gcc.gnu.org/viewcvs?rev=266770&root=gcc&view=rev
Log:
2018-12-03 Sandra Loosemore
PR c/59039
g
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #32 from sandra at gcc dot gnu.org ---
New patch posted for review here:
https://gcc.gnu.org/ml/gcc-patches/2018-12/msg4.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #31 from Christian Häggström ---
What you describe Sandra is mentioned in the man page for longjmp(3). Maybe we
can steal some of its documentation.
Caveats
If the function which called setjmp() returns before longjmp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
sandra at gcc dot gnu.org changed:
What|Removed |Added
CC||sandra at gcc dot gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
Eric Botcazou changed:
What|Removed |Added
CC||helloqirun at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #28 from Eric Botcazou ---
> Balaji fixed the ICE a while back. Based on c#26, I don't think we should
> hide the functions from being used/called from user code. So the only issue
> left is the doc fix, right?
That's my understand
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
Jeffrey A. Law changed:
What|Removed |Added
CC||law at redhat dot com
--- Comment #27 f
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #26 from Eric Botcazou ---
> I would not say that __builtin_setjmp is more efficient. It really saves
> just as many registers, except that it has help from the containing
> function's prologue/epilogue to do so, rather than saving th
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
Richard Henderson changed:
What|Removed |Added
CC||rth at gcc dot gnu.org
--- Comment #2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #24 from Eric Botcazou ---
> Does it look OK?
Mostly, but I wouldn't go into full details about what contains the buffer,
this is machine-specific and not portable. Maybe something like:
"The @code{setjmp} buffer is an array of five
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #23 from H.J. Lu ---
Created attachment 31186
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31186&action=edit
A patch to document __builtin_setjmp/__builtin_longjmp
Does it look OK?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #22 from bviyer at gcc dot gnu.org ---
Author: bviyer
Date: Fri Nov 8 19:52:27 2013
New Revision: 204592
URL: http://gcc.gnu.org/viewcvs?rev=204592&root=gcc&view=rev
Log:
+2013-11-08 Balaji V. Iyer
+
+ PR c/59039
+ * ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #21 from Andreas Schwab ---
It's only an error if they use the same jmpbuf.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #20 from Eric Botcazou ---
> Would it be OK to submit it a patch to document
> __builtin_longjmp/__builtin_setjmp based on their
> sources?
I think that we would need to issue an error if both are in the same function.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #19 from H.J. Lu ---
(In reply to Eric Botcazou from comment #18)
> > I couldn't find anything in GCC manual.
>
> There are a few documented hooks, but this looks quite light indeed, so the
> sources are probably the best references,
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #18 from Eric Botcazou ---
> I couldn't find anything in GCC manual.
There are a few documented hooks, but this looks quite light indeed, so the
sources are probably the best references, i.e. builtins.c and except.c:
/* __builtin_lon
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #17 from H.J. Lu ---
(In reply to Richard Biener from comment #16)
> > I couldn't find anything in GCC manual.
>
> See tm.texi / md.texi.
This is the only thing I found:
-- Macro: DONT_USE_BUILTIN_SETJMP
Define this macro to 1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #16 from Richard Biener ---
(In reply to H.J. Lu from comment #15)
> (In reply to Eric Botcazou from comment #14)
> > > This is good to hear. What is each field? I assume that
> > > the first 3 fields are frame address, resume addres
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #15 from H.J. Lu ---
(In reply to Eric Botcazou from comment #14)
> > This is good to hear. What is each field? I assume that
> > the first 3 fields are frame address, resume address and
> > stack address. Are the same for all targe
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #14 from Eric Botcazou ---
> This is good to hear. What is each field? I assume that
> the first 3 fields are frame address, resume address and
> stack address. Are the same for all targets? What are
> the maximum number of fields?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #13 from H.J. Lu ---
(In reply to Eric Botcazou from comment #12)
> No, __builtin_longjmp doesn't touch %rdi at all. Don't worry too much, the
> SJLJ mechanism of the C++ and Ada compilers has been piggybacked on this for
> a couple o
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #12 from Eric Botcazou ---
> %rdi holds the function parameter 'i'. But when __builtin_longjmp is
> called, %rdi can have some random value. GCC doesn't save %rdi first.
No, __builtin_longjmp doesn't touch %rdi at all. Don't worry
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #11 from Andreas Schwab ---
In the latter testcase foo doesn't call a function so there is never a need to
save anything.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #10 from H.J. Lu ---
(In reply to Eric Botcazou from comment #9)
> > What restrictions do they have? Can they be used within the
> > same function? Can they be used within functions with parameters?
>
> The only restriction I know of
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #9 from Eric Botcazou ---
> What restrictions do they have? Can they be used within the
> same function? Can they be used within functions with parameters?
The only restriction I know of is that they cannot be in the same function,
it
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #8 from H.J. Lu ---
(In reply to Eric Botcazou from comment #7)
> > Ah, those are the builtins used for SJLJ and they get lowered to
> > setjmp_setup,dispatcher and longjmp.
>
> Right, they are the efficient version of setjmp/longjmp.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #7 from Eric Botcazou ---
> Ah, those are the builtins used for SJLJ and they get lowered to
> setjmp_setup,dispatcher and longjmp.
Right, they are the efficient version of setjmp/longjmp.
> I suppose these shouldn't have been made c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #6 from H.J. Lu ---
(In reply to Richard Biener from comment #4)
> Ah, those are the builtins used for SJLJ and they get lowered to
> setjmp_setup,dispatcher and longjmp.
>
> Don't use __builtin_setjmp as I said, use setjmp.
>
> I su
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #5 from Richard Biener ---
But it seems cilk depends on implementation details of setjmp/longjmp which
looks bogus anyway.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
Richard Biener changed:
What|Removed |Added
CC||ebotcazou at gcc dot gnu.org
Co
31 matches
Mail list logo