Commit Graph

28 Commits

Author SHA1 Message Date
Julien Fischer
b995aebcc0 Update email addresses and URLs.
.README.in:
BUGS:
README.CSharp:
README.DotNet:
README.Erlang:
README.Java:
README.ThreadScope:
compiler/notes/todo.html:
doc/faq.texi:
doc/make_manpage:
	As above.
2013-04-24 16:13:59 +10:00
Julien Fischer
34635347d4 Rewrite the BUGS file -- the (old) bugs that used to be listed here
Branches: 10.04, main

Rewrite the BUGS file -- the (old) bugs that used to be listed here
have been shifted into the bug database, or have been deleted.

BUGS:
	Mention the bug database -- mention that the list of current
	bugs is located there.

	Delete entries for bugs that are now in the bug database.

	Mention that bug reports should include the name and version
	of the C/Java/Erlang compiler involved and the command line
	options used with mmc.
2010-05-27 16:11:29 +00:00
Julien Fischer
9e5c3bd78a Delete the entry for the ho_and_type_spec bug that Simon
Estimated hours taken: 0
Branches: main

BUGS:
	Delete the entry for the ho_and_type_spec bug that Simon
	just fixed.
2007-05-02 07:30:57 +00:00
Zoltan Somogyi
92966551f1 Replace the workaround for the bootstrapping problem with deep profiling grades
Estimated hours taken: 16
Branches: main

Replace the workaround for the bootstrapping problem with deep profiling grades
with a proper fix. The fix requires changing the builtin generic unify and
compare routines by removing the pretest comparing the two argument words
for equality. Since this can alter the algorithmic complexity of the program
(for the worse) which a profiler should definitely avoid, we compensate for
this by adding the pretest to the compiler-generated unify and compare
predicates. Since these pretests are executed even when the deleted pretest
wouldn't be, this can also alter algorithmic complexity (for the better)
at the cost of higher constant factors. However, the likelyhood of such
alteration is much smaller: if the top level of a term doesn't match, chances
are most of the function symbols at the lower levels won't match either.
In any case, the user has the option of getting this better algorithmic
complexity anyway by specifying the new option --should-pretest-equality.
However, until we have more experience with it, the documentation of the
new option is commented out.

runtime/mercury_conf_param.h:
	Remove the workaround.

runtime/mercury_unify_compare_body.h:
	Remove the problematic pretest, and document the problem that would
	occur in its presence. Document the user_by_rtti dummy type
	constructor. Fix some misleading abort messages.

compiler/options.m:
	Add the --should-pretest-equality option.

	Add (commented out) documentation for another option for which it was
	missing.

doc/user_guide.texi:
	Add (commented out) documentation for the new option, and for some
	others which it was missing.

compiler/handle_options.m:
	Make deep profiling imply the need for pretests in compiler generated
	unify and compare predicates.

compiler/unify_proc.m:
	If the new option is set, add pretests to unify and compare predicates.
	We have to be careful to make sure that we don't add pretests if they
	would try to unify two non-ground terms, or if the unification is
	guaranteed to fail (since the casts in the pretest would obscure this
	fact).

	Implementing this required changing the approach of this module.
	Instead of most predicates generating single clauses, they now generate
	disjuncts for a disjunction that itself can be put inside the
	if-then-else whose condition is the pretest. Since these predicates
	not longer generate clauses, their names have been changed accordingly.

compiler/hlds_goal.m:
	Add a goal feature for marking an if-then-else as representing
	a pretest.

compiler/saved_vars.m:
	Handle the new goal feature.

compiler/goal_util.m:
	Add a function for stripping pretests away.

compiler/post_term_analysis.m:
compiler/term_constr_build.m:
compiler/term_pass1.m:
compiler/term_pass2.m:
	Strip pretests away before termination analysis, since the analysis
	can't yet prove termination in the presence of the pretest.

compiler/prog_type.m:
	Add some auxilary predicates, and change the signature of an existing
	predicate to make it more convenient to use.

compiler/type_util.m:
	Conform to the change in prog_type.m, and in the process fix code to
	avoid the assumption that the names of standard library modules are
	unqualified (since the plan is to put them in package "std").

tests/hard_coded/profdeep_seg_fault.{m,exp}:
	Fix the test case to be more readable and to generate properly
	line-terminated output, now that we pass it.

BUGS:
	Remove the entry for the bug fixed by this diff.
