http://llvm.org/bugs/show_bug.cgi?id=21470

Reid Kleckner <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #9 from Reid Kleckner <[email protected]> ---
(In reply to comment #7)
> Right. The function has to retain its non-returnedness, and it does. It
> can't just replace it with nothing but a "ret undef". Sorry, I misunderstood
> when Reid told me about this bug, I thought it was replacing it with a "ret
> undef" and no infinite self-recursion.

We do in fact do that, however:

$ cat t.cpp
extern "C" int foo() { return foo(); }

$ clang -cc1 t.cpp -emit-llvm -O2 -o - | grep @foo -A3
define i32 @foo() #0 {
entry:
  ret i32 undef
}

Probably because the call to foo has no users and foo is "readonly" so we do a
later cleanup to delete it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to