On 06/25/2014 10:03 AM, Andrew Sutton wrote:
I did a full 3-stage bootstrap which is the default these days.
I'll try --disable-bootstrap and see what happens.
I just did a full bootstrap build and got the same errors. The errors
are correct for C++11, which was enabled by default in this branch.
IIRC, aggregate initialization requires the initializer-clause to
match the structure exactly (or at least not omit any const
initializers?)
I think this was something Gaby wanted when we created the branch, but
I'm not sure it's worth keeping because of the bootstrapping errors. I
could reset the default dialect to 98 and turn on concepts iff 1y is
enabled, or I could turn on 1y if -fconcepts is enabled.
Thoughts?
Andrew
I did --disable-bootstrap and it worked a charm.
I, for one, would like gcc to bootstrap with c++11/c++14. I think we
should be starting to shake down that path. I'm probably not alone in this.
On the other hand, I don't think c++-concepts branch should be the
leader on this. We have our work cut out for us without fighting these
bugs. Maybe a c++11-bootstrap branch could be started to work the c++1*
bootstrap out.
As long as gcc defaults to bootstrappng with c++98 I think we should do
that if it won't preclude concepts work. Put it this way: I want
concepts in trunk faster than I think we could get c++11 bootstrapping
gcc working and set as default. I could be wrong - maybe
c++11-bootstrap won't be that hard.
As for flags. I vote for concepts switched on for -std=c++1y. As for
-fconcepts turning on c++1y I'm less sure. We could allow concepts for
C++11 (I don't think c++98 would work because of constexpr and maybe new
template syntax). I hadn't thought about that. Personally I leave
-std=c++14 and use all the things... ;-)
I'm CCing Jason.