A `--drdr` run shouldn't stop because a discoevered file
disappears (such as one generated temporarily by a test).
Also, use new style for some errors.
This removes the need for the cache of type variables for instantiating
dotted variables, because we instantiate the uses at once.
Closes PR 14576.
Closes PR 14577.
Closes PR 14579.
Closes PR 14580.
The previous build attempted to cooperate with Valgrind in a way that
truncates a 64-bit address to a 32-bit address. Disable Valgrind
cooperation. (Other builds seem ok for now, but future rebuilds will
disable Valgrind cooperation for them, too.)
Visual Studio 2008 is still supported by "9.sln" projects and
".vcproj" files, while ".sln" and ".vcxproj" work for 2010, 2012,
and 2013. The "build.bat" script detects which version of
Visual Studio is active and uses the appropriate ".sln" files.
The bad news is that we have two copies of each project until we
decide to drop support for Visual Studio 2008. (We had two copies
before, but one copy was unmaintained.) The good news is that
we have only 2 copies of each project, because recent versions of
Visual Studio are willing to use 2010 projects as-is.
Change project and related files to text instead of always CRLF,
because that seems to be ok for modern Windows tools.
This reverts commit d664ee1430.
This commit broke recursive-contract because it disallowed any sharing,
not just cycles. And fixing this in the obvious way leads to about a 20x
slowdown (compared to v6.0's recursive-contract) on the micro-benchmark
mentioned in the original change to recursive contract.
So, for now, just go back to accepting cycles.
For a few reasons:
- this seems to fit better with how TR already works
- cyclic values are something that, at least in my experience,
abstractions are not generally equipped to handle (and,
perhaps worse, don't seem all that useful when weighed against
the non-termination problems that can come up)
- there was a suspicious case in the projection where, when a
cycle was detected the projection just returned its argument
(the place in the diff for this commit where there is now a
call to raise-blame-error). I couldn't get this to cause problems,
but this might just be because I'm not smart enough
related to PR 14559