1# Copyright 2013 the V8 project authors. All rights reserved. 2# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions 6# are met: 7# 1. Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# 2. Redistributions in binary form must reproduce the above copyright 10# notice, this list of conditions and the following disclaimer in the 11# documentation and/or other materials provided with the distribution. 12# 13# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY 14# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY 17# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 24Tests that using a value predicted boolean after it is converted to an int32 doesn't crash the compiler while causing bad code gen. 25 26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29PASS foo(true) is [2, true] 30PASS foo(true) is [2, true] 31PASS foo(true) is [2, true] 32PASS foo(true) is [2, true] 33PASS foo(true) is [2, true] 34PASS foo(true) is [2, true] 35PASS foo(true) is [2, true] 36PASS foo(true) is [2, true] 37PASS foo(true) is [2, true] 38PASS foo(true) is [2, true] 39PASS foo(true) is [2, true] 40PASS foo(true) is [2, true] 41PASS foo(true) is [2, true] 42PASS foo(true) is [2, true] 43PASS foo(true) is [2, true] 44PASS foo(true) is [2, true] 45PASS foo(true) is [2, true] 46PASS foo(true) is [2, true] 47PASS foo(true) is [2, true] 48PASS foo(true) is [2, true] 49PASS foo(true) is [2, true] 50PASS foo(true) is [2, true] 51PASS foo(true) is [2, true] 52PASS foo(true) is [2, true] 53PASS foo(true) is [2, true] 54PASS foo(true) is [2, true] 55PASS foo(true) is [2, true] 56PASS foo(true) is [2, true] 57PASS foo(true) is [2, true] 58PASS foo(true) is [2, true] 59PASS foo(true) is [2, true] 60PASS foo(true) is [2, true] 61PASS foo(true) is [2, true] 62PASS foo(true) is [2, true] 63PASS foo(true) is [2, true] 64PASS foo(true) is [2, true] 65PASS foo(true) is [2, true] 66PASS foo(true) is [2, true] 67PASS foo(true) is [2, true] 68PASS foo(true) is [2, true] 69PASS foo(true) is [2, true] 70PASS foo(true) is [2, true] 71PASS foo(true) is [2, true] 72PASS foo(true) is [2, true] 73PASS foo(true) is [2, true] 74PASS foo(true) is [2, true] 75PASS foo(true) is [2, true] 76PASS foo(true) is [2, true] 77PASS foo(true) is [2, true] 78PASS foo(true) is [2, true] 79PASS foo(true) is [2, true] 80PASS foo(true) is [2, true] 81PASS foo(true) is [2, true] 82PASS foo(true) is [2, true] 83PASS foo(true) is [2, true] 84PASS foo(true) is [2, true] 85PASS foo(true) is [2, true] 86PASS foo(true) is [2, true] 87PASS foo(true) is [2, true] 88PASS foo(true) is [2, true] 89PASS foo(true) is [2, true] 90PASS foo(true) is [2, true] 91PASS foo(true) is [2, true] 92PASS foo(true) is [2, true] 93PASS foo(true) is [2, true] 94PASS foo(true) is [2, true] 95PASS foo(true) is [2, true] 96PASS foo(true) is [2, true] 97PASS foo(true) is [2, true] 98PASS foo(true) is [2, true] 99PASS foo(true) is [2, true] 100PASS foo(true) is [2, true] 101PASS foo(true) is [2, true] 102PASS foo(true) is [2, true] 103PASS foo(true) is [2, true] 104PASS foo(true) is [2, true] 105PASS foo(true) is [2, true] 106PASS foo(true) is [2, true] 107PASS foo(true) is [2, true] 108PASS foo(true) is [2, true] 109PASS foo(true) is [2, true] 110PASS foo(true) is [2, true] 111PASS foo(true) is [2, true] 112PASS foo(true) is [2, true] 113PASS foo(true) is [2, true] 114PASS foo(true) is [2, true] 115PASS foo(true) is [2, true] 116PASS foo(true) is [2, true] 117PASS foo(true) is [2, true] 118PASS foo(true) is [2, true] 119PASS foo(true) is [2, true] 120PASS foo(true) is [2, true] 121PASS foo(true) is [2, true] 122PASS foo(true) is [2, true] 123PASS foo(true) is [2, true] 124PASS foo(true) is [2, true] 125PASS foo(true) is [2, true] 126PASS foo(true) is [2, true] 127PASS foo(true) is [2, true] 128PASS foo(true) is [2, true] 129PASS successfullyParsed is true 130 131TEST COMPLETE 132 133