From 81b6ae1eabba39429cf94dbdae86614aafa7b960 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Mon, 11 Jun 2018 09:17:19 +0000 Subject: [PATCH] [Ada] Refactor compilation of Ada units in Makefile.rtl 2018-06-11 Arnaud Charlet gcc/ada/ * Makefile.rtl: Compile Ada files with $(ADAC) instead of $(CC). From-SVN: r261404 --- gcc/ada/ChangeLog | 4 ++++ gcc/ada/Makefile.rtl | 41 +++++++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 481f64b1333..53934c4fcab 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2018-06-11 Arnaud Charlet + + * Makefile.rtl: Compile Ada files with $(ADAC) instead of $(CC). + 2018-06-11 Hristian Kirtchev * exp_ch11.adb, exp_unst.adb, inline.adb, sem_ch12.adb, sem_util.adb: diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 34988c8591a..f69170d9fe3 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -17,11 +17,14 @@ #along with GCC; see the file COPYING3. If not see #. -# This makefile fragment is included in the ada Makefile (both Unix -# and Windows). +# This makefile fragment is included in the ada Makefile. -# Its purpose is to allow the separate maintainence of the list of -# GNATRTL objects, which frequently changes. +# Its purpose is to allow the separate maintenance of the list of +# GNATRTL objects and target pairs, which frequently changes. + +ifndef ADAC +ADAC=$(CC) +endif # Objects needed only for tasking GNATRTL_TASKING_OBJS= \ @@ -2682,15 +2685,16 @@ setup-rts: force # optimization. We don't want inlining, either. s-traceb.o : s-traceb.adb s-traceb.ads - $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(NO_INLINE_ADAFLAGS) \ - $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ + $(NO_INLINE_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< \ + $(OUTPUT_OPTION) # compile s-tasdeb.o without optimization and with debug info so that it is # always possible to set conditional breakpoints on tasks. s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads - $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ - $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ + $< $(OUTPUT_OPTION) # force no function reordering on a-except.o because of the exclusion bounds # mechanism (see the source file for more detailed information). @@ -2699,35 +2703,36 @@ s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads # use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. a-except.o : a-except.adb a-except.ads - $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(NO_INLINE_ADAFLAGS) \ - $(NO_REORDER_ADAFLAGS) -O1 $(ADA_INCLUDES) $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ + $(NO_INLINE_ADAFLAGS) $(NO_REORDER_ADAFLAGS) -O1 $(ADA_INCLUDES) \ + $< $(OUTPUT_OPTION) # compile s-excdeb.o without optimization and with debug info to let the # debugger set breakpoints and inspect subprogram parameters on exception # related events. s-excdeb.o : s-excdeb.adb s-excdeb.ads s-except.ads - $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ - $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \ + $(ADA_INCLUDES) $< $(OUTPUT_OPTION) # force debugging information on s-assert.o so that it is always # possible to set breakpoint on assert failures. s-assert.o : s-assert.adb s-assert.ads - $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ - $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ + $< $(OUTPUT_OPTION) # force debugging information on a-tags.o so that the debugger can find # the description of Ada.Tags.Type_Specific_Data. a-tags.o : a-tags.adb a-tags.ads - $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ - $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ + $< $(OUTPUT_OPTION) # force no sibling call optimization on s-memory.o to avoid turning the # tail recursion in Alloc into a loop that confuses branch prediction. s-memory.o : s-memory.adb s-memory.ads - $(CC) -c $(ALL_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ - $< $(OUTPUT_OPTION) + $(ADAC) -c $(ALL_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ + $< $(OUTPUT_OPTION) -- 2.30.2