Revise mismatch tests so they don't rely on undefined behavior
authorAndy Ayers <andya@microsoft.com>
Fri, 18 Nov 2016 00:06:46 +0000 (16:06 -0800)
committerAndy Ayers <andya@microsoft.com>
Fri, 18 Nov 2016 00:06:46 +0000 (16:06 -0800)
commit021f775b3a7aae7557304dae80496519bb50fb55
tree7478cc0e68f1d6b57125dda56cd0b7f148d4cfca
parentdb81622ed195624591e2151c4f2a009ddffef29e
Revise mismatch tests so they don't rely on undefined behavior

The mismatch32 and mismatch64 tests ensure that the jit will avoid
inlining in cases where there are bad type mismatches at call sites.

This change modifies the tests so that by default the call with the
bad type mismatch is not hit at runtime, since execution of this code
exposes undefined behavior that can be arch or jit specific (eg failing
on x86 and passing on other architectures).

The problematic call can still be hit at runtime by passing at least one
command line argument.

Remove the associated test exclusions for x86.

Fixes #8152.
tests/issues.targets
tests/src/JIT/opt/Inline/regression/mismatch32/mismatch32.il
tests/src/JIT/opt/Inline/regression/mismatch64/mismatch64.il