2007-04-13 04:56:46 +00:00
Ian MacLarty
1cc0d0245e Remove unnecessary paragraph.
Estimated hours taken: 0.1
Branches: main

BUGS:
	Remove unnecessary paragraph.
2006-09-22 00:44:47 +00:00
Julien Fischer
36ac2b4c77 Merge late changes from the 0.13 branch onto the main branch.
Estimated hours taken: 0.5
Branches: main

Merge late changes from the 0.13 branch onto the main branch.

BUGS:
	Merge in additions from the 0.12(!) branch.

HISTORY:
	Fix typos and be more consistent about the formatting of dates.

NEWS:
	Move the news about checking inst declarations for consistency
	with visible type constructors to the post-0.13 news where it belongs.

	Merge changes to the 0.13 branch.

README.Solaris:
	Merge changes from the 0.13 branch.

compiler/notes/todo.html:
	Merge changes from the 0.13 branch.

doc/user_guide.texi:
	Merge changes from 0.13 branch related to trace counts
	documentation.

extras/curses/sample/smalltest.m:
extras/gator/genotype.m:
extras/references/tests/ref_test.m:
samples/rot13/rot13_ralph.m:
tests/mmc_make/complex_test.m:
tests/mmc_make/lib/complex.m:
	Merge minor fixes from the 0.13 branch.
2006-09-15 09:11:24 +00:00
Julien Fischer
576600811f Prepare for the 0.13 release and fix/update documentation.
Estimated hours taken: 1
Branches: main, release

Prepare for the 0.13 release and fix/update documentation.

NEWS:
HISTORY:
	Update the NEWS and HISTORY files for the 0.13 release.

RELEASE_NOTES:
	s/0.12/0.13/

	Add Linux/x86_64 to the list of architectures supported by this
	release.

	Remove Solaris 8/x86 from the same list.

.README.in:
extras/README:
	Remove references to the clp(r) binding.  We no longer support it.

bindist/bindist.README:
	Update the year in the copyright message.

	Fix the gc version; 0.13 uses 6.5.

BUGS:
README.DotNet:
README.Java:
README.gcc-backend:
doc/faq.texi:
doc/make_manpage:
doc/mercury.html.in:
doc/mercury.info.in:
	s/.cs.mu.oz.au/.csse.unimelb.edu.au/

library/array.m:
library/builtin.m:
library/eqvclass.m:
library/graph.m:
samples/README:
	Fix typos.
2006-09-07 08:32:20 +00:00
Julien Fischer
8c90c7d9ca Mention the puzzle_detism_bug and its workaround.
Estimated hours taken: 0.1
Branches: main, release

BUGS:
	Mention the puzzle_detism_bug and its workaround.

	Update a bit of syntax that we shortly won't
	support anymore.
2005-04-27 03:27:22 +00:00
Mark Brown
7234e16972 Check for cycles in the typeclass hierarchy.
Estimated hours taken: 3
Branches: main

Check for cycles in the typeclass hierarchy.  This fixes a long-standing
bug whereby the compiler could go into an infinite loop in the polymorphism
stage if cycles were present.

compiler/check_typeclass.m:
	Add a pass to check through all visible typeclass declarations and
	report when a cycle is found.

	The interface to this module has been made more general, to reflect
	the fact that it checks the superclass relation as well as instance
	declarations.

compiler/mercury_compile.m:
	Use the new interface to the check_typeclass module.

compiler/error_util.m:
	Add a new format_component for sym_name_and_arity.

BUGS:
	Remove the bug report from this file.

tests/invalid/Mmakefile:
test/invalid/cyclic_typeclass.err_exp:
	Enable the cyclic_typeclass test, since we now pass it, and add an
	expected output file.  Also add a couple of new tests.

test/invalid/cyclic_typeclass_2.m:
test/invalid/cyclic_typeclass_2.err_exp:
test/invalid/cyclic_typeclass_3.m:
test/invalid/cyclic_typeclass_3.err_exp:
	New test cases.
2005-01-19 05:53:07 +00:00
Fergus Henderson
c73fad2444 Update the documentation of the GCC global register variable bug
Estimated hours taken: 0.25
Branches: main

BUGS:
	Update the documentation of the GCC global register variable bug
	with calls to memcpy() etc.: this bug is fixed in GCC CVS.
2003-11-05 08:08:24 +00:00
Fergus Henderson
f8cf3fbf30 Fix a bug where we were missing mode errors, and in some cases generating
Estimated hours taken: 2
Branches: main

Fix a bug where we were missing mode errors, and in some cases generating
incorrect code as a result.

