[m-rev.] diff: disable failing constant_prop_2 tests
Fergus Henderson
fjh at cs.mu.OZ.AU
Tue Feb 17 13:06:34 AEDT 2004
Estimated hours taken: 3
Branches: main
tests/hard_coded/Mmakefile:
Disable the constant_prop_2 test case in hl*prof* grades,
because it fails in those grades.
(This is not a regression; it has always failed in those grades.)
Workspace: /home/jupiter/fjh/ws-jupiter/mercury
Index: tests/hard_coded/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/tests/hard_coded/Mmakefile,v
retrieving revision 1.227
diff -u -d -r1.227 Mmakefile
--- tests/hard_coded/Mmakefile 16 Feb 2004 02:28:09 -0000 1.227
+++ tests/hard_coded/Mmakefile 17 Feb 2004 02:02:46 -0000
@@ -24,7 +24,6 @@
comparison \
contains_char \
constant_prop_1 \
- constant_prop_2 \
constraint \
constraint_order \
construct_test \
@@ -269,6 +268,23 @@
BROKEN_FOR_PROFDEEP =
endif
+# constant_prop_2 fails in hl*prof* grades, due to a complicated phase
+# ordering problem. The first simplify pass eliminates a call to
+# private_builtin.typed_unify, but does not yet simplify the if-then-else
+# which contains it; then at the end of that pass determinism analysis
+# is rerun, and the condition is inferred to be det. Then dead proc
+# elimination is run, and it does not eliminate link_error, since there
+# is still a call to it. The second simplify pass notices that the
+# condition is det, and simplifies the if-then-else, deleting the else part,
+# so link_error is now dead. But dead proc elimination doesn't get run
+# again, so we go ahead and emit a declaration for link_error, and in
+# MLDS profiling grades also a reference, which causes the test case to fail.
+ifeq "$(findstring hl,$(GRADE))$(findstring prof,$(GRADE))" "hlprof"
+ NONHLPROF_PROGS =
+else
+ NONHLPROF_PROGS = constant_prop_2
+endif
+
# These tests trigger a bug in lcc
ifeq "$(findstring lcc,$(shell $(MGNUC) -v 2>&1))" "lcc"
BROKEN_FOR_LCC_PROGS =
@@ -367,7 +383,7 @@
# These tests are also not supported in IL and Java grades,
# since those back-ends don't support the C interface at all.
# (XXX perhaps we should add analagous tests of the nondet IL, C#, MC++,
-# and [evenetually] Java interfaces?)
+# and [eventually] Java interfaces?)
ifneq "$(filter il% java%,$(GRADE))" ""
NONDET_C_PROGS =
else
@@ -412,7 +428,7 @@
ifneq "$(findstring java,$(GRADE))" ""
PROGS = $(JAVA_PROGS) $(JAVA_PASS_PROGS)
else
- PROGS = $(ORDINARY_PROGS) $(BROKEN_FOR_LCC_PROGS) \
+ PROGS = $(ORDINARY_PROGS) $(NONHLPROF_PROGS) $(BROKEN_FOR_LCC_PROGS) \
$(CLOSURE_LAYOUT_PROGS) $(EXCEPTION_PROGS) \
$(BACKEND_PROGS) $(NONDET_C_PROGS) \
$(C_AND_GC_ONLY_PROGS) $(STATIC_LINK_PROGS) \
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list