Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-27 Thread Eric Botcazou
Interesting. I've been testing my -Wc++-compat patches with full bootstraps including Ada, but I just looked at my make log and it does indeed appear that -Wc++-compat doesn't make it onto the Ada files. It seems to be because of this line in ada/gcc-interface/Make-lang.in: ada-warn =

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-27 Thread Laurent GUERBY
On Fri, 2009-06-26 at 12:52 -0700, Ian Lance Taylor wrote: Arnaud Charlet char...@adacore.com writes: Switching gnatbind to generate Ada if there's nothing against it might be a better solution since stage1 uses the system gnatbind, so a patch to current gnatbind will not help (unless we

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-27 Thread Eric Botcazou
This was the only va_arg usage, may be we should apply it on trunk too as the patched version is supposed to work for both C and C++. Yes, but I'm testing a patch for trunk with more changes. -- Eric Botcazou

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-27 Thread Laurent GUERBY
On Sat, 2009-06-27 at 13:25 +0200, Eric Botcazou wrote: This was the only va_arg usage, may be we should apply it on trunk too as the patched version is supposed to work for both C and C++. Yes, but I'm testing a patch for trunk with more changes. For reference here is my current draft

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-27 Thread Laurent GUERBY
On Sat, 2009-06-27 at 13:51 +0200, Laurent GUERBY wrote: On Sat, 2009-06-27 at 13:25 +0200, Eric Botcazou wrote: This was the only va_arg usage, may be we should apply it on trunk too as the patched version is supposed to work for both C and C++. Yes, but I'm testing a patch for trunk

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-27 Thread Paolo Bonzini
CC=../../xgcc -B../../ \ + LINKER=$(CXX) \ CFLAGS=$(CFLAGS) $(WARN_CFLAGS) \ I think you should rather do CC=../../xgcc -B../../ \ + CXX=../../g++ -B../../ \ CFLAGS=$(CFLAGS) $(WARN_CFLAGS) \ + CXXFLAGS=$(CXXFLAGS) $(WARN_CFLAGS) \ and copy the

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Laurent GUERBY
On Thu, 2009-06-25 at 15:28 -0700, Ian Lance Taylor wrote: Richard Guenther richard.guent...@gmail.com writes: I guess this has to do with reserved word conflict on new: tree substitute_in_type (tree t, tree f, tree r) { tree new; Do you have some way to deal with this?

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Ian Lance Taylor
Laurent GUERBY laur...@guerby.net writes: What is the way forward: fixing in some way the Ada Makefile? Or doing search and replace in case of keyword/identifier conflict? If search/replace, do AdaCore people have an opinion on the best way to proceed to avoid maintenance issues in the

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Arnaud Charlet
What is the way forward: fixing in some way the Ada Makefile? Or doing search and replace in case of keyword/identifier conflict? If search/replace, do AdaCore people have an opinion on the best way to proceed to avoid maintenance issues in the various trees? (eg: commit of those trivial

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Ian Lance Taylor
Laurent GUERBY laur...@guerby.net writes: Next issue is that gnat1 link fails on many missing symbols: ada/b_gnat1.o: In function `adainit()': ada/b_gnat1.c:287: undefined reference to `system__soft_links___elabb()' ada/b_gnat1.c:291: undefined reference to

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Arnaud Charlet
I don't really know how the Ada compiler works, but it looks like this code is generated by the gnatbind program. I bet it would work if gnatbind -C emitted this at the start of the output: #ifdef __cplusplus extern C { #endif and emitted this at the end: #ifdef __cplusplus }

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Robert Dewar
Ian Lance Taylor wrote: I think the function to change is Gen_Output_File_C in bindgen.adb. I don't really see any urgency for this change, yes gnatbind has the option to generate C, but it is not the normal path, and only of use in unusual circumstances, so I don't really see the need for

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Arnaud Charlet
I don't really see any urgency for this change, yes gnatbind has the option to generate C, but it is not the normal path, and only of use in unusual circumstances, so I don't really see the need for this output to be C++ compatible. The documentation doesn't claim this after all. We're

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Ian Lance Taylor
Robert Dewar de...@adacore.com writes: Ian Lance Taylor wrote: I think the function to change is Gen_Output_File_C in bindgen.adb. I don't really see any urgency for this change, yes gnatbind has the option to generate C, but it is not the normal path, and only of use in unusual

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Robert Dewar
Ian Lance Taylor wrote: gnatbind -C appears to be used when bootstrapping gcc to generate .c files. With --enable-build-with-cxx, those .c files will be compiled with a C++ compiler. The symbols emitted by that compilation need to be linkable with the symbols emitted when compiling Ada code,

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Laurent GUERBY
On Fri, 2009-06-26 at 14:07 -0400, Robert Dewar wrote: Ian Lance Taylor wrote: gnatbind -C appears to be used when bootstrapping gcc to generate .c files. With --enable-build-with-cxx, those .c files will be compiled with a C++ compiler. The symbols emitted by that compilation need to

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Arnaud Charlet
Switching gnatbind to generate Ada if there's nothing against it might be a better solution since stage1 uses the system gnatbind, so a patch to current gnatbind will not help (unless we push it to branches and tell user to install a fairly recent gnatbind first). This does create a bootstrap

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-26 Thread Ian Lance Taylor
Arnaud Charlet char...@adacore.com writes: Switching gnatbind to generate Ada if there's nothing against it might be a better solution since stage1 uses the system gnatbind, so a patch to current gnatbind will not help (unless we push it to branches and tell user to install a fairly recent

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-25 Thread Laurent GUERBY
On Thu, 2009-06-25 at 13:32 -0700, Ian Lance Taylor wrote: I am pleased to report that if you configure gcc with --enable-build-with-cxx, which causes the core compiler to be built using a C++ compiler, a bootstrap on x86_64-unknown-linux-gnu now completes. I would like to encourage people

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-25 Thread Richard Guenther
On Thu, Jun 25, 2009 at 11:50 PM, Laurent GUERBYlaur...@guerby.net wrote: On Thu, 2009-06-25 at 13:32 -0700, Ian Lance Taylor wrote: I am pleased to report that if you configure gcc with --enable-build-with-cxx, which causes the core compiler to be built using a C++ compiler, a bootstrap on

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-25 Thread Ian Lance Taylor
Richard Guenther richard.guent...@gmail.com writes: I guess this has to do with reserved word conflict on new: tree substitute_in_type (tree t, tree f, tree r) {  tree new; Do you have some way to deal with this? Use a non-reserved identifier. I guess on trunk Ada doesn't build

Re: Phase 1 of gcc-in-cxx now complete (Ada)

2009-06-25 Thread Ian Lance Taylor
Laurent GUERBY laur...@guerby.net writes: Wanting to test Ada on the branch, after checkout I did on x86_64-linux: ../gcc/configure --enable-languages=c,c++,ada --enable-__cxa_atexit --disable-nls --enable-threads=posix --with-mpfr=/opt/cfarm/mpfr-2.4.1/ --with-gmp=/opt/cfarm/gmp-4.2.4/