OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # Copyright 2010 The Native Client Authors. All rights reserved. | 2 # Copyright 2010 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can | 3 # Use of this source code is governed by a BSD-style license that can |
4 # be found in the LICENSE file. | 4 # be found in the LICENSE file. |
5 | 5 |
6 Import('env') | 6 Import('env') |
7 | 7 |
8 #--- Version that tests errno conditions | 8 #--- Version that tests errno conditions |
9 | 9 |
10 env.StaticObject('float_math', 'float_math.c') | 10 float_math_obj = env.StaticObject('float_math', 'float_math.c') |
11 env.ComponentProgram('float_math.nexe', | 11 float_math_nexe = env.ComponentProgram('float_math', |
12 'float_math', | 12 float_math_obj, |
13 EXTRA_LIBS=['m']) | 13 EXTRA_LIBS=['m']) |
14 node = env.CommandSelLdrTestNacl( | 14 node = env.CommandSelLdrTestNacl( |
15 'float_math.out', | 15 'float_math.out', |
16 command=[env.File('float_math.nexe')], | 16 float_math_nexe, |
17 exit_status='55', | 17 exit_status='55', |
18 ) | 18 ) |
19 env.AddNodeToTestSuite(node, | 19 env.AddNodeToTestSuite(node, |
20 ['small_tests'], | 20 ['small_tests'], |
21 'run_float_math_test') | 21 'run_float_math_test') |
22 | 22 |
23 #--- Version that uses -fno-math-errno and doesn't test errno conditions | 23 #--- Version that uses -fno-math-errno and doesn't test errno conditions |
24 | 24 |
25 # TODO(jvoung) enable this once we fix linking to handle libm dependencies | 25 # TODO(jvoung) enable this once we fix linking to handle libm dependencies |
26 # introduced by lowering (llvm intrinsics -> libm functions). | 26 # introduced by lowering (llvm intrinsics -> libm functions). |
27 # c.f. http://code.google.com/p/nativeclient/issues/detail?id=821 | 27 # c.f. http://code.google.com/p/nativeclient/issues/detail?id=821 |
28 if env.Bit('bitcode'): | 28 if env.Bit('bitcode'): |
29 Return() | 29 Return() |
30 | 30 |
31 noerrno_env = env.Clone() | 31 noerrno_env = env.Clone() |
32 noerrno_env.Append(CCFLAGS=['-fno-math-errno']) | 32 noerrno_env.Append(CCFLAGS=['-fno-math-errno']) |
33 noerrno_env.Append(CPPDEFINES=['NO_ERRNO_CHECK']) | 33 noerrno_env.Append(CPPDEFINES=['NO_ERRNO_CHECK']) |
34 noerrno_env.StaticObject('float_math_noerrno', 'float_math.c') | 34 |
35 noerrno_env.ComponentProgram('float_math_noerrno.nexe', | 35 float_math_noerrno_obj = noerrno_env.StaticObject('float_math_noerrno', |
36 'float_math_noerrno', | 36 'float_math.c') |
37 EXTRA_LIBS=['m']) | 37 float_math_noerrno_nexe = noerrno_env.ComponentProgram( |
| 38 'float_math_noerrno', |
| 39 float_math_noerrno_obj, |
| 40 EXTRA_LIBS=['m']) |
38 node = noerrno_env.CommandSelLdrTestNacl( | 41 node = noerrno_env.CommandSelLdrTestNacl( |
39 'float_math_noerrno.out', | 42 'float_math_noerrno.out', |
40 command=[noerrno_env.File('float_math_noerrno.nexe')], | 43 float_math_noerrno_nexe, |
41 exit_status='55', | 44 exit_status='55', |
42 ) | 45 ) |
43 noerrno_env.AddNodeToTestSuite(node, | 46 noerrno_env.AddNodeToTestSuite(node, |
44 ['small_tests'], | 47 ['small_tests'], |
45 'run_float_math_noerrno_test') | 48 'run_float_math_noerrno_test') |
OLD | NEW |