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