[llvm-dev] returns_twice (original) (raw)
[llvm-dev] returns_twice / noreturn
Serge Guelton via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 6 07:07:56 PST 2017
- Previous message: [llvm-dev] returns_twice / noreturn
- Next message: [llvm-dev] returns_twice / noreturn
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Nov 05, 2017 at 09:22:47PM -0500, Yichao Yu via llvm-dev wrote:
> We do not implement that restricted semantics correctly either -- see > https://bugs.llvm.org/showbug.cgi?id=27190
Haha, I wondered for a minute whether I should bring up that bug... We've seen pretty nasty crashes due to it and had to work around it..... One of my recent work has also uncovered another (I believe) invalid handling of returnstwice functions.... https://bugs.llvm.org/showbug.cgi?id=35211 noalias returns seems to be treated as stack allocation but is not required by either LangRef or C standard to be so for returnstwice function handling....
For the record, function returning twice are not even correctly annotated by glibc, see https://sourceware.org/bugzilla/show_bug.cgi?id=20382
Looks like gcc handles that using a pattern matching approach (see https://gcc.gnu.org/ml/gcc-patches/2016-07/msg01163.html)
Maybe we should do so too?
- Previous message: [llvm-dev] returns_twice / noreturn
- Next message: [llvm-dev] returns_twice / noreturn
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]