On 08/16/2010 04:11 PM, Don wrote:
Brad Roberts wrote:
On 8/15/2010 12:54 PM, Walter Bright wrote:
Nick Sabalausky wrote:
This may be a pain to do, but you could narrow it down from the other
direction: recompile DMD from various trunk revisions between 2.046
and 2.047
and see which actual commit created the problem.
Try mixing/matching the compiler & Phobos to see which one of those
caused the
issue.
While I agree that it's worth trying a bisection -- it's generally
really quick
and easy to do (the compiler and libraries build rather fast -- about
a minute
for me). It can be a very useful technique for finding where bugs were
introduced.
That said, it's likely to be rather difficult for this release due to
the number
of fixes in the compiler that the library requires and for the periods
during
which the two didn't work together.
Do try it.. worst case is you've wasted a little bit of time. Best
case you've
found the cause of the bug.
Later,
Brad
The latest compiler should work with the old Phobos, except that it will
complain about the a&b==c bugs. That's simple to do, it just involves
copying the 2.048 compiler onto the 2.047 release. Knowing if it is the
compiler or Phobos/druntime would be an enormous help.
Found it. It took me 7 iterations of binary search across the svn
repositories for dmd, druntime and phobos. The commit causing the issue
is 505 in dmd. It is related to structs returning *this, which indeed i
do in my maths structs.
Now, i don't know if the bug is in dmd or in my code, but i suspect that
something is being treated as a reference when it shouldn't. Should i
add an issue even if i am not sure?
j.