Files
mercury/tests/invalid_purity/purity.err_exp
Julien Fischer 1ab13edca6 Switch over unary and binary ops in Java and C# code generators.
Fix more failing test cases in the non-C grades.

compiler/mlds_to_java.m:
compiler/mlds_to_cs.m:
    Always switch over unary and binary ops.  The existing code predates
    the addition of multi-arm switches to the language and was intended to
    the code duplication that would result in the absence of that feature.
    Since we now have multi-arm switches it is by far preferable to use
    a switch in these places.

    XXX for binary ops the above change replicates what the existing code
    did; I think it should actually abort in some cases.

    Fix spelling.

    Delete trailing whitespace.

compiler/java_util.m:
    Delete this module, it isn't used anymore.

compiler/ml_backend.m:
    Delete the include of the java_util module.

compiler/c_util.m:
    Update a comment.

tests/exceptions/Mmakefile:
    Fix the failure of 'test_uncaught_exception' in the java grade by
    filtering out the stack trace generated by the JVM.

tests/hard_coded/float_reg.exp4:
    Alternative expected output for this due to the way floats are
    printed.

tests/invalid_purity/purity.m:
tests/invalid_purity/purity.err_exp:
    Add C# and Java foreign_procs and updated the expected output.

tests/warnings/Mmakefile:
    Fix my previous change, which broke things in non-Erlang grades.
2016-02-07 22:38:16 +11:00

53 lines
2.8 KiB
Plaintext

purity.m:115: In predicate `w1'/0:
purity.m:115: warning: declared impure but actually pure.
purity.m:119: In predicate `w2'/0:
purity.m:119: warning: declared semipure but actually pure.
purity.m:123: In predicate `w3'/0:
purity.m:123: warning: declared impure but actually semipure.
purity.m:127: In predicate `w4'/0:
purity.m:127: warning: unnecessary `promise_pure' pragma.
purity.m:132: In predicate `w5'/0:
purity.m:132: error: declared impure but promised pure.
purity.m:137: In predicate `w6'/0:
purity.m:137: error: declared semipure but promised pure.
purity.m:145: In predicate `e1'/0:
purity.m:145: purity error: predicate is impure.
purity.m:145: It must be declared `impure' or promised pure.
purity.m:149: In predicate `e2'/0:
purity.m:149: purity error: predicate is semipure.
purity.m:149: It must be declared `semipure' or promised pure.
purity.m:153: In predicate `e3'/0:
purity.m:153: purity error: predicate is impure.
purity.m:153: It must be declared `impure' or promised semipure.
purity.m:159: In call to impure predicate `purity.imp'/0:
purity.m:159: purity error: call must be preceded by `impure' indicator.
purity.m:163: In call to semipure predicate `purity.semi'/0:
purity.m:163: purity error: call must be preceded by `semipure' indicator.
purity.m:168: In clause for `e6':
purity.m:168: in argument 1 of call to predicate `purity.in'/1:
purity.m:168: mode error: variable `X' has instantiatedness `free',
purity.m:168: expected instantiatedness was `ground'.
purity.m:168: The goal could not be reordered, because it was followed by an
purity.m:168: impure goal.
purity.m:169: This is the location of the impure goal.
purity.m:175: In clause for `e7':
purity.m:175: in argument 1 of call to predicate `purity.imp1'/1:
purity.m:175: mode error: variable `X' has instantiatedness `free',
purity.m:175: expected instantiatedness was `ground'.
purity.m:175: The goal could not be reordered, because it was impure.
purity.m:178: In unification predicate for type `e8':
purity.m:178: purity error: predicate is impure.
purity.m:178: It must be pure.
purity.m:190: In unification predicate for type `e9':
purity.m:190: purity error: predicate is semipure.
purity.m:190: It must be pure.
purity.m:205: In call to impure predicate `purity.imp1'/1:
purity.m:205: purity error: call must be preceded by `impure' indicator.
purity.m:205: Purity error in closure: closure body is impure, but closure was
purity.m:205: not declared impure.
purity.m:211: In call to semipure predicate `purity.semi'/1:
purity.m:211: purity error: call must be preceded by `semipure' indicator.
purity.m:211: Purity error in closure: closure body is semipure, but closure
purity.m:211: was not declared semipure.
For more information, recompile with `-E'.