Use codegen box tests for tail calls as diagnostic tests too

This commit is contained in:
Andrey Breslav
2013-11-26 21:49:17 +04:00
parent bb6ceffbbb
commit 94500bd968
22 changed files with 197 additions and 37 deletions
@@ -1,8 +1,10 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
tailRecursive fun withWhen2(counter : Int, x : Any) : Int =
when {
counter == 0 -> counter
counter == 50 -> 1 + withWhen2(counter - 1, "no tail")
withWhen2(0, "no tail") == 0 -> withWhen2(counter - 1, "tail")
counter == 50 -> 1 + <!NON_TAIL_RECURSIVE_CALL!>withWhen2<!>(counter - 1, "no tail")
<!NON_TAIL_RECURSIVE_CALL!>withWhen2<!>(0, "no tail") == 0 -> withWhen2(counter - 1, "tail")
else -> 1
}