[patch] [gsoc] [gimplefe] GIMPLE FE Project
David Malcolm
dmalcolm@redhat.com
Mon Aug 22 21:27:00 GMT 2016
On Tue, 2016-08-23 at 00:10 +0530, Prasad Ghangal wrote:
> On 22 August 2016 at 16:55, Trevor Saunders <tbsaunde@tbsaunde.org>
> wrote:
> > On Sun, Aug 21, 2016 at 10:35:17PM +0530, Prasad Ghangal wrote:
[...]
> > @@ -228,6 +228,12 @@ struct GTY(()) function {
> > /* GIMPLE body for this function. */
> > gimple_seq gimple_body;
> >
> > + /* GIMPLEFE pass to start with */
> > + opt_pass *pass_startwith = NULL;
I'm guessing you've only compiled in C++11 mode? because I'm pretty
> > sure
> > you are using a C++11 feature here (the default member value you
> > assign).
>
[...]
> I am not getting what did you mean by C++11 mode (I am not explicitly
Prasad: what compiler version are you using to build your patched gcc?
My guess is that you're using gcc 6 to build.
In gcc 6 we changed the default C++ mode from -std=gnu++98
to -std=gnu++14. See:
https://gcc.gnu.org/gcc-6/porting_to.html#gxx14
I believe the syntax that Trevor spotted is only available in C++11
onwards:
$ cat test.cc
struct foo
{
int field = 42;
};
With the default for gcc 6:
$ gcc -c test.cc -std=c++14
it has no problems, whereas with the default for gcc 5 and earlier:
$ gcc -c test.cc -std=gnu++98
test.cc:3:15: warning: non-static data member initializers only
available with -std=c++11 or -std=gnu++11
int field = 42;
^~
So it's probably worth attempting to bootstrap with an older gcc as the
starting compiler.
Hope this is helpful
Dave
More information about the Gcc-patches
mailing list