compiler/modecheck_unify.m:
	Disallow the case of free-free unifications where both variables
	are locked.

tests/invalid/Mmakefile:
tests/invalid/freefree.err_exp
	Enable the freefree test case, since we now pass it.

BUGS:
	Delete the bug report for this bug.
2003-08-03 13:33:23 +00:00
Julien Fischer
991647a615 Fix a bug in the termination analyser that caused it to ignore
Estimated hours take: 5.5
Branches: main

Fix a bug in the termination analyser that caused it to ignore
pragma terminates/does_not_terminate declarations.

BUGS:
	Delete the description of the bug regarding does_not_terminate
	pragmas.

compiler/error_util:
	Add a predicate describe_several_pred_names/3.

compiler/term_errors:
	Add an error type indicating that the cause of non-termination was
	inconsistent termination pragmas.

compiler/termination:
	Fix a bug that caused pragma terminates and pragma does_not_terminate
	declarations to be ignored.

	Check that SCCs in the call-graph have not been annotated with
	termination pragmas that are inconsistent.

	Remove some old style lambda expressions.

doc/reference_manual.texi:
	Describe how pramga terminates/does_not_terminate interact with
	mutually recursive procedures.

tests/term/Mmakefile:
tests/term/pragma_non_term.m:
tests/term/pragma_non_term.trans_opt_exp:
tests/term/pragma_term.m:
tests/term/pragam_term.trans_opt_exp:
tests/warnings/Mercury.options:
tests/warnings/Mmakefile:
tests/warnings/pragma_term_conflict.m:
tests/warnings/pragma_term_conflict.exp:
	Add some test cases for the termination pragmas.
2003-06-25 06:57:35 +00:00
Fergus Henderson
b1c0fa7b96 Mention the issues with NaN reported by Peter Moulder.
Estimated hours taken: 0.25
Branches: main, release

BUGS:
	Mention the issues with NaN reported by Peter Moulder.
2002-11-22 19:14:28 +00:00
Fergus Henderson
b5feceb3f2 Update in preparation for the next release.
Estimated hours taken: 3
Branches: main

NEWS:
RELEASE_NOTES:
WORK_IN_PROGRESS:
BUGS:
	Update in preparation for the next release.

README.BSDI:
	Delete.  The contents of this file was mainly a very old patch
	(against Mercury 0.3!) which would no longer apply correctly anyway,
	so it was doing more harm than good.
2002-10-14 07:07:58 +00:00
Simon Taylor
fc012086d9 Add a variant of the GCC global register variables optimization bug.
Estimated hours taken: 0.1
Branches: main, release

BUGS:
	Add a variant of the GCC global register variables optimization bug.
2002-04-21 04:21:23 +00:00
Simon Taylor
9fbf907e7b Add documentation for the GCC bugs causing messages such as:
Estimated hours taken: 0.1

BUGS:
	Add documentation for the GCC bugs causing messages such as:
		"fixed or forbidden register 4 (si) was spilled for
		class SIREG. This may be due to a compiler bug or to
		impossible asm statements or clauses."
2001-06-27 05:41:57 +00:00
Fergus Henderson
ad242beed0 Delete the description of a bug that we've fixed from the BUGS file.
Estimated hours taken: 0.25

BUGS:
	Delete the description of a bug that we've fixed from the BUGS file.
2000-12-18 13:23:32 +00:00
Fergus Henderson
de26da4bfa Update for release 0.9.
Estimated hours taken: 1

BUGS:
	Update for release 0.9.
1999-12-13 15:05:58 +00:00
Fergus Henderson
ceb9ec75ce Update a few files in preparation for release 0.8.
Estimated hours taken: 0.25

Update a few files in preparation for release 0.8.

BUGS:
	Delete one of the bugs from the list, since we have basically
	fixed that one.

NEWS:
	s/typeclasses/type classes/g
1998-11-15 16:53:23 +00:00
Simon Taylor
27b53e90ee Added an entry for spurious ambiguity errors due to
Estimated hours taken: 0.1

BUGS
	Added an entry for spurious ambiguity errors due to
	abstract exported equivalence types being made visible
	by --intermodule-optimization.
1998-02-19 04:33:07 +00:00
Fergus Henderson
9777cf86b5 Localize the definition of the version number into a single file.
Estimated hours taken: 2

Localize the definition of the version number into a single file.
Automate the building of releases, including daily "rotd"
(release-of-the-day) releases.

