[m-rev.] for review: announce a bunch of bug fixes

Peter Wang novalazy at gmail.com
Mon Jan 6 16:41:36 AEDT 2020


On Mon, 6 Jan 2020 16:11:14 +1100 (AEDT), Julien Fischer <jfischer at opturion.com> wrote:
> 
> For review by anyone.
> 
> ----------------------------
> 
> Announce a bunch of bug fixes.
> 
> NEWS:
>     As above; these announcements are only for bugs that were present in the
>     previous stable release.
> 
>     Provide the Mantis issue number where applicable.
> 
> Julien.
> 
> diff --git a/NEWS b/NEWS
> index 93d3cb7..0ccb2e2 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -69,7 +69,7 @@ Changes that may break compatibility
>   * We have enabled stricter checking of non-ground final insts to reject more
>     mode-incorrect code. Due to compiler limitations, some code that should be
>     accepted will now be rejected. They will require modifications to appease
> -  the compiler.
> +  the compiler. [Mantis bugs #86, #117, #191].
> 
>   * We have enabled stricter checking of the requirement that a type, inst
>     or a mode that is *not* exported from a module may not be used in the
> @@ -830,16 +830,16 @@ Changes to the Mercury standard library
>       - `foldr_substring/5`
>       - `foldr_substring/6`
> 
> -* `base_digit_to_int/3` and `det_base_digit_to_int/2` now check
> -  for overflow and underflow in all bases, not only base 10.
> -
>   * We have reduced the memory allocated by `to_lower` and `to_upper`.
> 
>   * `string_to_doc/1` now escapes characters in its input argument with
>     backslash escapes when required.
> 
> -* Float special values, NaNs and Infinities, are now converted to strings in
> -  a way that is backend- and grade-independent. [Mantis bug #348]
> +* [Mantis bug #348].  Float special values, NaNs and Infinities, are now
> +  converted to strings in a way that is backend- and grade-independent.
> +
> +* [Mantis bug #376]. `base_digit_to_int/3` and `det_base_digit_to_int/2` now
> +  check for overflow and underflow in all bases, not only base 10.
> 
>   ### Changes to the `store` module
> 
> @@ -1074,14 +1074,54 @@ Changes to the Mercury compiler
> 
>   ### Bug fixes
> 
> -* We have fixed a long-standing bug causing crashes in deep profiling
> -  grades, related to unify/compare for tuples. [Mantis bug #3]
> -
>   * We have fixed some bugs with constrained polymorphic modes.
> 
>   * The compiler now reports an error for binary/octal/hexadecimal integer
>     literals that cannot be represented in the compiler's native `int` type.
> 
> +* [Mantis bug #3]. We have fixed a long-standing bug causing crashes in
> +  deep profiling grades, related to unify/compare for tuples.
> +

I prefer the bug number at the end, with no full stop after the closing
bracket.

> +* [Mantis bug #184]. We have fixed a bug that caused a compiler abort in the
> +  presence of unsatisfied type class constraints.
> +
> +* [Mantis bug #196]. We have made binary compatibility checks in C grades
> +  work again; GCC and clang were optimizing them away.
> +
> +* [Mantis bug #264]. Putting a function with a non-default signature into a
> +  ground term is now no longer allowed. This is because extracting the function
> +  from the term would assume the default function signature.
> +
> +* [Mantis bug #278]. We have fixed a bug where erroneous state variable use
> +  in the head of a lambda expression would cause a compiler abort instead of
> +  generating an error message.
> +
> +* [Mantis bug #318]. We no longer erroneously report an error if a
> +  `foreign_type` pragma precedes the `:- type` declaration to which it applies.
> +
> +* [Mantis bug #388]. We have fixed a bug where JAR files were being installed
> +  with incorrect permissions.
> +
> +* [Mantis bug #391]. We have fixed a bug where the conditions on `trace` goals
> +  were being discarded when inlined across module boundaries.
> +
> +* [Mantis bug #402]. The current state of a state variable can now by used in
> +  the head of a `require_complete_switch` scope.

be used

> +
> +* [Mantis bug #415]. We have fixed a bug that cause the compiler to go into
> +  an infinite loop when pretty printing recursive insts for use in error
> +  messages.

that caused

> +
> +* [Mantis bug #420]. We have fixed a bug where `try` goals that were inlined
> +  across module boundaries would ignore exceptions instead of catching them.
> +
> +* [Mantis bug #436]. We have fixed a bug where the compiler would silently
> +  allow a `foreign_enum` pragma to contain a constructor not belonging to the
> +  type that is the subject of the pragma.
> +
> +* [Mantis bug #437]. We have fixed a bug that caused an abort if an empty
> +  submodule was encountered.

caused the compiler to abort

> @@ -1116,6 +1156,12 @@ Portability improvements
> 
>     See README.AIX for further details.
> 
> +* [Mantis bug #357]. We now use the `libdispatch` implementation of semaphores
> +  on OS X as the POSIX one was a non-functional stub.
> +
> +* [Mantis bug #463]. We now allow the use of the Microsoft C# compiler
> +  (i.e. Roslyn) in POSIX environments.

support the use

Peter


More information about the reviews mailing list