Commit d74d76f5 authored by wolfgang's avatar wolfgang

[project @ 2005-03-08 02:52:49 by wolfgang]

Change expectations a bit for the non-i386-world.
cc004 and ffi012 use stdcall and is therefore expected to fail on non-i386.
ffi009, arith008 and arith012 expected to fail in optasm because of an
i386-specific floating-point accuracy problem. It now only expects failure on
i386.

MERGE TO STABLE
parent 6077c7d6
......@@ -7,8 +7,15 @@ def f( opts ):
setTestOpts(f)
test('cc001', normal, compile, [''])
# Non-static C call
test('cc004', expect_fail_for(['extcore','optextcore']), compile, [''])
# cc004 test also uses stdcall, so it only works on i386.
if config.platform.startswith('i386-'):
ways = expect_fail_for(['extcore','optextcore'])
else:
ways = expect_fail
test('cc004', ways, compile, [''])
# foreign label
test('cc005', expect_fail_for(['extcore','optextcore']), compile, [''])
......
......@@ -38,14 +38,16 @@ test('ffi006', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
test('ffi007', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
test('ffi008', compose(expect_fail_for(['extcore','optextcore']), exit_code(1)), compile_and_run, [''])
# expect fail for way optasm, because the native code generator
# On i386, expect fail for way optasm, because the native code generator
# doesn't do -ffloat-store and gets different answers when
# optimisation is on. Doesn't have this issue on OpenBSD. Why?
if config.platform == 'i386-unknown-openbsd':
ways = expect_fail_for(['extcore','optextcore'])
else:
elif config.platform.startswith('i386-'):
ways = expect_fail_for(['optasm','profasm','extcore', 'optextcore'])
else:
ways = expect_fail_for(['extcore','optextcore'])
test('ffi009', ways ,compile_and_run, [''])
......@@ -53,7 +55,16 @@ test('ffi009', ways ,compile_and_run, [''])
test('ffi010', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
test('ffi011', normal, compile_and_run, [''])
test('ffi012', normal, compile_and_run, [''])
# The stdcall calling convention only exists on i386,
# so ffi012 should fail everywhere else.
if config.platform.startswith("i386-"):
f = normal
else:
f = expect_fail
test('ffi012', f, compile_and_run, [''])
# Doesn't work with External Core due to __labels
test('ffi013', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
......@@ -14,13 +14,23 @@ test('arith007', normal, compile_and_run, [''])
# This test generates slightly different results with the NCG on x86,
# because of the extra precision when floating point computations are
# done in registers rather than going via memory.
test('arith008', expect_fail_for(['optasm','profasm']), compile_and_run, [''])
if config.platform.startswith('i386-'):
ways = expect_fail_for(['optasm','profasm'])
else:
ways = normal
test('arith008', ways, compile_and_run, [''])
test('arith009', normal, compile_and_run, [''])
test('arith010', normal, compile_and_run, [''])
test('arith011', normal, compile_and_run, [''])
test('arith012', expect_fail_for(['optasm']), compile_and_run, [''])
if config.platform.startswith('i386-'):
ways = expect_fail_for(['optasm'])
else:
ways = normal
test('arith012', ways, compile_and_run, [''])
test('arith013', only_compiler_types(['ghc']), compile_and_run, [''])
test('arith014', normal, compile_and_run, [''])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment