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.

Reply via email to