Hi,

My earlier patch that formally desclared pretty_printer as polymorphic
uncovered a latent bug in the existing build machinery of the Ada
component.  It had been using xgcc to link against C++ source files.  It
should use xg++ instead.

This patch fixes that by introducing GXX_LINK which is GCC_LINK except
that CXX (e.g. xg++) instead of CC (e.g. xgcc) is invoked.

Eric, are there other executables that need to be linked with GXX_LINK
too but aren't triggered yet? 

Thanks,

-- Gaby

ada/
2013-08-25  Gabriel Dos Reis  <g...@integrable-solutions.net>

        * gcc-interface/Makefile.in (GXX_LINK): New.  Same as GCC_LINK but
        with xgcc replaced with xgcc.
        (common-tools): Use it.
        (../../gnatmake$(exeext)): Likewise.
        (../../gnatlink$(exeext)): Likewise.

Index: ada/gcc-interface/Makefile.in
===================================================================
--- ada/gcc-interface/Makefile.in       (revision 201977)
+++ ada/gcc-interface/Makefile.in       (working copy)
@@ -2398,6 +2398,7 @@
        "GNATBIND=$(GNATBIND)"
 
 GCC_LINK=$(CC) $(GCC_LINK_FLAGS) $(ADA_INCLUDES)
+GXX_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES)
 
 # Build directory for the tools. Let's copy the target-dependent
 # sources using the same mechanism as for gnatlib. The other sources are
@@ -2462,23 +2463,23 @@
          gnatchop gnatcmd gnatkr gnatls gnatprep gnatxref gnatfind gnatname \
          gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS)
        $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatchop -o ../../gnatchop$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatkr -o ../../gnatkr$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatls -o ../../gnatls$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatprep -o ../../gnatprep$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatxref -o ../../gnatxref$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatfind -o ../../gnatfind$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatname -o ../../gnatname$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
        $(GNATLINK) -v gnatclean -o ../../gnatclean$(exeext) \
-               --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+               --GCC="$(GXX_LINK)" $(TOOLS_LIBS)
 
 ../../gnatsym$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
@@ -2519,11 +2520,11 @@
 
 # Likewise for the tools
 ../../gnatmake$(exeext): $(P) b_gnatm.o $(GNATMAKE_OBJS)
-       +$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
+       +$(GXX_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
                    $(TOOLS_LIBS)
 
 ../../gnatlink$(exeext): $(P) b_gnatl.o $(GNATLINK_OBJS)
-       +$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
+       +$(GXX_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
                    $(TOOLS_LIBS)
 
 ../stamp-gnatlib-$(RTSDIR):

Reply via email to