VERSION:
	New file, defines the version number.
	Also document the general scheme for assigning version numbers.

Mmake.common.in:
	Add `include VERSION'.

Mmakefile:
bindist/Mmakefile:
configure.in:
	Use the version number in VERSION rather than hard-coding it
	in multiple places.

Mmakefile:
README:
.README.in:
INSTALL:
.INSTALL.in:
	Change things so that README and INSTALL are automatically
	generated from .README.in and .INSTALL.in respectively, using
	the version number defined in VERSION.

BUGS:
	Remove an unnecessary reference to the version number.

RELEASE_NOTES:
	Change this file so that the version number is only mentioned
	in one place.  Bump the version number here to 0.7 in preparation
	for the next release.

library/Mmakefile:
library/library.m:
library/library.m.in:
	Change things so that library.m is automatically generated from
	library.m.in using the version number in VERSION.
	Also change it so that library__version says which architecture
	it was configured for.

tools/test_mercury:
	Override the version specified in the VERSION file in the CVS
	repository with either `rotd-YYYY-MM-DD' or (when making a release)
	with a specified $RELEASE_VERSION.
	When running on murliboobo, if the version built passes all its
	tests, copy it to the /pub/mercury/beta-releases directory on
	ftp://turiel.cs.mu.oz.au.

compiler/notes/release_checklist.m:
	Change the release checklist to say that you only need to
	update the version number in VERSION rather than in 6 different
	places.  Also change the procedure for building the final
	tar file to reflect the above changes to the `test_mercury' script.
1997-07-28 08:51:53 +00:00
Fergus Henderson
e597d7e3fd Update the documentation in preparation for the next release.
Estimated hours taken: 0.5

Update the documentation in preparation for the next release.

NEWS:
	Move the "Work in Progress" section to a separate file.
	Make the typography more consistent.  Various minor cleanups.

WORK_IN_PROGRESS:
	New file, containing a cleaned up version of the
	"Work in Progress" section from the NEWS file.

BUGS, LIMITATIONS:
	Minor wording changes.
1997-07-27 16:34:37 +00:00
Fergus Henderson
d9f16759a5 Update the documentation in preparation for the next release.
Estimated hours taken: 0.25

Update the documentation in preparation for the next release.

BUGS:
	Add an entry for the one bug currently on my outstanding
	bugs list that is not already documented either here on
	in the LIMITATIONS file.

RELEASE_NOTES:
	Add mention of the stuff in the extras directory.
	Mention that it works on Windows NT.
1997-07-26 17:38:44 +00:00
Fergus Henderson
7893e09ea1 Update the documentation in preparation for the next release.
Estimated hours taken: 0.5

Update the documentation in preparation for the next release.

BUGS:
	Remove entries for bugs that we have fixed.
	Point out that the bug with profiling & shared libraries
	on DEC Alpha is Digital's fault, not ours.

LIMITATIONS:
	Remove the entry for a limitation that we have fixed
	(module qualifiers are fully implemented now, I think).
	Add a brief remark about limitations in type and mode inference.

README:
	Mention man pages, README.Linux, and README.MS-Windows.
	Mention copyright on extras/graphics/Togl-1.2.
	Remove mention of copyright on runtime/timing.c.

INSTALL:
	Fix a mistake (`mmake install_opt_library' should have been
	`mmake install_split_library').
	Update the list of architectures for which we support gcc global
	registers.
1997-07-26 13:53:28 +00:00
Fergus Henderson
8e7e7d11df Add a description of the bug with tests/hard_coded/cc_nondet_disj.m.
Estimated hours taken: 0.25

mercury/BUGS:
	Add a description of the bug with tests/hard_coded/cc_nondet_disj.m.
1996-07-31 21:12:11 +00:00
Andrew Bromage
c07dd863a3 Bug report for relation__atsort.
Estimated hours taken: 0.05

Bug report for relation__atsort.
1996-07-29 06:48:42 +00:00
Fergus Henderson
68d6b9eb88 Correct the description of the problem with the profiler
Estimated hours taken: 0.25

mercury/BUGS:
	Correct the description of the problem with the profiler
	when using shared libraries on the Alpha.
1996-07-26 05:58:46 +00:00
Fergus Henderson
e0f88f77a4 Added a file containing a description of how to report bugs,
Estimated hours taken: 1

mercury/BUGS:
	Added a file containing a description of how to report bugs,
	and a list of the outstanding unfixed bugs.
1996-07-24 17:31:38 +00:00