]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 20 Jul 2009 13:48:01 +0000 (15:48 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 20 Jul 2009 13:48:01 +0000 (15:48 +0200)
2009-07-20  Gary Dismukes  <dismukes@adacore.com>

* exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
for VMS, only rewrite the first component of the associated exception's
aggregate init (as 'V'), and eliminate the bogus rewrites of the second
and third components  that were being replaced with 'M' and 'S'.

2009-07-20  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
Also do not generate error when parsing a spec in CodePeer mode.

2009-07-20  Javier Miranda  <miranda@adacore.com>

* checks.adb (Apply_Access_Check): Avoid checks on availability of
runtime function Offset_To_Top_Ptr when compiling with no tagged
types expansion.
* exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
adding code to the init proc when compiling for VM backends.

2009-07-20  Vincent Celier  <celier@adacore.com>

* switch-m.adb (Normalize_Compiler_Switches): Take into account
switches -gnatw.?

2009-07-20  Thomas Quinot  <quinot@adacore.com>

* sem_dist.adb, exp_dist.adb: Minor reformatting

* Make-generated.in: New file.

* gcc-interface/Make-lang.in: Use Make-generated.in fragment.

From-SVN: r149819

gcc/ada/ChangeLog
gcc/ada/Make-generated.in [new file with mode: 0644]
gcc/ada/checks.adb
gcc/ada/exp_ch3.adb
gcc/ada/exp_dist.adb
gcc/ada/exp_prag.adb
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gnat1drv.adb
gcc/ada/sem_dist.adb
gcc/ada/switch-m.adb

index cacf87c9bcd3ba9796d85e158d0d6bf82f5abd95..33d78b8dd51b3f418da3812d60a492653b8f4140 100644 (file)
@@ -1,3 +1,36 @@
+2009-07-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
+       for VMS, only rewrite the first component of the associated exception's
+       aggregate init (as 'V'), and eliminate the bogus rewrites of the second
+       and third components  that were being replaced with 'M' and 'S'.
+
+2009-07-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
+       Also do not generate error when parsing a spec in CodePeer mode.
+
+2009-07-20  Javier Miranda  <miranda@adacore.com>
+
+       * checks.adb (Apply_Access_Check): Avoid checks on availability of
+       runtime function Offset_To_Top_Ptr when compiling with no tagged
+       types expansion.
+       * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
+       adding code to the init proc when compiling for VM backends.
+
+2009-07-20  Vincent Celier  <celier@adacore.com>
+
+       * switch-m.adb (Normalize_Compiler_Switches): Take into account
+       switches -gnatw.?
+
+2009-07-20  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_dist.adb, exp_dist.adb: Minor reformatting
+
+       * Make-generated.in: New file.
+
+       * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
+
 2009-07-20  Javier Miranda  <miranda@adacore.com>
 
        * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
new file mode 100644 (file)
index 0000000..06cb4a2
--- /dev/null
@@ -0,0 +1,126 @@
+# Dependencies for compiler sources that are generated at build time
+
+# Note: can't use ?= here, not supported by older versions of GNU Make
+
+ifeq ($(origin ADA_GEN_SUBDIR), undefined)
+ADA_GEN_SUBDIR=ada
+endif
+
+ifeq ($(origin CP), undefined)
+CP=cp
+endif
+
+ifeq ($(origin MKDIR), undefined)
+MKDIR=mkdir -p
+endif
+
+ifeq ($(origin MOVE_IF_CHANGE), undefined)
+MOVE_IF_CHANGE=mv -f
+endif
+
+ada_extra_files : $(ADA_GEN_SUBDIR)/treeprs.ads $(ADA_GEN_SUBDIR)/einfo.h $(ADA_GEN_SUBDIR)/sinfo.h $(ADA_GEN_SUBDIR)/nmake.adb \
+       $(ADA_GEN_SUBDIR)/nmake.ads $(ADA_GEN_SUBDIR)/snames.ads $(ADA_GEN_SUBDIR)/snames.adb $(ADA_GEN_SUBDIR)/snames.h
+
+# We delete the files before copying, below, in case they are read-only.
+
+$(ADA_GEN_SUBDIR)/treeprs.ads : $(ADA_GEN_SUBDIR)/treeprs.adt $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/xtreeprs.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/treeprs
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/treeprs/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/treeprs
+       (cd $(ADA_GEN_SUBDIR)/bldtools/treeprs; gnatmake -q xtreeprs ; ./xtreeprs ../../treeprs.ads )
+
+$(ADA_GEN_SUBDIR)/einfo.h : $(ADA_GEN_SUBDIR)/einfo.ads $(ADA_GEN_SUBDIR)/einfo.adb $(ADA_GEN_SUBDIR)/xeinfo.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/einfo
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/einfo/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/einfo
+       (cd $(ADA_GEN_SUBDIR)/bldtools/einfo; gnatmake -q xeinfo ; ./xeinfo ../../einfo.h )
+
+$(ADA_GEN_SUBDIR)/sinfo.h : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/xsinfo.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/sinfo
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/sinfo/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/sinfo
+       (cd $(ADA_GEN_SUBDIR)/bldtools/sinfo; gnatmake -q xsinfo ; ./xsinfo ../../sinfo.h )
+
+$(ADA_GEN_SUBDIR)/snames.h $(ADA_GEN_SUBDIR)/snames.ads $(ADA_GEN_SUBDIR)/snames.adb : $(ADA_GEN_SUBDIR)/stamp-snames ; @true
+$(ADA_GEN_SUBDIR)/stamp-snames : $(ADA_GEN_SUBDIR)/snames.ads-tmpl $(ADA_GEN_SUBDIR)/snames.adb-tmpl $(ADA_GEN_SUBDIR)/snames.h-tmpl $(ADA_GEN_SUBDIR)/xsnamest.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/snamest
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/snamest/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/snamest
+       (cd $(ADA_GEN_SUBDIR)/bldtools/snamest; gnatmake -q xsnamest ; ./xsnamest )
+       $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.ns $(ADA_GEN_SUBDIR)/snames.ads
+       $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nb $(ADA_GEN_SUBDIR)/snames.adb
+       $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nh $(ADA_GEN_SUBDIR)/snames.h
+       touch $(ADA_GEN_SUBDIR)/stamp-snames
+
+$(ADA_GEN_SUBDIR)/nmake.adb : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/nmake.adt $(ADA_GEN_SUBDIR)/xnmake.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/nmake_b
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/nmake_b/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/nmake_b
+       (cd $(ADA_GEN_SUBDIR)/bldtools/nmake_b; gnatmake -q xnmake ; ./xnmake -b ../../nmake.adb )
+
+$(ADA_GEN_SUBDIR)/nmake.ads :  $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/nmake.adt $(ADA_GEN_SUBDIR)/xnmake.adb $(ADA_GEN_SUBDIR)/nmake.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/nmake_s
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/nmake_s/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/nmake_s
+       (cd $(ADA_GEN_SUBDIR)/bldtools/nmake_s; gnatmake -q xnmake ; ./xnmake -s ../../nmake.ads )
+
+ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),)
+OSCONS_CPP=../../../$(DECC) -E /comment=as_is -DNATIVE \
+             -DTARGET='""$(target)""' s-oscons-tmplt.c
+
+OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \
+                 -DTARGET='""$(target)""' s-oscons-tmplt.c ; \
+  ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \
+  ./s-oscons-tmplt.exe > s-oscons-tmplt.s
+
+else
+# GCC_FOR_TARGET has paths relative to the gcc directory, so we need to ajust
+# for running it from $(ADA_GEN_SUBDIR)/bldtools/oscons
+OSCONS_CC=`echo "$(GCC_FOR_TARGET)" \
+  | sed -e 's^\./xgcc^../../../xgcc^' -e 's^-B./^-B../../../^'`
+OSCONS_CPP=$(OSCONS_CC) $(GNATLIBCFLAGS) -E -C \
+  -DTARGET=\"$(target)\" s-oscons-tmplt.c > s-oscons-tmplt.i
+OSCONS_EXTRACT=$(OSCONS_CC) -S s-oscons-tmplt.i
+endif
+
+$(ADA_GEN_SUBDIR)/s-oscons.ads : $(ADA_GEN_SUBDIR)/s-oscons-tmplt.c $(ADA_GEN_SUBDIR)/gsocket.h $(ADA_GEN_SUBDIR)/xoscons.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
+       -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/oscons
+       $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/oscons/,$(notdir $^))
+       $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/oscons
+       (cd $(ADA_GEN_SUBDIR)/bldtools/oscons ; gnatmake -q xoscons ; \
+               $(RM) s-oscons-tmplt.i s-oscons-tmplt.s ; \
+               $(OSCONS_CPP) ; \
+               $(OSCONS_EXTRACT) ; \
+               ./xoscons ; \
+               $(RM) ../../s-oscons.ads ; \
+               $(CP) s-oscons.ads s-oscons.h ../../)
+
+$(ADA_GEN_SUBDIR)/sdefault.adb: $(ADA_GEN_SUBDIR)/stamp-sdefault ; @true
+$(ADA_GEN_SUBDIR)/stamp-sdefault : $(srcdir)/version.c Makefile
+       $(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
+       $(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
+       $(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
+       $(ECHO) "   S0 : constant String := \"$(prefix)/\";" >>tmp-sdefault.adb
+       $(ECHO) "   S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb
+       $(ECHO) "   S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
+       $(ECHO) "   S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb
+       $(ECHO) "   S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
+       $(ECHO) "   function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
+       $(ECHO) "   begin" >>tmp-sdefault.adb
+       $(ECHO) "      return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
+       $(ECHO) "   end Include_Dir_Default_Name;" >>tmp-sdefault.adb
+       $(ECHO) "   function Object_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
+       $(ECHO) "   begin" >>tmp-sdefault.adb
+       $(ECHO) "      return Relocate_Path (S0, S2);" >>tmp-sdefault.adb
+       $(ECHO) "   end Object_Dir_Default_Name;" >>tmp-sdefault.adb
+       $(ECHO) "   function Target_Name return String_Ptr is" >>tmp-sdefault.adb
+       $(ECHO) "   begin" >>tmp-sdefault.adb
+       $(ECHO) "      return new String'(S3);" >>tmp-sdefault.adb
+       $(ECHO) "   end Target_Name;" >>tmp-sdefault.adb
+       $(ECHO) "   function Search_Dir_Prefix return String_Ptr is" >>tmp-sdefault.adb
+       $(ECHO) "   begin" >>tmp-sdefault.adb
+       $(ECHO) "      return Relocate_Path (S0, S4);" >>tmp-sdefault.adb
+       $(ECHO) "   end Search_Dir_Prefix;" >>tmp-sdefault.adb
+       $(ECHO) "end Sdefault;" >> tmp-sdefault.adb
+       $(MOVE_IF_CHANGE) tmp-sdefault.adb $(ADA_GEN_SUBDIR)/sdefault.adb
+       touch $(ADA_GEN_SUBDIR)/stamp-sdefault
index 015256e9dad0d82a5e27f8aa2207770a6b190778..e3bf4b32287ad2377020ef70dfb267e857a0d850 100644 (file)
@@ -454,7 +454,8 @@ package body Checks is
       --  No check if accessing the Offset_To_Top component of a dispatch
       --  table. They are safe by construction.
 
-      if Present (Etype (P))
+      if Tagged_Type_Expansion
+        and then Present (Etype (P))
         and then RTU_Loaded (Ada_Tags)
         and then RTE_Available (RE_Offset_To_Top_Ptr)
         and then Etype (P) = RTE (RE_Offset_To_Top_Ptr)
index 0c55bb32e05fc432d9ef32449fe0e91dbd5bcffe..3cdf30b81a875c93071ed929aff6f9653504a1b1 100644 (file)
@@ -2482,11 +2482,10 @@ package body Exp_Ch3 is
 
          if List_Length (Body_Stmts) = 1
            and then Nkind (First (Body_Stmts)) = N_Null_Statement
-           and then VM_Target /= CLI_Target
+           and then VM_Target = No_VM
          then
             --  Even though the init proc may be null at this time it might get
-            --  some stuff added to it later by the CIL backend, so always keep
-            --  it when VM_Target = CLI_Target.
+            --  some stuff added to it later by the VM backend.
 
             Set_Is_Null_Init_Proc (Proc_Id);
          end if;
index 14d470c1f01d831e44d6fa76d45a5b2c75ad4a92..04982a30d13d00666ae691449cf4e4dc3d3720ed 100644 (file)
@@ -6817,11 +6817,6 @@ package body Exp_Dist is
          --      and put the result as well as the exception occurrence in the
          --      output stream;
 
-         --    - a dummy package with an empty spec and a body made of an
-         --      elaboration part, whose job is to register the receiving
-         --      part of this RCI package on the name server. This is done
-         --      by calling System.Partition_Interface.Register_Receiving_Stub.
-
          Build_RPC_Receiver_Body (
            RPC_Receiver => Pkg_RPC_Receiver,
            Request      => Request,
@@ -7139,7 +7134,7 @@ package body Exp_Dist is
          Append_To (Register_Pkg_Actuals,
            New_Occurrence_Of (All_Calls_Remote_E, Loc));
 
-         --  ???
+         --  Finally call Register_Pkg_Receiving_Stub with the above parameters
 
          Append_To (Stmts,
            Make_Procedure_Call_Statement (Loc,
index 529fadebdb90952f9e5a4eb364e71937f3c67086..6bddf9670b9176290c5500cf8127e1f63f85a3c5 100644 (file)
@@ -539,15 +539,14 @@ package body Exp_Prag is
                Excep_Internal : constant Node_Id :=
                                  Make_Defining_Identifier
                                   (Loc, New_Internal_Name ('V'));
-               Export_Pragma  : Node_Id;
-               Excep_Alias    : Node_Id;
-               Excep_Object   : Node_Id;
-               Excep_Image : String_Id;
-               Exdata      : List_Id;
-               Lang1       : Node_Id;
-               Lang2       : Node_Id;
-               Lang3       : Node_Id;
-               Code        : Node_Id;
+
+               Export_Pragma : Node_Id;
+               Excep_Alias   : Node_Id;
+               Excep_Object  : Node_Id;
+               Excep_Image   : String_Id;
+               Exdata        : List_Id;
+               Lang_Char     : Node_Id;
+               Code          : Node_Id;
 
             begin
                if Present (Interface_Name (Id)) then
@@ -561,30 +560,16 @@ package body Exp_Prag is
                Exdata := Component_Associations (Expression (Parent (Id)));
 
                if Is_VMS_Exception (Id) then
-                  Lang1 := Next (First (Exdata));
-                  Lang2 := Next (Lang1);
-                  Lang3 := Next (Lang2);
+                  Lang_Char := Next (First (Exdata));
+
+                  --  Change the one-character language designator to 'V'
 
-                  Rewrite (Expression (Lang1),
+                  Rewrite (Expression (Lang_Char),
                     Make_Character_Literal (Loc,
                       Chars => Name_uV,
                       Char_Literal_Value =>
                         UI_From_Int (Character'Pos ('V'))));
-                  Analyze (Expression (Lang1));
-
-                  Rewrite (Expression (Lang2),
-                    Make_Character_Literal (Loc,
-                      Chars => Name_uM,
-                      Char_Literal_Value =>
-                        UI_From_Int (Character'Pos ('M'))));
-                  Analyze (Expression (Lang2));
-
-                  Rewrite (Expression (Lang3),
-                    Make_Character_Literal (Loc,
-                      Chars => Name_uS,
-                      Char_Literal_Value =>
-                        UI_From_Int (Character'Pos ('S'))));
-                  Analyze (Expression (Lang3));
+                  Analyze (Expression (Lang_Char));
 
                   if Exception_Code (Id) /= No_Uint then
                      Code :=
index 521a72120f1132058fe0a5943113d8cc91d9bec7..5ccf6a0077efa8fcaaaf10a15dcab2a4b25c91be 100644 (file)
@@ -924,9 +924,6 @@ gnatstage2: force
 
 # Ada language specific files.
 
-ada_extra_files : ada/treeprs.ads ada/einfo.h ada/sinfo.h ada/nmake.adb \
-       ada/nmake.ads ada/snames.ads ada/snames.adb ada/snames.h
-
 ada/b_gnat1.c : $(GNAT1_ADA_OBJS)
        $(GNATBIND) -C $(ADA_INCLUDES) -o ada/b_gnat1.c -n ada/gnat1drv.ali
 ada/b_gnat1.o : ada/b_gnat1.c
@@ -935,112 +932,13 @@ ada/b_gnatb.c : $(GNATBIND_OBJS) ada/gnatbind.o ada/interfac.o
        $(GNATBIND) -C $(ADA_INCLUDES) -o ada/b_gnatb.c ada/gnatbind.ali
 ada/b_gnatb.o : ada/b_gnatb.c
 
-# We delete the files before copying, below, in case they are read-only.
-ada/treeprs.ads : ada/treeprs.adt ada/sinfo.ads ada/xtreeprs.adb
-       -$(MKDIR) ada/bldtools/treeprs
-       $(RM) $(addprefix ada/bldtools/treeprs/,$(notdir $^))
-       $(CP) $^ ada/bldtools/treeprs
-       (cd ada/bldtools/treeprs && $(GNATMAKE) -q xtreeprs && ./xtreeprs ../../treeprs.ads )
-
-ada/einfo.h : ada/einfo.ads ada/einfo.adb ada/xeinfo.adb
-       -$(MKDIR) ada/bldtools/einfo
-       $(RM) $(addprefix ada/bldtools/einfo/,$(notdir $^))
-       $(CP) $^ ada/bldtools/einfo
-       (cd ada/bldtools/einfo && $(GNATMAKE) -q xeinfo && ./xeinfo ../../einfo.h )
-
-ada/sinfo.h : ada/sinfo.ads ada/xsinfo.adb
-       -$(MKDIR) ada/bldtools/sinfo
-       $(RM) $(addprefix ada/bldtools/sinfo/,$(notdir $^))
-       $(CP) $^ ada/bldtools/sinfo
-       (cd ada/bldtools/sinfo && $(GNATMAKE) -q xsinfo && ./xsinfo ../../sinfo.h )
-
-ada/snames.h ada/snames.ads ada/snames.adb : ada/stamp-snames ; @true
-ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada/xsnamest.adb ada/xutil.ads ada/xutil.adb
-       -$(MKDIR) ada/bldtools/snamest
-       $(RM) $(addprefix ada/bldtools/snamest/,$(notdir $^))
-       $(CP) $^ ada/bldtools/snamest
-       (cd ada/bldtools/snamest; gnatmake -q xsnamest ; ./xsnamest )
-       $(srcdir)/../move-if-change ada/bldtools/snamest/snames.ns ada/snames.ads
-       $(srcdir)/../move-if-change ada/bldtools/snamest/snames.nb ada/snames.adb
-       $(srcdir)/../move-if-change ada/bldtools/snamest/snames.nh ada/snames.h
-       touch ada/stamp-snames
-
-ada/nmake.adb : ada/sinfo.ads ada/nmake.adt ada/xnmake.adb ada/xutil.ads ada/xutil.adb
-       -$(MKDIR) ada/bldtools/nmake_b
-       $(RM) $(addprefix ada/bldtools/nmake_b/,$(notdir $^))
-       $(CP) $^ ada/bldtools/nmake_b
-       (cd ada/bldtools/nmake_b && $(GNATMAKE) -q xnmake && ./xnmake -b ../../nmake.adb )
-
-ada/nmake.ads :  ada/sinfo.ads ada/nmake.adt ada/xnmake.adb ada/nmake.adb ada/xutil.ads ada/xutil.adb
-       -$(MKDIR) ada/bldtools/nmake_s
-       $(RM) $(addprefix ada/bldtools/nmake_s/,$(notdir $^))
-       $(CP) $^ ada/bldtools/nmake_s
-       (cd ada/bldtools/nmake_s && $(GNATMAKE) -q xnmake && ./xnmake -s ../../nmake.ads )
-
-ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),)
-OSCONS_CPP=../../../$(DECC) -E /comment=as_is -DNATIVE \
-             -DTARGET='""$(target)""' s-oscons-tmplt.c
-
-OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \
-                 -DTARGET='""$(target)""' s-oscons-tmplt.c ; \
-  ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \
-  ./s-oscons-tmplt.exe > s-oscons-tmplt.s
-
-else
-OSCONS_CC=`echo "$(GCC_FOR_TARGET)" \
-  | sed -e 's^\./xgcc^../../../xgcc^' -e 's^-B./^-B../../../^'`
-OSCONS_CPP=$(OSCONS_CC) $(CFLAGS_FOR_TARGET) -E -C \
-  -DTARGET=\"$(target)\" s-oscons-tmplt.c > s-oscons-tmplt.i
-OSCONS_EXTRACT=$(OSCONS_CC) $(CFLAGS_FOR_TARGET) -S s-oscons-tmplt.i
-endif
-
-ada/s-oscons.ads : ada/s-oscons-tmplt.c ada/gsocket.h ada/xoscons.adb ada/xutil.ads ada/xutil.adb
-       -$(MKDIR) ada/bldtools/oscons
-       $(RM) $(addprefix ada/bldtools/oscons/,$(notdir $^))
-       $(CP) $^ ada/bldtools/oscons
-       (cd ada/bldtools/oscons ; gnatmake -q xoscons ; \
-               $(RM) s-oscons-tmplt.i s-oscons-tmplt.s ; \
-               $(OSCONS_CPP) ; \
-               $(OSCONS_EXTRACT) ; \
-               ./xoscons ; \
-               $(RM) ../../s-oscons.ads ; \
-               $(CP) s-oscons.ads s-oscons.h ../../)
+include $(srcdir)/ada/Make-generated.in
 
 update-sources : ada/treeprs.ads ada/einfo.h ada/sinfo.h ada/nmake.adb \
        ada/nmake.ads
        $(RM) $(addprefix $(srcdir)/ada/,$(notdir $^))
        $(CP) $^ $(srcdir)/ada
 
-ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/version.c Makefile
-       $(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
-       $(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
-       $(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
-       $(ECHO) "   S0 : constant String := \"$(prefix)/\";" >>tmp-sdefault.adb
-       $(ECHO) "   S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb
-       $(ECHO) "   S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
-       $(ECHO) "   S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb
-       $(ECHO) "   S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
-       $(ECHO) "   function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
-       $(ECHO) "   begin" >>tmp-sdefault.adb
-       $(ECHO) "      return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
-       $(ECHO) "   end Include_Dir_Default_Name;" >>tmp-sdefault.adb
-       $(ECHO) "   function Object_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
-       $(ECHO) "   begin" >>tmp-sdefault.adb
-       $(ECHO) "      return Relocate_Path (S0, S2);" >>tmp-sdefault.adb
-       $(ECHO) "   end Object_Dir_Default_Name;" >>tmp-sdefault.adb
-       $(ECHO) "   function Target_Name return String_Ptr is" >>tmp-sdefault.adb
-       $(ECHO) "   begin" >>tmp-sdefault.adb
-       $(ECHO) "      return new String'(S3);" >>tmp-sdefault.adb
-       $(ECHO) "   end Target_Name;" >>tmp-sdefault.adb
-       $(ECHO) "   function Search_Dir_Prefix return String_Ptr is" >>tmp-sdefault.adb
-       $(ECHO) "   begin" >>tmp-sdefault.adb
-       $(ECHO) "      return Relocate_Path (S0, S4);" >>tmp-sdefault.adb
-       $(ECHO) "   end Search_Dir_Prefix;" >>tmp-sdefault.adb
-       $(ECHO) "end Sdefault;" >> tmp-sdefault.adb
-       $(srcdir)/../move-if-change tmp-sdefault.adb ada/sdefault.adb
-       touch ada/stamp-sdefault
-
 ada/sdefault.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
    ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/hostparm.ads ada/namet.ads \
    ada/opt.ads ada/osint.ads ada/output.ads ada/sdefault.ads ada/sdefault.adb \
index c77d74fb2494d74f3f114c781b4a72b60ab97118..3117f9961649447e8413933511660f003c444c27 100644 (file)
@@ -164,10 +164,13 @@ procedure Gnat1drv is
 
          Dynamic_Elaboration_Checks := False;
 
-         --  Suppress overflow checks since this is handled implicitely by
-         --  CodePeer. Enable all other language checks.
+         --  Suppress overflow checks and access checks since they are handled
+         --  implicitely by CodePeer. Enable all other language checks.
 
-         Suppress_Options       := (Overflow_Check => True, others => False);
+         Suppress_Options :=
+           (Overflow_Check => True,
+            Access_Check   => True,
+            others         => False);
          Enable_Overflow_Checks := False;
 
          --  Kill debug of generated code, since it messes up sloc values
@@ -749,6 +752,11 @@ begin
       elsif Main_Kind in N_Generic_Renaming_Declaration then
          Back_End_Mode := Generate_Object;
 
+      --  It's not an error to generate SCIL for e.g. a spec which has a body
+
+      elsif CodePeer_Mode then
+         Back_End_Mode := Generate_Object;
+
       --  In all other cases (specs which have bodies, generics, and bodies
       --  where subunits are missing), we cannot generate code and we generate
       --  a warning message. Note that generic instantiations are gone at this
index 39db631e0d1f968c2a836a0a7a374d660bac2d7a..111a9d2d0d6737baa5869a2713fe09b27fa17ae2 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2008, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -350,9 +350,7 @@ package body Sem_Dist is
 
       --  Build the function call which will replace the attribute
 
-      if Is_Remote_Call_Interface (Ety)
-        or else Is_Shared_Passive (Ety)
-      then
+      if Is_Remote_Call_Interface (Ety) or else Is_Shared_Passive (Ety) then
          Get_Pt_Id_Call :=
            Make_Function_Call (Loc,
              Name => Get_Pt_Id,
index d7ed40da0d2888b65ef799deaeb62d9ea82c0af6..8456ea32b5890a988a5316aec26ad07b51e903d1 100644 (file)
@@ -84,7 +84,7 @@ package body Switch.M is
          if Switches = null then
             Switches := new Argument_List (1 .. Initial_Number_Of_Switches);
 
-         --  otherwise, if Switches is full, extend it
+         --  Otherwise, if Switches is full, extend it
 
          elsif Last = Switches'Last then
             declare
@@ -407,6 +407,8 @@ package body Switch.M is
                         end if;
                      end if;
 
+                     --  Loop through remaining switch characters in string
+
                      while Ptr <= Max loop
                         C := Switch_Chars (Ptr);
                         Ptr := Ptr + 1;
@@ -436,7 +438,16 @@ package body Switch.M is
                                 (Storing (Storing'First .. Last_Stored));
                            end if;
 
-                           --  All other switches are -gnatxx
+                        --  --gnatx.x
+
+                        elsif C = '.' and then Ptr <= Max then
+                           Storing (First_Stored + 1) := '.';
+                           Storing (First_Stored + 2) := Switch_Chars (Ptr);
+                           Ptr := Ptr + 1;
+                           Add_Switch_Component
+                             (Storing (Storing'First .. First_Stored + 2));
+
+                        --  All other switches are -gnatxx
 
                         else
                            Storing (First_Stored + 1) := C;
@@ -502,8 +513,7 @@ package body Switch.M is
    end Normalize_Compiler_Switches;
 
    function Normalize_Compiler_Switches
-     (Switch_Chars : String)
-      return         Argument_List
+     (Switch_Chars : String) return Argument_List
    is
       Last : Natural;
 
@@ -515,7 +525,6 @@ package body Switch.M is
       else
          return Global_Switches (Global_Switches'First .. Last);
       end if;
-
    end Normalize_Compiler_Switches;
 
    ------------------------