http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47950

--- Comment #3 from Adam Butcher <dev.lists at jessamine dot co.uk> 2011-03-02 
16:30:30 UTC ---
(In reply to comment #1)
> 
> Rolling back to my previous HEAD reveals that the reduced example above still
> fails whereas the code I was originally trying to build worked.  So obviously
> my reduction has changed something.
>
Okay.  My original reduction was okay but I also added additional examples that
yielded the same assertion failure (obviously via different route!).  The
function-call case following is the one that causes the failure in
non-dependent use of boost.foreach on the latest 4.6 HEAD.  It compiles okay on
my 4.6 build from last week (prior to 170488).

   if (from_int<int> x = via_function(7))
      ;

The constructor cases below have failed for a much longer time (though are okay
in 4.5). 

   if (empty<int> x = empty<int>())
      ;
   if (from_int<int> x = from_int<int>(7))
      ;

So the only recent regression is the function-call case.  But all cases are all
still legitimate 4.5 -> 4.6 regressions.

Before rev 170488 (25th Feb) the function-call case compiled.

I don't know when the constructor cases stopped working -- I went quite a way
back and they still failed.

Reply via email to